Hi Joshm
Thanks for the feedback.
1) Unfortunately this was an oversight and will be added in 4.2. The link plugin was inadvertently missed as a feature needing to use the Repository. We have MDL- to cover this.
2) Disabling featurs
As Mary and I have pointed out, this is already possible. We already define RecordRTC capabilities for this. We also do so for several other features (like H5P).
Re your side rant, we're trying to solve this, but different browser and OS combinations offer different support for different codecs. The only solutions is to transcode the content once recorded, but this would require something like ffmpeg being installed on the server - which is unlikely to be a popular move, and is also difficult to get right.
We are also trying to transcode the content using WASM modules at play-time but this solution is not perfect.
It's also not clear how best to solve this one.
3) This is a tricky one to solve.
TinyMCE's default colour selector is very problematic and we deliberately disabled it with the intent to replace it with something more suitable in the future.
The problem boil down to the way in which it sets the colour on the selected content - specifically it does so by setting a style attribute with a hard-coded hex colour in the element. Whilst that seems like a really simple and obvious way to do things, it does not work well in our case where we have multiple theme support, and themes may change
over time, or offer features such as dark mode.
As a case in point, you may create content which has a yellow background using the TinyMCE colour palette, and use the standard font colour (dark grey I believe). That works well, until someone updates the theme to support dark mode and flips the background colour to dark grey and the font colour to an off-white. Because of the way in which TinyMCE sets the colour on the content, it's only set the background colour (pale yellow), but the font colour is now an off-white. As a result you have content which has dark grey page background, with the content itself having a pale yellow background and off-white text. It's totally illegible.
The other concern with using colours for content is that they are often used to highlight content. Again your suggestion pretty much hits the nail on the head - your suggestion is to add a "highlighter", but that's only a visual highlight. It does not work for users of screenreaders with very low or no visual acuity. Ideally we need to find a way that indicates that content has a high priority to them in some way too.
We are looking to solve this - and the first part is relatively easy.
Rather than hardcoding colorus onto the element via a style attribute, we can set a class name on it with the theme filling in the colours. We can do this using CSS variables so that the editor can consume them from whichever compiled CSS the theme uses (SCSS, LESS, SASS, etc.). A little work is required here as we need to essentially define a contract between the theme and the editor on the styles that they should use, and the list of available colour groups. We don't want to use something that is TinyMCE-specific because if you later remove the editor, along with its bundled style content, any styles bundled will be removed and your content will lose all styling.
The latter part is a little more challening and we'll likely need to work with our accessibility consultants and UX designers to find a solution which makes this possible with the least difficulty.
4) Flexible grid
That sounds like a really useful feature. Again we do have the concern with theme interactions and requiring a contract with all theme as to which CSS classes they will commit to supporting for which features. That's mostly a discussion rather than a technical challenge.
Could I ask you to create a new issue on
MDL-75926 with more information on this one?
5) Codeblock & HTML mode Styling
The view source code tool is going to be updated via
MDL-75265 to support beautification, and code styling.
We'll have to look separately at handling this in the rendered content though - again we get into issues with themes doing things differently and this one is possibly harder to solve.
We'll handle theming of code blocks in rendered content separately. I have created
MDL-76518 to cover this.
Andrew