In this article, I talk about the Elixir library Delta we at Slab just open-sourced, its various features including support for Operational Transform, and how it can be used to build collaborative systems.
Feedback and questions welcome!
In this article, I talk about the Elixir library Delta we at Slab just open-sourced, its various features including support for Operational Transform, and how it can be used to build collaborative systems.
Feedback and questions welcome!
This looks very interesting. Is there an example project I could study? Have you ever integrated with Tiptap.dev?
I’m looking to create a hosted backend for Tiptap; I’m wondering if I could use Delta.
Haven’t used TipTap, but check out this example project: GitHub - sheharyarn/collab
Detailed talk/explanation: https://www.youtube.com/watch?v=lXyGvOt2e34
The product I work on uses Tiptap pretty heavily, so I’ve looked into how I might implement collaborative editing just with Elixir.
Tiptap uses Yjs data structures for collaborative documents. However there’s no Elixir client so I was thinking of trying to use the y-crdt Rust package via rustler. I’d be interested to hear if you can get something like that to work.
Tiptap also has their own hosted backend for collaboration and includes live cursors/highlighting and support for threads/comments.
this might interest you then
Just to keep you updated, I decided to spin up a separate server for HocusPocus. Mostly because I’m a newbie and there was too much skill-issue to overcome.
So the HocusPocus server is using my Elixir server for auth, loading / storing docs.
I do not thing you need all this miss you could implement the y-websocket server by checking the example and it is easy to implement.