Problem/Motivation

ckeditor5:
  remote: https://github.com/ckeditor/ckeditor5
  version: "47.6.3"
  license:
    name: GPL-2.0-or-later
    url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v47.6.3/LICENSE.md

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Comments

szato created an issue. See original summary.

szato’s picture

cilefen’s picture

longwave’s picture

szato’s picture

I think it's not only about linking the LICENSE
The core libraries says, core uses CKEditor verson: 47.6.3.
https://git.drupalcode.org/project/drupal/-/blob/cb2683bde9abb87adca1e9a...

If you have installed other CKEditor plugin, e.g. via ckeditor_media_embed, you'll get error on status report:

CKEditor Media Embed plugin
Mixed versions
The following CKEditor plugins are installed: media-embed.
The installed CKEditor plugins have a different version than the installed CKEditor. Please consider updating the plugins.
To update the CKEditor plugins run drush ckeditor_media_embed:update if you have Drush installed. Otherwise, please see the installation instructions on the page for additional update methods.
Installed plugins version: 47.6.2
CKEditor version: 47.6.3

Version 47.6.3 does not exist, so running the extension update will fail.

longwave’s picture

Please see the linked issue #3624064: 11.3.17 runs CKEditor 47.6.3-drupal.0, no upstream tag? for the reason that we have an unpublished version number. I don't have a good answer as to what to do here; the version does exist, just it's not published on npm; this is CKSource's choice.

brevilo’s picture

Well, the linked issue doesn't help much as it's a won't-fix.

The problem is obviously still relevant: Drupal uses a non-public version of CKEditor 5 (as in: there's no associated public tag for it). Our problem is that dependent libraries like ckeditor5-markdown-gfm are thus not available for that very version. This kind of breaks markdown support for us on 10.6.17 as it's not guaranteed that both libraries are compatible with their differing versions. That's a similar situation like the plugins reported by "szato" above. Is that still considered to be minor, let alone a won't-fix?

Why not use a version that's also publicly available, e.g. v47.7.0 in this case (the closest successor)? That would avoid these issues.

Thanks

longwave’s picture

This bug as such is minor because it's only cosmetic as far as I can tell, but we understand that the linked issue is causing problems for CKEditor plugin developers.

The core committers are actively discussing these issues with CKSource and hope to provide a solution soon.

brevilo’s picture

I'm not sure "only cosmetic" does this issue justice. Please note that our case is not about "plugin developers" but actual site owner who run CKEditor with added markdown support. So for us this is a clear regression breaking our updates.

It's encouraging to hear that "core committers are actively discussing these issues". Where can we follow that process now that #3624064 declares a won't-fix? We need to know when the regression got fixed in order to be able to revert to normal operations.

Thanks

cilefen’s picture

@brevilo I think any update would occur here, in this issue.

longwave’s picture

CKSource have opened a public repository with the source of the Drupal version of CKEditor: https://github.com/drupal-ckeditor/ckeditor5

They have also issued a further minor update for a bug that affects Safari users on Intel, so I guess we need a separate issue to update that.

@szato @brevilo Does this help with CKEditor contrib extensions? Are there any changes we need to make in core to help support you here?

brevilo’s picture

I don't think the separate repo alone will help. Sure, it's good to have at least access to the source again, which is a GPL requirement anyway. But packaging of, say, ckeditor/ckeditor5-markdown-gfm is done off of the original/upstream CKEditor repo itself. So the real requirement here is to only ever use tags which are sync with (as in: available in) the upstream repo.

For instance, if you want to release (and reference in core) a new version of drupal-ckeditor/ckeditor5, ensure that it's based on a released version of ckeditor/ckeditor5. Note, this presumes that any customizations in drupal-ckeditor/ckeditor5 are tested and proven to ensure compatibility with other parts (here: packages) of the the (upstream) repo.

Thus the update following 47.6.2 should not have been 47.6.3 (non-existent in ckeditor/ckeditor5) but 47.7.0.

Thanks

catch’s picture

@cilefen no we will have exactly the same problem.

The dual issue is that ckeditor changed their build process to deprecate the dll one that is used in Drupal 10 and 11.

Drupal 12 switched to umd, with a bc layer for existing plugins that mostly works but would be very risky to change in a minor release (let alone patch release) which is why it wasn't backported to Drupal 11 at the time, see https://www.drupal.org/node/3581531

As a result of that, our only other option was to stay on the 'LTS' ckeditor release for 10/11, but as it turns out, this is not a proper LTS and has all the problems described above. Exactly how poor the support for the LTS would be was not clear until the first actual release, there was no clear communication how it would be distributed (or, not distributed) prior to then.

The actual resolution to this is #3588899: [policy, no patch] Move ckeditor to contrib because a contrib module can have branches for different ckeditor versions, allowing sites to update to ckeditor 48+ in Drupal 11 on their own schedule, but without us force-updating every site in an arbitrary release. But that contrib module does not exist yet.