-
New Feature
-
Resolution: Fixed
-
Critical
-
4.1, 4.3
-
MOODLE_401_STABLE, MOODLE_403_STABLE
-
MOODLE_403_STABLE
-
MDL-75268-master -
-
6
-
Team Hedgehog 2023 Review 2, Team Hedgehog 2023 Sprint 3.1, Team Hedgehog 2023 Sprint 3.2
TinyMCE offer a range of Premium plugins which can be loaded from their site after inserting a license key (paid addition).
Pricing: https://www.tiny.cloud/pricing/
List of plugins: https://www.tiny.cloud/docs/tinymce/6/plugins/
To integrate with Moodle we should:
- review the prototype I put together before and make sure it works
- convert it into a new plugin (tiny_premium located in lib/editor/tiny/plugins/premium)
- check each plugin and remove:
- any plugin which requires server components
- any plugin which requires administrator configuration (e.g. Advanced Templates - though this requires a newer version of Tiny than we currently use)
- any plugin which conflicts with an existing Moodle feature (e.g. Accessibility checker, MoxieManager)
- then for any of those plugins that we do not include, we should create an issue in which we will:
- determine if we wish to have that feature or not (if no, we'll close the issue)
- determine what UI changes are required for it (e.g. any site and/or user preferences)
Ideally we'll have be able to make the plugin available in plugins DB for stables too.
Old description:
We should look into:
- whether it would be technically possible to support the Premium plugins natively in Moodle without requiring code changes
- whether Tiny themselves are a viable integration partner for Moodle (pinging carles.aguilo@moodle.com)
- which plugins/integrations we can support
I believe that we should be able to add support for a license key field within Moodle's site administration and, if present, make the premium plugins available. This would be basic premium features. It may be possible to integrate additional premium features via further configuration.
Compatible Premium features
We need to assess which of the premium features we can include.
Server-side requirements
The following premium features require additional server-side configuration which means that we would not enable by them without additional configuration (that is a checkbox/text field):
- Spell checking
- Export
- Enhanced image editing
- Enhanced media embed
- Link checker
Source: https://www.tiny.cloud/docs/tinymce/6/introduction-to-premium-selfhosted-services/
Moodle-plugins better suited
Some of the premium features will be better server as Moodle plugins anyway
- a11y checker?
- code editor
- MoxieManager (File and image management)
Simply incompatible with Moodle at this time
Some are just not likely to be compatible with Moodle at this time:
- Real-time collaboration
- Checklists
- Mentions
Getting started
Andrew has included a proof of concept to get things started, here are some notes on what's required to continue that work:
- Move the code to a tiny plugin
- Set up the configuration for the features that will be included and finish the implementation.
- Analyse and document which features are compatible with Moodle and make sense to include in Moodle. In case it needs further investigation, create a new issue for it inside the same epic.
NOTE: Do NOT include in the plugin any features that need extra configuration, create a new issue for those.
- blocks
-
MDL-79257 Cache TinyMCE Premium API Key in browser cache
- Open
-
MDL-79129 Implement Tiny Premium plugins (round 2)
- Open
- caused a regression
-
MDL-81570 Tiny editor "Premium" plugin missing language string debugging
- Closed
- has a non-specific relationship to
-
MDL-78251 Upgrade Tiny to 6.6.2
- Closed
-
MDL-79641 TinyMCE 6 Spellchecker
- Closed
- has been marked as being related by
-
MDL-80257 TinyMCE Copy paste is broken if enabling TinyMCE Premium
- Closed
-
MDL-80958 Improve the strings of "Tiny premium" settings.
- Closed
- is blocked by
-
MDL-78251 Upgrade Tiny to 6.6.2
- Closed
- will help resolve
-
MDL-76517 TinyMCE Colour plugins
- Open
-
IDEA-160 Ability to add native TinyMCE plugins
- Cancelled