Report an issue

guideCollaboration overview

The CKEditor 5 architecture was designed and written to bring collaborative editing features where multiple authors can easily 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 comments archive Comments archive and follow the revision history Revision history of the document.

This demo only 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 for additional interesting details and examples in the Collaborative writing in CKEditor 5 blog post after reading these guides.

These features can be used stand-alone or together, depending on the users’ needs. The collaboration can also be either in real-time or asynchronous.

# Comments

The comments feature lets the users 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. In order to load and save it, you will also need to provide 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.

Comment threads can be displayed in a sidebar or inline:

Comments feature for CKEditor 5 WYSIWYG editor

Moreover, comment threads can be resolved, 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 is able to switch to the track changes mode. All their changes will then create suggestions that can be accepted or discarded.

You can define where you want to store the suggestions data. In order to load and save it, you will also need to provide 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.

Suggestion annotations can be displayed 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. All available collaboration plugins can be used 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.
Need to also set up the infrastructure for on-premises.

# Non real-time (asynchronous) collaboration

The asynchronous collaboration is perfect for linear workflow, where the content creation, revision, and edition are done sequentially and there is no need for users to work simultaneously. It is perfect for professional environments working on business deals, legal documents, academic research papers, contract management, and many more use cases.

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

The asynchronous approach can also be beneficial in terms of cost efficiency and it requires less dedicated infrastructure. It also gives you full control over your data. Because you are fully responsible for loading, saving, and storing all of 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, including the situation when the editor features are updated.

Asynchronous collaboration features for CKEditor 5 WYSIWYG editor

# Real-time collaboration

Real-time collaboration, on the other hand, lets multiple users work simultaneously on the same document, even on the same part of it, with no content locking. Comments and track changes will be synchronized automatically between users, on the go. It automatically solves all conflicts that may occur if users make changes at the same time. All users currently involved in the editing process are listed by the editor as well.

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. Revisions can be saved, too. This is perfect for fast-paced content-creation situations and it can still be used 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, that can be used as SaaS with CKEditor Cloud Services or installed on your machines in the on-premises version.

Both are provided by CKEditor, so there is no need for a complicated integration. Simply import the plugins, fill in the editor configuration, and provide a token configuration. For the on-premises solution, some minimal additional setup is required.

Note, that you can still maintain control over your data. REST APIs will allow you to copy whatever data was 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!