A starter guide to collaboration - CKEditor 5
CKEditor 5 is the next-generation rich text editor with WYSIWYG methodology at its core that can be implemented within web-based software. One of the things it was designed for and that makes it stand out on the market is collaboration.
Collaboration is essential in today’s world with so many people working remotely and often across geographical barriers. It is also a way for companies to continue to function during rough times or even pandemics like the recent COVID-19 situation. Being able to review content, at the same time as creating it, has become a key factor in making the content creation workflow more productive.
# What does editing content collaboratively mean?
As described in our previous blog post about creating a collaborative editor and the trials and tribulations it took to make it happen, the terms collaboration and collaborative editing are broad and are easily prone to misunderstanding. Thus, we hope to shed some light on the two different methodologies more in-depth within this collaborative-editing guide and differentiate more clearly between non-real-time and real-time collaborative editing.
Collaboration in essence means multiple people working together on a task, such as creating a document in the case of a rich text editor such as CKEditor 5. This includes being able to work together simultaneously on tasks and even see the other cursors of coworkers and we call this real-time collaboration (RTC). It also may mean not working together in real-time on a task, but being able to access the document later on, or at any point in time, in order to work on it. This is called non-real-time collaboration (NRTC).
# CKEditor 5 Collaboration features outlined
CKEditor 5 collaboration features, besides simply working on the document together, include Comments, Track Changes, and Revision History.
These three features alongside document editing as a whole are available to be used within both RTC and NRTC workflows. However, they work in different ways within each. Below, we outlined these three features to give you an understanding of what they entail before delving into ways they are used in both forms of collaboration.
# Track Changes
Track Changes allows someone creating a document, or editing it, to follow each change done within the document and accept or reject each change by additional users collaborating on it. It allows for multiple users to edit a document without any change becoming permanent or final right away or approval from the right person assigned to the task.
Commenting inside the document is what the Comments feature is all about. It allows users working together on the document to leave notes for one another so that they can be on the same page and work together more effectively. It also allows someone to collaborate on a document with this permission only and not risk having this person make any changes to the document content. Comments can also be turned into threads with multiple colleagues being able to communicate and interact with one another without having to be online and having the document opened at the same time.
# Revision History
Revision History, otherwise known as Version History, allows the progress of a document to be tracked over time and different versions (aka snapshots or states) of it to be saved and reverted back to in case of emergency or in case of unwanted changes down the line. It comes with the basic features of creating, viewing, restoring and comparing content within a document and the versions are shown in chronological order.
# How RTC and NRTC Differ: workflow and backend
There are two main ways that collaboration differs when done in real-time vs when done in non-real-time. They include the workflow and the fact RTC relies on a backend solution.
For the average user, the workflow is the main way to differentiate the way the three collaboration features function when comparing RTC and NRTC. This is because in RTC they can be used instantly and when users are logged into a document at the same time. This is not the case in NRTC - where users of the software have to make save states to the document and follow a sequential collaborative workflow.
As opposed to non-RTC, real-time collaboration involves using a backend solution. The way it works on the technical level is that it relies on a collaboration server that handles multiple tasks, such as passing the data between clients or storing the data. It also helps to resolve conflicts (which appear when two or more users edit the same part of text).
When using CKSource’s cloud option, SaaS is used alongside a Collaboration Server. This is hosted in CKSource’s AWS infrastructure.
The other option of running the backend is self-hosting the Collaboration Server by deploying it using a local data center or on the infrastructure controlled by the company implementing CKEditor.
# Advantages of using NRTC within a workflow
When using an editor, like say Google Docs, you have to work outside of your main application and this is done by having to copy-and-paste content into the application from Google Docs or whatever editor you are using. When using CKEditor 5, as your solution, you can stay within the confines of your application while collaborating with colleagues.
Thus, the benefit of CKEditor 5’s collaboration features, is you will retain all your content within your application and not have to work outside of it. This has the added benefit of company data and secrets not being shared with Google or another company the editor is hosted by.
# Advantages of using RTC within a workflow
When working using NRTC as part of a workflow, users need to work on a document in an asynchronous manner. This entails the first person having to save the document before others can see the changes and continue their work. If two users edit a document at the same time, they may easily overwrite their changes. To avoid that, you may consider a workflow with real-time collaboration in which your users are capable of simultaneous editing of documents without overwriting each other.
# Implementation of RTC: cloud vs on premises
There are benefits and drawbacks to cloud and the on-premise approaches of running CKEditor 5 with RTC. It will depend on the specific needs of your organization. By choosing to work within CKSource’s cloud solution, you can save your company additional costs and the hassle of managing your own datacenter, or server(s) within an infrastructure. This is in addition to having the back-end solution updated automatically (as well as data being backed up) and this helps overall security. Whereas, on-premises solutions give you full control over your data (which is crucial for some industries). Some companies do not want any date shared with outsiders or other companies from whom they are using software such as an editor.
Using the cloud method as SaaS means that incident management will be done by CKSource and your company does not have to worry about it or at least to such an extent as if you deploy locally. Service health monitoring is another strength of the SaaS method as it is done on CKSource’s end for your needs.
It is true that control over one’s data along with internal security are huge benefits of the self-hosting method. A company may have secure data and information they may not want privy to other companies like Google or Microsoft, or others when using their solutions. Thus, relying on the self-hosted option for CKEditor 5, with the ability to be customizable to the company’s needs and integrated fully into its software, is something that may be crucial for some companies and this is one of the options companies using CKEditor 5 have.
Sometimes staying compliant with the legislation and customer preferences requires the data to be stored in your own data center or private cloud.
However, the SaaS cloud method should definitely be considered to save costs, and allow the team at CKSource to take the heavy burden off management and ease the integration process. New features tend to also be deployed within SaaS quicker when using CKEditor 5.
# A smooth set-up process for RTC
In order to to work to use RTC or work in a real-time manner, and this holds true whether on premise or when using the SaaS method, you will need to set up CKEditor Cloud Services. In order to do this, an environment needs to be created. Environments allow you to create access credentials, manage webhooks, configure features and connect to CKEditor Cloud Services.
Webhooks and Rest APIs can be used to integrate CKEditor 5 with your web application. These constraints and delivery methods create closer integration with your application and will create custom notification systems or server-to-server data synchronization.
The REST API can be used to also enhance your application besides as a method for the implementation of real-time collaboration within CKEditor 5. CKEditor Cloud Services offer several different REST APIs that can be used for various server integrations. These APIs are mostly used in the customer back-end application servers, but also to control and manage data.
To learn more about management environments and how they can be further customized, added and removed read this documentation.
The set-up process involves creating your CKEditor Cloud Services account, generating an API key, and finally creating a security token endpoint in your application. The security token is responsible for specifying document and role permissions.
# Reliability, scalability and overall security analyzed
When using CKEditor 5 Cloud Services, you will get both reliability and scalability as guarantees alongside strong security. In fact, an uptime of 99% is guaranteed from the team at CKSource as this has been recorded since the inception of its CKEditor Cloud Services.
The scalability is yet to be truly put to the stress test as the Cloud Services were designed to handle an unlimited number of concurrent connections. Whether using the software on-premise (private cloud) or as SaaS, the number of users can be scaled to a company’s liking.
In regards to security, CKSource handles a multi-tenant cloud with environments logically divided, thus clients cannot see data between themselves. Your users cannot see the data they do not need to see or have permission to see between one another outside of what was assigned or the document collaboration process.
Encryption is also used along the way for added security and to reiterate the integration process, tokens, permissions, and user roles also add to the overall security of the software and deal with user identification.
# Integration of collaborative features: RTC vs NRTC
As outlined earlier, CKEditor 5 has three collaboration features that work in both across NRTC and RTC. These CKEditor 5 collaboration features are added to the editor the same way as any other feature. The difference is that those features generate additional data (besides document content) that needs to be loaded to the editor and saved.
In case of non-real-time collaboration, your team must provide the code that will integrate editor features with your database. This is further explained in our guides. It will be your integration code that is responsible for any additional data processing you may need, like validation or setting and checking user permissions.
In the case of real-time collaboration, the integration is simpler to process. All you have to do is add the plugins you need or want your teams to use and that is it for RTC. After providing a few configuration variables, the adapters will connect to the server and will manage loading and saving the data.
# How important is collaboration for rich text editors today?
Collaboration is at the forefront of the modern working environment. With remote work continuously gaining ground due to better software designed for this task, companies operating on a global scale tend to go more remote over time. The workflow is also simply more dynamic, as everything occurs in real-time.
Real-Time Collaboration is the most collaborative and modern way for colleagues to work together on documents. This is because it offers colleagues the ability to work together and simultaneously on documents. Users accessing a document simultaneously can even see the actual cursors of colleagues’ mouses and changes done right in front of their monitors.
When a company needs a specifically-tailored editor to their liking and needs with customizations of their choosing that it can integrate into its own software and not rely on external and pre-configured editors like Google Docs or Office 365, CKEditor 5 is something they should consider.
To learn more about the various collaborative options available to you and more details regarding integrations when using CKEditor 5, contact us.