sheharyarn

sheharyarn

Elixir Blog Post: Announcing Delta – Operational Transform in Elixir

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!


Posted via Devtalk (see this thread for details).

Most Liked

jtormey

jtormey

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.

sheharyarn

sheharyarn

Haven’t used TipTap, but check out this example project: GitHub - sheharyarn/collab

Detailed talk/explanation: https://www.youtube.com/watch?v=lXyGvOt2e34

Pal

Pal

this might interest you then

RicoTrevisan

RicoTrevisan

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.

mohammedzeglam

mohammedzeglam

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.

Where Next?

Popular in Blog Posts Top

New
New
MarcinKasprowicz
What I genuinely value at my workplace is that I can easily explore new languages through internal mobility. Throughout my career within ...
#js
New
brainlid
There is a new community resource available on writing “Safe Ecto Migrations”. When we get a migration wrong, it can lock up your product...
New
szajbus
Monaco is state-of-the-art browser-based code editor that powers VS Code. Let’s see how to integrate it with Phoenix LiveView using esbuild.
New
ConnorRigby
Just finished a post for Embedded Elixir and I thought it should be cross-posted here: I’ll update this thread as posts get published. ...
New
AstonJ
I think <span class="hashtag-icon-placeholder"></span>liveview is going to be a big topic in the foreseeable future, so wondering whether...
New
zacksiri
In December of 2023 we came to the realization that we needed to build our own image server. After hitting a few snags we decided that it...
New
lawik
One of the Erlang ecosystem’s spiciest nerd snipes are hot code updates. Because it can do it. In ways that almost no other runtime can.
New
paulanthonywilson
This is an overview of different ways to try and kill an OTP process (in Elixir) and the behaviour to expect when that happens. I know th...
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

We're in Beta

About us Mission Statement