Articles

jsfiddle / togetherjs

Posted by admin

Vad är TogetherJS?

TogetherJS är en tjänst för din webbplats som gör det förvånansvärt enkelt att samarbeta i realtid.

använda TogetherJS två personer kan interagera på samma sida, se varandras markörer, redigeringar och surfa på en webbplats tillsammans. TogetherJS tjänsten ingår av webbplatsägaren, och en webbplats kan anpassa och konfigurera aspekter av TogetherJS beteende på webbplatsen.

för mer information och för att se TogetherJS i aktion, besök togetherjs.com

om du vill integrera TogetherJS på din webbplats se wiki och specifikt komma igång.

bidragande

resten av detta dokument handlar om att bidra till TogetherJS – men rapporter, korrigeringar, funktioner, etc. Titta tillbaka på de andra länkarna om du letar efter något annat.

felrapporter

vänligen skicka felrapporter som github frågor. Oroa dig inte för etiketter eller milstolpar. Om du använder feedback i appen för att ge oss en felrapport är det också bra.

färdplan & planer

för att se vad vi planerar eller åtminstone överväger att göra med TogetherJS, titta på se vår bug tracker.

skapa en utvecklingsmiljö

TogetherJS har två huvudstycken:

  • servern, som ekar meddelanden fram och tillbaka mellan användare. Servern gör inte mycket, du kan titta på dess otroligt tråkiga historia.

  • klienten i togetherjs/ som gör allt det verkliga arbetet.

det finns en TogetherJS hub-server distribuerad på https://hub.togetherjs.com – och det finns lite behov av andra serverdistributioner. Om du vill prova TogetherJS ut rekommenderar vi att du använder vår hub server. Obs! Om du inkluderar TogetherJS på en https-webbplats måste du använda en https hub-server.

filerna måste vara lätt ”byggda”: vi använder mindre för stilar, och ett par filer genereras. För att utveckla måste du bygga biblioteket med Grunt.

för att bygga en kopia av biblioteket, kolla in TogetherJS:

$ git clone git://github.com/mozilla/togetherjs.git$ cd togetherjs

installera sedan npm och kör:

$ npm install$ npm install -g grunt-cli

detta kommer att installera en massa saker, varav de flesta endast används för utveckling. Det enda ”server” – beroendet är WebSocket-Node (och om du använder vårt nav behöver du inte oroa dig för servern). Som standard installeras allt lokalt, dvs i node_modules/. Det här fungerar bra, men det är användbart att installera kommandoradsprogrammet grunt globalt, vilket npm install -g grunt-cli gör.

nu kan du bygga TogetherJS, som:

$ grunt build buildsite --no-hardlink

detta skapar en kopia av hela togetherjs.com – webbplatsen i build/. Du måste installera en egen lokal webbserver som pekar på katalogen build/. För att starta en server på port 8080, kör:

$ node devserver.js

om du vill utveckla med TogetherJS vill du förmodligen att filerna byggs kontinuerligt. För att göra detta använd:

$ grunt devwatch

detta kommer att byggas om när ändringar upptäcks. Observera att Grunt är konfigurerat för att skapa hårda länkar istället för att kopiera så att de flesta ändringar du gör i filer i togetherjs/ inte behöver byggas om för att visas i build/togetherjs/. --no-hardlink stänger av detta beteende.

du kanske vill skapa en statisk kopia av TogetherJS-klienten för att distribuera och använda på din webbplats. För att göra detta kör:

$ grunt build --base-url https://myapp.com --no-hardlink --dest static-myapp

då kommer static-myapp/togetherjs.js och static-myapp/togetherjs-min.js att vara på plats, och resten av koden kommer att vara under static-myapp/togetherjs/. Du skulle distribuera dessa på din server.

kör en lokal server

du behöver inte köra din egen version av hub-servern. Men om du vill göra ändringar på servern kan du ändra standard hubURL genom att ställa in miljövariabeln HUB_URL när du bygger. Exempelvis:

$ HUB_URL=http://localhost:8080 grunt devwatch

testning

tester är i togetherjs/tests/ – dessa är doctest.js tester. För att faktiskt köra testen bygga togetherjs, servera den och gå till http://localhost:PORT/togetherjs/tests/ – därifrån är testen länkade till från toppen av sidan. De faktiska testerna är *.js filer i togetherjs/tests/, i allmänhet test_*.js för enhetstester och func_*.js för funktionella tester.

länken ”manuell testning” är något som låter dig simulera olika förhållanden i TogetherJS utan att ställa in en andra webbläsare/klient.

det finns tyvärr ingen automatiserad löpare för dessa tester. Det kan vara trevligt om Karma kunde ställas in med doctest.js i allmänhet, men hittills är det inte gjort.

licens

Related Post

Leave A Comment