Asynchronous collaboration

Hi,

I’m investigating the best architecture to handle asynchronous collaboration with ProseMirror. A lot has been said and done on real-time collaboration, but I’d like a tool with a workflow more similar to git where you can work on separate branches and upstream your changes.

So far I took some inspiration from the Track Changes example and used prosemirror-changeset to calculate diff between versions but I would be very interested in advice and gotchas if you had some experience with this use case (especially about persistence, I’ve been storing Steps so far but I’m not sure how scalable it is).

Thank you very much!

Storing steps sounds like a good idea. I haven’t worked with an implementation of a collaboration tool in this style yet, so I don’t have much practical experience there, but indeed, showing the differences via prosemirror-changeset and using that to create an interface for merging when necessary seems like a reasonable direction.

ok thanks, good to know I’m not being delusional about this!

One more time, it’s pretty amazing to see how flexible PM is and how it can adapt to so many use cases, huge thanks for that!