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

[Breaking change]: TinyMCE will be removed in Umbraco 16 #20

Open
2 tasks done
iOvergaard opened this issue Sep 16, 2024 · 2 comments
Open
2 tasks done

[Breaking change]: TinyMCE will be removed in Umbraco 16 #20

iOvergaard opened this issue Sep 16, 2024 · 2 comments
Labels
category/binary-incompatible Existing binaries may encounter a breaking change in behavior. category/breaking category/source-incompatible Source code may encounter a breaking change in behavior when targeting the new version. cms/release/16.0.0

Comments

@iOvergaard
Copy link

iOvergaard commented Sep 16, 2024

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 called Umb.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

  • Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
  • Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

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:

  • The property editor UI Umb.PropertyEditorUI.TinyMCE
  • The extension type TinyMcePlugin
  • The interface ​​TinyMcePluginArguments
  • The class UmbTinyMcePluginBase
  • The module @umbraco-cms/backoffice/tiny-mce
  • The module @umbraco-cms/backoffice/external/tinymce
@iOvergaard iOvergaard added category/breaking cms/release/16.0.0 category/binary-incompatible Existing binaries may encounter a breaking change in behavior. category/source-incompatible Source code may encounter a breaking change in behavior when targeting the new version. labels Sep 16, 2024
@skttl
Copy link

skttl commented Sep 16, 2024

Will there be an RFC for the new rich text editor?

@iOvergaard
Copy link
Author

Will there be an RFC for the new rich text editor?

There is a mini-RFC available on the CMS discussion board: umbraco/Umbraco-CMS#17067

@umbraco umbraco locked and limited conversation to collaborators Oct 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
category/binary-incompatible Existing binaries may encounter a breaking change in behavior. category/breaking category/source-incompatible Source code may encounter a breaking change in behavior when targeting the new version. cms/release/16.0.0
Projects
None yet
Development

No branches or pull requests

2 participants