Feature of the month - Collaborative writing in CKEditor 5

Feature of the month - Collaborative writing in CKEditor 5

Welcome to the “Feature of the month” blog post. Kickstarting this new series in 2021, we want to spotlight and present selected features we offer with CKEditor 5. Every month, we will present the functions that we find especially interesting or in need of better recognition from our users. This is all in the hope to bring a better editing experience to you.

This blog post is officially the first one in the series, but be sure to also check the articles about turning your WYSIWYG editor into a Markdown editor as well as the guide on creating printable online forms with the use of pagination and restricted editing.

# Teamwork and collaboration in the ’20s

More often than not in our modern times, writing is a team sport. Even if you are a fiction writer, struggling to give birth to a novel, a time will come when you have to face an editor and a proofreader. In business and technical environments, cooperative writing is far more widespread. Quite often – as in the case of trade deals – it is a matter of cooperation on companies level even, not just users.

People used to meet face to face to discuss such matters. But times have changed and even if people meet in real-time now, it rather happens online, especially in the face of the raging worldwide pandemic. Such circumstances bring the very idea of cooperation and the demands toward collaborative writing tools to a whole different level. Now, have we got tools for you!

# Track changes to improve teamwork

There are several ways to proofread and edit a text. It often happened in the past that the editor simply introduced changes and returned the text to the author. This is, however, less and less of a standard now and a more civilized approach seems to be gaining popularity.

The one good way to do it is called tracking changes or suggestion mode. This simple yet amazingly efficient mechanism shows everything that was changed and therefore allows for an exchange of views on what the content should look like. In this mode, changes done by the users are marked in the content and shown as suggestions in the sidebar or inline. It is a dialogue between writers. Suggestions can be accepted or discarded by the participating users. The suggestion balloon is then closed and the change is no longer marked. It is a perfect tool for all types of corrections, starting from orthography, through style and structure and ending up with updating factual information.

Different types of changes tracked (formatting, additions, deletions) with easy accept/decline options.
Different types of changes tracked (formatting, additions, deletions) with easy accept/decline options.

The example above sums it up nicely – some sentences were removed, some information was added to the story, formatting changes were applied. All that is clean and easy to comprehend.

It is as flexible a tool as it gets – the implementation allows the track changes feature to run both in real-time and asynchronously. Additionally, our real-time collaboration feature comes in a variety of flavors – from SaaS to an on-premises server. It means whatever deployment method you choose for your CKEditor 5, it will provide the best performance and fit for your needs.

Interested in learning more? Try out the track changes demo, sign up for a trial and refer to the documentation for complete guidance on how to integrate this feature with your application.

# Use comments to share notes and ideas

In the past days, people would get together around a coffee table and discuss a text, be it a book, a business deal or an owner’s manual. Most of that activity has moved online, well before the global pandemic that turned us even more remote than we used to be. More often than not, there would not even be more than a kick-off meeting. All the work and consulting would be carried on-the-go.

Changes and improvements are one thing, but that’s not always enough. Things like orthography are self-explanatory. Changing some date or some facts might need sourcing. Rewriting a passage often calls for an explanation.

This is, basically, what comments are for. They would usually carry an explanation of what and why the editor did. Sometimes a question needs to be asked if something is unclear. Remarks concerning facts or continuity errors, common mistakes, possible ways to expand a paragraph are always welcome and help improve the content.

A comment employed to suggest content expansion.
A comment employed to suggest content expansion.

In the example above a co-writer asks a question that will surely lead to some serious discussion and potential expansion of the content. Asking, exchanging ideas – all this invokes creativity and helps improve the content. Be it a software manual, technical guide or a trade deal – communicating the needs and collaborating is a key to success. Just like in the case of track changes, comments may be implemented using different mechanisms, providing the most convenient solution.

Interested in learning more? Try out the comments demo, sign up for a trial and refer to the documentation for complete guidance on how to integrate this feature with your application.

# Real-time collaboration

If your users often work together and time is an important factor, there is more in the box for you! CKEditor 5 Framework also allows for a real-time collaborative editing by multiple users. It makes simultaneous writing possible with automated conflict resolution and real-time content update. No more problems with several versions of the same document, no more hassle to resolve conflicts and introduce changes. Everything works smoothly and securely, out of the box.

Coupled with tracking changes and comments, as well as aided by the users selection and presence list, these plugins offer a full-fledged collaborative writing and editing environment! CKEditor 5 real-time collaboration features let you customize any CKEditor 5 build to include real-time collaborative editing, commenting and suggesting features and tailor them to your needs. It is a plug&play system based on the CKEditor 5 Framework that brings all the functions together.

Flexible and adaptive thanks to the atomic design approach, it allows scaling and can suit all applications and implementations, boosting productivity and creativity of your users.

Collaborative writing with CKEditor 5 WYSIWYG editor in practice.

Ready to try it out? Play with the real-time collaborative editing demo, sign up for a trial and refer to the documentation for complete guidance on how to integrate this feature with your application.

# Does collaborative editing work?

What kind of question is that? Of course, it does! And we have user cases proving that CKEditor 5 Collaboration Features are the right tools for any multiuser content creation.

One of the recent cases would be Agreemint – a platform aimed at providing a contract creation workflow. Signing contracts of all sorts is always a tricky undertaking. Legal and business deals need special attention and scrutiny when it comes to details. No single change can go unnoticed due to severe consequences it could later have. Coming to an agreement is a difficult task and communication is key here.

This is why Agreemint reached out and decided to employ CKEditor 5’s collaboration features to harness the power of cooperation and bring efficient, fast solutions to the table. The effect was a versatile, flexible tool that addresses the needs of professionals.

The Agreemint platform is just one example, though. Head to our Case Studies section to discover more use cases and get inspired:

  • Renku – a Swiss data-sharing platform for researchers,
  • Policy Kitchen – a civic policy think-tank,
  • Spotlight – a technology platform for analysts, vendors and agencies,
  • Tablo – a remote education tool.

CKEditor 5 with its collaborative editing features is a flexible tool that is a perfect solution whenever you need a reliable, secure and advanced content editing tool. Publishing industry? ✓ Education sector? ✓ Any SaaS application, be it a CRM, CMS, document management system, marketing platform, communication or chat system? ✓ CKEditor has been implemented in all of these and more!

Whether you are a business professional, a technical writer or an advanced hobbyist – these functions can address your needs, too. Why not benefit from utilizing them on a daily basis?

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });