adapt-security / adapt-authoring-ui

Frontend user interface of the Adapt authoring tool
1 stars 2 forks source link

Upgrade CKEditor #273

Closed taylortom closed 2 weeks ago

taylortom commented 6 months ago

CKEditor 4 has now reached EOL.

We need to make a decision as to whether we should adopt v5 or move to something else. This work also should be undertaken with the understanding that we'll be moving to React ASAP.

R&D work should be carried out & discussed before any solution is worked on.

tomgross commented 6 months ago

Maybe Quills could be an option to investigate further? It has

It seemed a bit quiet around the project but there seems to be a new version around the corner: Release Version 2.0.0-beta.0 · quilljs/quill (github.com)

I am not affiliated with the project. I just wanted to share some thoughts of an analysis for another project.

taylortom commented 6 months ago

Thanks for the recommendation @tomgross, I don't have any experience with modern editors, but I've also heard that Quills is good. There's also a lot of positive noise around Tiptap, which I'll also investigate.


As a stop-gap, I'm going to get CKEditor v5 working (as it seems like the path of least resistance at this point in time). This'll give us a bit of breathing room to let us do the work on upgrading Scaffold to React & research all the editor components we'll need.

taylortom commented 6 months ago

Notes

taylortom commented 5 months ago

Outstanding issues

taylortom commented 5 months ago

Full XSS config can be found here: adapt-authoring-jsonschema/lib/XSSDefaults.js

The following gist contains all relevant HTML for testing purposes: https://gist.github.com/taylortom/3cda38de62bc2b5d8de74cbfcae775cb

TODO

chris-steele commented 4 months ago

@taylortom let me know if you want me to look at the unit tests (will need a quick chat probably)

hanshillen commented 1 month ago

I've been using CKE5 in an AAT fork for about a year now, and am very happy with it. I used the CKEditor online builder to create a custom build with added plugins for things like code snippets, custom block/text styles, markdown support, and my own toolbar layout. It would be great if AAT could have a default CKE5 editor and then allow admins to replace it with their own custom version.

taylortom commented 2 weeks ago

Thanks for the positive feedback @hanshillen, we've not noticed any issues either thus far 😄 I'll look into ways that we can allow custom CKE builds.