Real-Time Collaborative Editing
Multiple users can work on the same workflow simultaneously with an editing control system.
How It Works
Section titled “How It Works”- A user opens a workflow in the editor
- Connects to the
/collabWebSocket namespace - Joins the workflow room (
workflow:{id}) - If they are the first, they get editing control automatically
- If there is another editor, they can request control
Collaborative System Events
Section titled “Collaborative System Events”| Event | Direction | Description |
|---|---|---|
join-workflow | Client -> Server | Join the editing session |
user-joined | Server -> Clients | Notifies that a user joined |
leave-workflow | Client -> Server | Leave the session |
user-left | Server -> Clients | Notifies that a user left |
request-edit-control | Client -> Server | Request editing control |
edit-control-granted | Server -> Client | Editing control granted |
release-edit-control | Client -> Server | Release control voluntarily |
heartbeat | Client -> Server | Keep session active |
get-active-users | Client -> Server | Query active users |
Editing Control
Section titled “Editing Control”- Only one user at a time has editing control
- Others can view the workflow but not modify it
- If the editor disconnects, control passes to the next in queue
- A user can release control voluntarily
- The heartbeat system detects disconnections