News for hackers. Stuff that matters.

thomsbg

Re:Collaborative Editing in ProseMirror on Tuesday August 04, 2015 @10:45AM (#10003666)
Interesting! I'm excited to see how this all turns out, and what we can learn from each other.
Re:Collaborative Editing in ProseMirror on Tuesday August 04, 2015 @10:39AM (#10003626)
Hi! Awesome post.

I've been working on a similar project based on the quill editor [1], which is in turn based on the rich-text OT library [2]. Initially, I thought to wire this all up using the sharejs project [3], but never could quite grok that codebase.

Instead, I've been working on a similar system to one you describe, with changes applied in order based on sequential version number, and concurrent updates forced to "rebase" against earlier changes (not yet open-sourced).

A question:

> Because applying changes in a different order might create a different document, rebasing isn't quite as easy as transforming all of our own changes through all of the remotely made changes.

Can you explain more about how you arrived this conclusion? From my understanding, a correct transform function should allow exactly this, according to transformation property 1 [4]. Perhaps your algorithm doesn't exactly satisfy this property; what characteristics does it have instead?

[1] http://quilljs.com/

[2] https://github.com/ottypes/rich-text

[3] http://sharejs.org/

[4] https://en.wikipedia.org/wiki/Operational_transformation#Con...