Report an issue

guideCollaboration overview

The CKEditor 5 architecture was designed to bring collaborative editing features where many authors can work on the same rich text documents.

# Demo

Use the set of collaboration features in the demo below: turn on tracking changes Track changes, add comments Comments, check the comments archive Comments archive, and follow the revision history Revision history of the document.

This demo presents a limited set of features. Visit the feature-rich editor example to see more in action.

# Available collaboration features

The collaboration capabilities are provided by three easy-to-integrate plugins delivering different features: comments, track changes, and revision history. You will find more information about each feature in the dedicated guides. You may also look at some interesting details and examples in the Collaborative writing in CKEditor 5 blog post after reading these guides.

You can use these features standalone or together, depending on the users’ needs. The collaboration can also be either in real time or asynchronous.

# Comments

Thanks to the comments feature, the users can add sidenotes to marked fragments of the document, including text and block elements such as images. It also allows the users to discuss in threads and remove comments when they finish the discussion.

You can define where you want to store the comments data. To load and save it, you will also need to create a proper integration with your database. If you want to automatically synchronize the comments discussion between users, you can also use comments as a part of the real-time collaboration.

You can display comment threads in a sidebar or inline:

Comments feature for CKEditor 5 WYSIWYG editor

Moreover, you can resolve comment threads, which moves them to the archive. Note that the comments archive is enabled by default and cannot be turned off.

Refer to the Comments guide for more information.

# Track changes

The track changes feature brings automatic suggestion marking for the document as you change it. When editing the document, the user can switch to the track changes mode. All their changes will then create suggestions that they can accept or discard.

You can define where you want to store the suggestions data. To load and save it, you will also need to create a proper integration with your database. If you want to automatically synchronize the suggestions between users, you can also use track changes as a part of the real-time collaboration.

You can display suggestion annotations in a sidebar or inline:

Track changes feature for CKEditor 5 WYSIWYG editor

Refer to the Track changes guide for more information.

# Revision history

The revision history feature is a document versioning tool. It allows CKEditor 5 users to create and view the chronological revision history of their content. These versions are listed in the side panel. The preview mode allows for easy viewing of content development between revisions. You can rename, compare, and restore older revisions on the go.

Revision history feature for CKEditor 5 WYSIWYG editor

Refer to the revision history guide for more information.

# Real-time vs asynchronous collaboration

There are two available collaboration modes in CKEditor 5: real-time collaboration (often referred to as RTC) and asynchronous collaboration. Both collaborative workflows allow your users to work together within a single application, without the need for third-party tools. They can either collaborate on documents asynchronously or use a real-time editor to write, review, and comment on content in live mode. You can use all available CKEditor 5 collaboration plugins in both modes.

Asynchronous vs real-time collaboration comparison
Collaboration type Asynchronous  Real-time
Workflow Sequential Simultaneous
Features included Revision history, track changes, and comments. Revision history, track changes, and comments working in real time.
Backend Custom backend provided by the customer. Backend provided by CKEditor in on-premises and SaaS modes.
Conflict solving Not implemented. Automatically solves all conflicts if users make changes at the same time.
Integration tasks for system developers Write backend endpoints to save and load data.
Write frontend adapters to pass the data to backend endpoints.
Just configure tokens for the SaaS version.
For on-premises, also set up the infrastructure.

# Asynchronous collaboration

Asynchronous collaboration is perfect for linear workflow, where users create, review, and edit content sequentially and there is no need for them to work simultaneously. It suits professional environments working on business deals, legal documents, academic research papers, contract management, and more use cases.

In this mode, a single author can work on the document, using the revision history, track changes and comments features to interact with previous and following editors. All work is done sequentially.

The asynchronous approach can be more cost-effective and it requires a less dedicated infrastructure. It also gives you full control over your data. Because you are fully responsible for loading, saving, and storing the data, it is the on-premises version by default. On the other hand, this approach requires you to maintain both frontend and backend integration code, also in a situation when the editor features are updated.

Asynchronous collaboration features for CKEditor 5 WYSIWYG editor

# Real-time collaboration

In real-time collaboration, on the other hand, many users can work simultaneously on the same document, even on the same part of it, with no content locking. Comments and track changes are synchronized automatically between users, on the go. It automatically solves all conflicts that may occur if users make changes at the same time. The editor also lists all users currently involved in the editing process.

Thanks to this, collaborating users will not only be able to edit a rich text document at the same time but also discuss the process live in comments. They can also save revisions. This is perfect for fast-paced content-creation situations and it can still prove useful in a single-user mode, just like the asynchronous solution.

Real-time collaboration comes with a ready-to-use frontend integration and a backend solution. You can use it as SaaS with CKEditor Cloud Services or install on your machines in the on-premises version.

CKEditor provides both, so there is no need for a complicated integration. Import the plugins, fill in the editor configuration, and provide the token configuration. The on-premises solution requires some minimal extra setup.

You can still maintain control over your data. REST APIs will allow you to copy whatever data you stored on our servers and more!

Real-time collaboration features for CKEditor 5 WYSIWYG editor

Refer to the Real-time collaboration guide for more information.

Still not sure which integration method is best for you? Feel free to contact us!