Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

!!! FEATURE: Upgrade CKEditor 5 from version 16.0.0 to 44.0.0 #2836

Closed
4 tasks
paxuclus opened this issue Nov 17, 2020 · 6 comments · Fixed by #3883
Closed
4 tasks

!!! FEATURE: Upgrade CKEditor 5 from version 16.0.0 to 44.0.0 #2836

paxuclus opened this issue Nov 17, 2020 · 6 comments · Fixed by #3883
Assignees

Comments

@paxuclus
Copy link
Contributor

Description

Currently v16 is in use. As of creating this issue, https://github.com/ckeditor/ckeditor5/releases/tag/v23.1.0 is the latest release.

  • Check breaking changes
  • Decide on target version for neos-ui
  • Update
  • Test extensibility
@paxuclus
Copy link
Contributor Author

If nobody else wants to take care of this I might be able to work on this in december 🤞

@markusguenther
Copy link
Member

@nlx-lars You are welcome to provide a PR ❤️

@mhsdesign
Copy link
Member

Was just reminded again that we neeeeeed to update ^^

Ckeditor is currently moving to typescript (instead of jsdocs) so we should definitely wait for 37 (maybe some breakiness will occur ^^)

i know that v22 is pretty breaky for external plugins as the upcast and downcast callback is slightly changed

currently v16

        conversion.for( 'downcast' ).elementToElement( {
            model: 'placeholder',
            view: ( modelItem, viewWriter ) => createPlaceholderView( modelItem, viewWriter );
        } );

starting with v22 see https://github.com/ckeditor/ckeditor5/releases/tag/v22.0.0

        conversion.for( 'downcast' ).elementToElement( {
            model: 'placeholder',
            view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter );
        } );

@Reinmar wrote in slack

There were quite many releases since 16.0.0 so it’s not going to be automatic for sure. I also don’t know which parts of API you rely on so it’s hard for me to assess the size of the scope.

Some resources that may help are

In general, we didn’t have changes that would make migrating hard for a long long time. We regularly ship some smaller breaking changes, but always (at least for the last 2-3 years) with easy upgrade paths.

I think our biggest problem will be plugins (as how can we support two apis at the same time? Wed need to expose the currently used ckeditor version so people can based on their enviroment call the correct api. This is a bit cumbersome for plugin authors but the only way i see. It sure will be a breaking change so 9.0 it is.

Another funny thing to see will be wether our manual extracted css will hold up, or if we need the correct build setup:
see

@mhsdesign
Copy link
Member

mhsdesign commented Mar 27, 2023

also we can get rid of:

// TODO: remove when this is fixed: https://github.com/ckeditor/ckeditor5/issues/401

and we should also try to fix: #3223

@markusguenther
Copy link
Member

As written in the PR, the CKEditor API has evolved significantly, and any plugins relying on outdated APIs may no longer function as expected. We cannot provide a detailed upgrade guide for your custom or third-party plugins. Instead, we recommend consulting the release notes of CKEditor 5 for the relevant versions. Note that during testing, some packages dependent on the old implementation were found incompatible.

To support the community, we aim to review a few community plugins and, where feasible, submit PRs to update them, offering practical examples.

So we will have no complete list of API changes, if someone is willing to collect that (maybe with a tool to collect all breaking changes over time) feel free. We would be happy to have a complete list.

Thanks to all who were involved. It was quite a long journey to version 44.0.0 👏 🥳

@markusguenther markusguenther moved this from In Progress 🚧 to Under Review 👀 in Neos 9.0 Release Board Dec 6, 2024
@markusguenther markusguenther changed the title Upgrade CKEditor5 !!! FEATURE: Upgrade CKEditor 5 from version 16.0.0 to 44.0.0 Dec 6, 2024
@markusguenther
Copy link
Member

Locally, all tests are green:
44 passed (9m 21s)
9 skipped

In the CI one test is failing regarding something else. The syncing tests are kind of flaky.
Yesterday in the evening it was green 🙈
Image

@github-project-automation github-project-automation bot moved this from Under Review 👀 to Done ✅ in Neos 9.0 Release Board Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
3 participants