O Que é o TogetherJS?
TogetherJS é um serviço para o seu site que torna surpreendentemente fácil colaborar em tempo real.
usando o TogetherJS, duas pessoas podem interagir na mesma página, vendo os cursores, edições e navegando juntos em um site. O serviço TogetherJS é incluído pelo proprietário do site, e um site pode personalizar e configurar aspectos do comportamento do TogetherJS no site.
Para mais informações e para ver TogetherJS em ação, visite togetherjs.com
Se você deseja integrar TogetherJS no site consulte o wiki e, especificamente, introdução.
contribuindo
o restante deste documento é sobre contribuir para o TogetherJS – mas relatórios, correções, recursos, etc. Olhe para os outros links se você estiver procurando por outra coisa.
relatórios de bugs
envie relatórios de bugs como problemas do github. Não se preocupe com rótulos ou marcos. Se você usar o feedback no aplicativo para nos dar um relatório de bug que também é bom.
roteiro & planos
para ver o que estamos planejando ou pelo menos considerando fazer com o TogetherJS, veja nosso rastreador de bugs.
Configurando um ambiente de desenvolvimento
TogetherJS tem duas peças principais:
-
o servidor, que ecoa mensagens para frente e para trás entre os usuários. O servidor não faz muito, você pode olhar para sua história incrivelmente chata.
-
o cliente em
togetherjs/
que faz todo o trabalho real.
há um servidor Hub do TogetherJS implantado em https://hub.togetherjs.com
– e há pouca necessidade de outras implantações de servidor. Se você quiser experimentar o TogetherJS out, recomendamos que você use nosso servidor hub. Observação Se você incluir o TogetherJS em um site https, deverá usar um servidor https hub.
os arquivos precisam ser levemente “construídos”: usamos menos para estilos e alguns arquivos são gerados. Para desenvolver você precisa construir a biblioteca usando Grunt.
para construir uma cópia da biblioteca, confira TogetherJS:
$ git clone git://github.com/mozilla/togetherjs.git$ cd togetherjs
em seguida, instale o npm e execute:
$ npm install$ npm install -g grunt-cli
Isso instalará um monte de coisas, a maioria das quais é usada apenas para desenvolvimento. A única dependência de “servidor” é WebSocket-Node (e se você usar nosso hub, não precisará se preocupar com o servidor). Por padrão, tudo é instalado localmente, ou seja, em node_modules/
. Isso funciona muito bem, mas é útil instalar o programa de linha de comando grunt
globalmente, o que npm install -g grunt-cli
faz.
Agora você pode construir TogetherJS, como:
$ grunt build buildsite --no-hardlink
isso criará uma cópia de todo o site togetherjs.com
em build/
. Você precisará configurar um servidor Web local de sua própria apontou para o diretório build/
. Para iniciar um servidor na porta 8080, execute:
$ node devserver.js
se você deseja desenvolver com o TogetherJS, provavelmente deseja que os arquivos sejam criados continuamente. Para fazer este uso:
$ grunt devwatch
isso será reconstruído quando as alterações forem detectadas. Observe que o Grunt está configurado para criar links rígidos em vez de copiar para que a maioria das alterações feitas nos arquivos em togetherjs/
não precise ser reconstruída para aparecer em build/togetherjs/
. --no-hardlink
desliga esse comportamento.
você pode querer criar uma cópia estática do cliente TogetherJS para distribuir e usar em seu site. Para fazer esta corrida:
$ grunt build --base-url https://myapp.com --no-hardlink --dest static-myapp
então static-myapp/togetherjs.js
e static-myapp/togetherjs-min.js
estarão no lugar, e o resto do Código estará sob static-myapp/togetherjs/
. Você os implantaria em seu servidor.
executando um servidor local
você não deve precisar executar sua própria versão do servidor hub. Mas se youhappen para fazer alterações no servidor, você pode alterar o hubURL padrão definindo a variável de ambiente HUB_URL ao construir. Por exemplo:
$ HUB_URL=http://localhost:8080 grunt devwatch
testes
os testes estão em togetherjs/tests/
– estes são doctest.testes js. Para realmente executar os testes construir togetherjs, servi-lo, e ir para http://localhost:PORT/togetherjs/tests/
– A partir daí os testes estão ligados a partir do topo da página. Os testes reais são *.js
arquivos em togetherjs/tests/
, geralmente test_*.js
para testes de estilo de unidade e func_*.js
para testes funcionais.
o link “teste Manual” é algo que permite simular diferentes condições no TogetherJS sem configurar um segundo navegador/cliente.
infelizmente, não há um corredor automatizado para esses testes. Pode ser bom se o Karma puder ser configurado com o doctest.js em geral, mas até agora isso não está feito.