Skip to main content
Skip table of contents

Collaborative Text Editing

Content Manager 3.3 and newer offers collaborative text editing of the RTF text.

image-20250515-141725.png

Note:

Collaborative Text Editing does only work when using Content Manager 3.3 (or newer)

It is not available when using Database Manager (DBM), editing a RTF in DBM still locks the doument

Configure Content Manager to disable RTF file locking

Set ContentManager|UseRtfLocks to false (default: true)

Configure the RTF details pane

Adapt your details pane template

  • add an attribute that enables collaborative editing
    yjsEnabled=true

  • add an attribute that configures the web socket backend for the shared document store e.g. yjsWebSocketUrl="wss://my-y-websocket.mydomain.com:1235"
    For demo purposes you can omit configuring your own web socket server; a public cloud based demo server will be used as default (wss://demos.yjs.dev/ws)

CODE
{{#if editable}}
	{{rtf-editor model=editModel source=legacyController.rtfSource yjsWebSocketUrl="wss://my-y-websocket.mydomain.com:1235" yjsEnabled=true }}
{{else}}
	{{#if model.hasRtf}}
		{{rtf-editor model=model source=legacyController.rtfSource readOnly=true yjsWebSocketUrl="wss://my-y-websocket.mydomain.com:1235" yjsEnabled=true }}
	{{/if}}
{{/if}}

Provide the web socket backend

For productive use your own private web socket server is recommended.

An open source solution is used as web socket backend: https://github.com/yjs/y-websocket

Docker Image

Easiest way to install it is to host a ready-to-use docker image, e.g. docker compose file:

CODE
services:
  y-websocket:
    container_name: y-websocket
    image: alokinplc/y-websocket:latest
    restart: always
    ports:
      - 1234:1234

And use a reverse proxy to handle HTTPS offloading and forwarding to docker container,
e.g. from https://my-y-websocket.mydomain.com:1235 to http://127.0.0.1:1234

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.