The update to CKEditor 5 in the Drupal community has been bumpy. We are hoping to avoid most of that frustration for our community.

Plan for updating to CKEditor 5:

  • Create a ckeditor5 module in core
  • Enable this module by default for new installs
  • Leave the ckeditor module enabled for existing sites
  • The ckeditor5 module will provide all the same features as ckeditor (unlike Drupal)
  • The ckeditor5 module will include an upgrade path for content (unlike Drupal)

TODOs for the ckeditor5 module (incomplete)

  • [ ] Update to the ckeditor 5 library
  • [ ] Update the link plugin to use the existing modal
  • [ ] Update the image plugin to use the existing modal
  • [ ] Include an upgrade path for markup differences
  • [ ] Update the telemetry module to report the CKEditor version
  • [ ] more TBD

Original post:

CKEditor 4 to 5 is a big change, similar to the D7 to D8 move:

https://support.ckeditor.com/hc/en-us/articles/115005971405-How-to-migra...

When compared to its predecessor, CKEditor 5 should be considered a totally new editor. Every single aspect of it was redesigned — from installation, to integration, to features, to its data model, and finally to its API. Therefore, moving applications using a previous CKEditor version to version 5 cannot be simply called an "upgrade". It is something bigger, so the "migration" term fits better.

There is no "drop in" solution for migrating. Please refer to this guide to see a summary of the most important aspects to be taken into consideration before you proceed with migrating to CKEditor 5.

https://www.drupal.org/project/ckeditor5_sections

From Paragraphs to Sections - Next level Drupal content editing (DrupalCon Amsterdam - Session Proposal)

Add optional support for CKEditor 5 in D9 so we can remove CKE 4 from Drupal 10

... General requirement: the high-level existing features documented at https://www.drupal.org/docs/8/core/modules/ckeditor/overview continue to exist. If there are strong reasons to not have those features anymore, it needs sign-off from Drupal product managers. Those are: structured content, clean markup, integrates with filter system, paste from Word/Google Docs, drag-and-drop text editor configuration UI, strong safety guarantees, contrib extensibility.

...

Drupal 9 + CKE4 security support The CKEditor team guarantees security fixes for CKEditor 4 until early 2024. This allows us to ship CKEditor 4 with Drupal 9 without the need to shorten Drupal 9's release cycle (if CKEditor 4 security support would end in early 2023 like we first thought might be the case, Drupal 9's life would be shorter than 3 years).

...

in today's CKEditor 5 any HTML that that does not have a CKE5 converter will result in data loss.

From https://wimleers.com/blog/cke5-gcw#fn:3

In a nutshell: CKEditor 4 leverages the browser as much as possible. Consequence: any tiny difference in behavior across browsers in low-level APIs has a huge negative impact. CKEditor 5 therefore avoids using the browser for many low-level operations, and re-implements many things. This way, it can guarantee consistency and reliability. But consequently, not all HTML is natively supported anymore!

GitHub Issue #: 
4122