Hvad er TogetherJS?
TogetherJS er en service til din hjemmeside, der gør det overraskende nemt at samarbejde i realtid.
brug af TogetherJS to personer kan interagere på samme side, se hinandens markører, redigeringer og gennemse et sted sammen. Tjenesten er inkluderet af ejeren af hjemmesiden, og en hjemmeside kan tilpasse og konfigurere aspekter af Sametherjs adfærd på hjemmesiden.
For mere information og for at se TogetherJS i aktion, besøg togetherjs.com
hvis du ønsker at integrere TogetherJS på din hjemmeside, se programmet og specifikt at komme i gang.
Bidrag
resten af dette dokument handler om at bidrage til TogetherJS – men rapporter, rettelser, funktioner osv. Se tilbage på de andre links, hvis du leder efter noget andet.
fejlrapporter
indsend venligst fejlrapporter som github-problemer. Må ikke bekymre dig om etiketter eller milepæle. Hvis du bruger feedback i appen til at give os en fejlrapport, er det også fint.
køreplan & planer
for at se, hvad vi planlægger eller i det mindste overvejer at gøre med TogetherJS, se på Se vores bug tracker.
oprettelse af et udviklingsmiljø
TogetherJS har to hovedstykker:
-
serveren, som ekkoer meddelelser frem og tilbage mellem brugerne. Serveren gør ikke meget, du kan se på dens utroligt kedelige historie.
-
klienten i
togetherjs/
som gør alt det virkelige arbejde.
der er en TogetherJS hub server implementeret på https://hub.togetherjs.com
– og der er lidt behov for andre server implementeringer. Hvis du vil prøve TogetherJS, anbefaler vi, at du bruger vores hub-server. Bemærk Hvis du inkluderer TogetherJS på et https-sted, du skal bruge en https hub-server.
filerne skal være let “bygget”: vi bruger mindre til stilarter, og et par filer genereres. For at udvikle skal du bygge biblioteket ved hjælp af Grunt.
for at opbygge en kopi af biblioteket, tjek TogetherJS:
$ git clone git://github.com/mozilla/togetherjs.git$ cd togetherjs
installer derefter npm og kør:
$ npm install$ npm install -g grunt-cli
dette vil installere en masse ting, hvoraf de fleste kun bruges til udvikling. Den eneste” server ” – afhængighed er Netbocket-Node (og hvis du bruger vores hub, behøver du ikke bekymre dig om serveren). Som standard er alt installeret lokalt, dvs. i node_modules/
. Dette fungerer fint, men det er nyttigt at installere kommandolinjeprogrammet grunt
globalt, hvilket npm install -g grunt-cli
gør.
nu Kan du bygge Sammenjs, som:
$ grunt build buildsite --no-hardlink
dette vil skabe en kopi af hele togetherjs.com
siden i build/
. Du bliver nødt til at opsætte en lokal server af din egen pegede på build/
mappe. For at starte en server på port 8080 skal du køre:
$ node devserver.js
hvis du vil udvikle dig med TogetherJS, vil du sandsynligvis have filerne bygget kontinuerligt. For at gøre denne brug:
$ grunt devwatch
dette genopbygges, når ændringer opdages. Bemærk, at Grunt er konfigureret til at oprette hårde links i stedet for at kopiere, så de fleste ændringer, du foretager i filer i togetherjs/
, ikke behøver at blive genopbygget for at dukke op i build/togetherjs/
. --no-hardlink
slår denne adfærd fra.
du ønsker måske at oprette en statisk kopi af TogetherJS-klienten til at distribuere og bruge på din hjemmeside. For at gøre dette løb:
$ grunt build --base-url https://myapp.com --no-hardlink --dest static-myapp
så static-myapp/togetherjs.js
og static-myapp/togetherjs-min.js
vil være på plads, og resten af koden vil være under static-myapp/togetherjs/
. Du vil installere disse på din server.
kørsel af en lokal server
du behøver ikke at køre din egen version af hub-serveren. Men hvis dusker at foretage ændringer på serveren, kan du ændre standard hubURL ved at indstille HUB_URL miljøvariablen, når du bygger. Eksempel:
$ HUB_URL=http://localhost:8080 grunt devwatch
test
test er i togetherjs/tests/
— disse er doctest.JS test. At faktisk køre testene bygge togetherjs, tjene det op, og gå til http://localhost:PORT/togetherjs/tests/
– derfra testene er knyttet til fra toppen af siden. De faktiske tests er *.js
filer i togetherjs/tests/
, generelt test_*.js
for unit-style tests og func_*.js
for funktionelle tests.
linket “manuel test” er noget, der giver dig mulighed for at simulere forskellige forhold i TogetherJS uden at oprette en anden bro.ser/klient.
der er desværre ingen automatiseret løber til disse tests. Det kunne være rart, hvis Karma kunne opsættes med doctest.js generelt, men indtil videre er det ikke gjort.