Dnn.Platform icon indicating copy to clipboard operation
Dnn.Platform copied to clipboard

[Enhancement]: Replace CKEditorProvider with a New Provider

Open mitchelsellers opened this issue 10 months ago • 16 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Description of problem

The existing CKEditor has reached end-of-life; upgrading to the latest version of CKEditor is not possible due to the license model changing.

As we look for a replacement, this ticket was created to document the minimum requirements necessary.

HTML Editor Settings Requirements

The existing CKEditor provider supports multiple overriding levels of configuration of many settings, and not all of them work as desired or are no longer supported.

To simplify this configuration, we would support the following configuration.

  • Host Configuration
    • This would be the default configuration of the editor for all portals, including the toolbar configuration, security setup etc
  • Portal Configuration
    • This would be an override of the host level, with different options for input/validation as supported by the platform. With an additional ability to limit the toolbar by a given Role, at minimum.

Configuration elements should be stored via the file system in a SECURE JSON file.

Breaking Changes for Those Transitioning from CKEditor

By supporting the above, we would no longer support the following features.

  • Page Configuration - You are no longer able to override editor settings, including role-based toolbar adjustments at the page level
  • Module Configuration - You are no longer able to override editor settings, including role-based toolbar adjustments at the module level
  • No Migration Path Provided - Users must reconfigure any existing editor configurations.

HTML Provider Implementation Requirements

The following items must be implemented.

  • WebForms Modules must still able to leverage the existing UserControl for integration
  • Users must be able to browse for image assets to include in HTML content, leveraging all DNN API's & security, including proper linking (relative or LinkClick.aspx)
  • Users must be able to browse for assets to link (documents), leveraging all DNN API's and security
  • Configurations must be Applied
  • Must function within an UpdatePanel for Web forms module
  • Multi-Language support for the static text/prompts of the editor.

It would be desired, if possible when doing this also to support

  • Usage from SPA or MVC Module using a supported pattern (Web Component or otherwise)

Possible Breaking Changes for those Migrating from CKEditor

  • Content Templates - Currently in CKEditor you can modify the configuration to add content templates, this MAY not be supported by other editors
  • Linking to specific portal pages using a dialog may not be supported

Description of solution

Possible options for providers would be

The critical requirement is that anything included be Open Source and controlled under a license that is allowable for consumption by a MIT-based project and actively maintained and distributed via a durable channel (NPM etc).

Description of alternatives considered

No response

Anything else?

This is being created to start conversations regarding the future for the HTML Editor, this needs future planning, validation that we are not missing other breaking changes AND developers to implement the final solution, so please discuss.

Do you be plan to contribute code for this enhancement?

  • [ ] Yes

Would you be interested in sponsoring this enhancement?

  • [ ] Yes

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

mitchelsellers avatar Aug 15 '23 19:08 mitchelsellers