Domanda

Sto cercando di implementare multi-utente operativa trasformare solo per le modifiche di testo semplice basato sul lato server su un sito web.

C'è un'implementazione non JavaScript che si può consigliare?

È stato utile?

Soluzione

Si consideri Google-Diff-Match-Patch - Diff, Match e Patch librerie per Plain Text:

"Le librerie Diff Match e Patch offrono algoritmi robusti per eseguire le operazioni necessarie per la sincronizzazione di testo".

Diff:. Confrontare due blocchi di testo normale e tornare in modo efficiente un elenco di differenze

Diff Demo Partita: Data una stringa di ricerca, trovare la sua migliore corrispondenza sfocata in un blocco di testo in chiaro. Ponderata sia per l'accuratezza e la posizione.

Partita Demo Patch: Applicare un elenco delle patch sul testo normale. Utilizzare best-effort per applicare la patch anche quando il testo sottostante non corrisponde.

Patch Demo Attualmente disponibile in Java, JavaScript, C ++, C #, Objective C, Lua e Python. Indipendentemente dalla lingua, ogni libreria presenta la stessa API e le stesse funzionalità. Tutte le versioni hanno anche cablaggi test globale.

Si può trovare qui .

Altri suggerimenti

Si consideri Py-infinote.

py-infinote è un porto di pitone JInfinote, offrendo un protocollo di modifica del testo collaborativo (adottata) che può essere usato per scrivere multiutente editor di testo di collaborazione. PY-infinote viene utilizzato nel progetto HWIOS.

https://github.com/sveith/jinfinote

Questo è un altro molto interessante implementazione integrazione di Google Wave operativa trasformare con jedit:

https://github.com/djspiewak/cccp

OpenCoweb è un'implementazione OT popolare. Ci sono diverse implementazioni di server scritti in diverse lingue.

implementazione di riferimento semplice che sarò migliorando prossimi mesi con l'aggiunta di cose più complesse;

Ora ha:

  • semplici operazioni di testo; mantenere, inserire, cancellare e le loro trasformazioni contro l'altro
  • annotazioni sul testo e le trasformazioni
  • generazione di cambiamenti e la loro applicazione in testo

https://github.com/slevental/operational-transformation

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top