Currently, CKeditor toolbars can be defined programmatically via EditorConfigContributors. Additionally, there is the concept of toolbar set which allows to define several toolbars as part of the editor configuration, then specify which one to use. All these mechanisms require programming and deploying code in the server.
However, we lack the ability to let users personalize these toolbars for different CKEditors in a way that avoids code to be deployed, and to remember their preferences.
In this epic we define a configuration-based mechanism to specify CKEditor toolbars, .
- A system/instance setting allows to add new toolbars. Each toolbar is defined as a JSON object which will be input as a string
- CKEditor provides a button to select the toolbar so that users can make their choice
- User choice is remembered for each separate editor
- Default toolbars are available (i.e. the ones we have)