I'm looking to implement multi-user operational transform just for plain-text based changes on the server-side on a web-site.
Is there a non-javascript implementation that you can recommend?
I'm looking to implement multi-user operational transform just for plain-text based changes on the server-side on a web-site.
Is there a non-javascript implementation that you can recommend?
Consider Py-infinote.
py-infinote is a python port of JInfinote, offering a collaborative text-editing protocol(adOPTed) which can be used to write multi-user collaborative text editors. Py-infinote is used in the HWIOS project.
This is another quite interesting implementation integrating google wave's operational transform with jedit:
OpenCoweb is a popular OT implementation. There are several server implementations written in different languages.
Simple reference implementation which I will be improving next few months by adding more complex stuff;
Now it has:
Consider Google-Diff-Match-Patch - Diff, Match and Patch libraries for Plain Text:
"The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text."
Diff: Compare two blocks of plain text and efficiently return a list of differences.
Diff Demo Match: Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
Match Demo Patch: Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn't match.
Patch Demo Currently available in Java, JavaScript, C++, C#, Objective C, Lua and Python. Regardless of language, each library features the same API and the same functionality. All versions also have comprehensive test harnesses.
You can find it here.