Open iOvergaard opened 1 month ago
Will there be an RFC for the new rich text editor?
Will there be an RFC for the new rich text editor?
There is a mini-RFC available on the CMS discussion board: https://github.com/umbraco/Umbraco-CMS/discussions/17067
Description
Umbraco is using TinyMCE 6 which reaches its end-of-support on October 31, 2024 (source). We cannot upgrade to TinyMCE 7 due to licensing incompatibilities. We are introducing a replacement for TinyMCE. Umbraco 15 will offer the opportunity to run TinyMCE side-by-side with the new editor.
Version
Umbraco 16
Previous behavior
Umbraco ships with a data type referred to as the "Rich Text Editor". Under the hood, this editor uses TinyMCE to render the visual part of the editor and control the HTML input/output. Umbraco 14 underwent a migration, where the server part is now called
Umbraco.RichText
and the UI part is calledUmb.PropertyEditorUi.TinyMCE
.New behavior
Umbraco will discard the concept of having a single rich text editor in the source code and documentation. Umbraco 15 will introduce a new rich text property editor UI based on the
Umbraco.RichText
schema. You will be able to update any TinyMCE data types to the new editor. The built-in data type known as "Rich Text Editor" will default to the new editor UI from Umbraco 15, and TinyMCE will be considered deprecated from there on. TinyMCE will not be included in Umbraco 16.Type of breaking change
Reason for change
Tiny Technologies Inc. has seen fit to change the license of TinyMCE from MIT to GPLv2 (source, source). This is in effect from TinyMCE 7 and onwards. We do not consider Umbraco (the software), which is licensed under MIT, to be compatible with and able to use a library licensed under GPLv2. Therefore, we have deemed it necessary to deprecate and eventually remove TinyMCE from Umbraco.
Recommended action
We aim for you to be able to make a seamless transition from TinyMCE to the new editor with any existing content. You should be able to change the property editor UI from TinyMCE to the new editor without losing any content. You will likely have to reconfigure the toolbar and other settings. You will have to change the interface of any bespoke plugins written for TinyMCE. Any purchased TinyMCE premium plugins will not be compatible with the new editor.
However, upon removal of the TinyMCE namespace, the alias is free to re-use. It will be possible to implement a custom instance of TinyMCE as a property editor, where you can declare whether you want to accept the terms of the GPL license or purchase a commercial license key from Tiny. We urge the ecosystem to take up the opportunity to release a package with TinyMCE licensed as GPLv2 or another compatible license.
Affected APIs
These areas are affected in the Backoffice and will be removed:
Umb.PropertyEditorUI.TinyMCE
TinyMcePlugin
TinyMcePluginArguments
UmbTinyMcePluginBase
@umbraco-cms/backoffice/tiny-mce
@umbraco-cms/backoffice/external/tinymce