Question

Je cherche à mettre en œuvre multi-utilisateurs à transformer opérationnel seulement pour les changements à base de texte brut sur le côté serveur sur un site Web.

Y at-il une implémentation non javascript que vous pouvez recommander?

Était-ce utile?

La solution

Découvrez Google-Diff-Match-Patch - Diff, Match et bibliothèques Patch pour Plain Text:

« Les bibliothèques Diff et patch match offrent des algorithmes robustes pour effectuer les opérations nécessaires pour synchroniser le texte brut. »

Diff. Comparer deux blocs de texte et retourner efficacement une liste des différences

Diff Demo Match: Étant donné une chaîne de recherche, trouver sa meilleure correspondance floue dans un bloc de texte brut. Pondérée à la fois la précision et l'emplacement.

Démo match Patch: Appliquer une liste des correctifs sur le texte brut. Utilisez le meilleur effort pour appliquer le correctif même si le texte sous-jacent ne correspond pas.

Patch Demo Actuellement disponible en Java, JavaScript, C ++, C #, Objective C, Python et Lua. Quelle que soit la langue, chaque bibliothèque dispose de la même API et les mêmes fonctionnalités. Toutes les versions ont également des harnais de test complet.

Vous pouvez trouver .

Autres conseils

Considérez-Py infinote.

py-infinote est un port de python JInfinote, offrant un protocole d'édition de texte collaboratif (ADOPTE) qui peut être utilisé pour écrire des éditeurs de texte de collaboration multi-utilisateurs. Py-infinote est utilisé dans le projet HWIOS.

https://github.com/sveith/jinfinote

Ceci est une autre mise en œuvre tout à fait intéressant l'intégration opérationnelle de transformer vague Google avec jedit:

https://github.com/djspiewak/cccp

OpenCoweb est une implémentation de OT populaire. Il existe plusieurs implémentations de serveur écrites dans des langues différentes.

implémentation de référence simple que j'améliorerons quelques mois en ajoutant des choses plus complexes;

Maintenant, il a:

  • des opérations simples de texte; conserver, insérer, supprimer et leurs transformations les uns contre les autres
  • annotations sur le texte et les transformations
  • génération de changements et de les appliquer au texte

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top