From bbc608e0351f3c6e9807aac118c21e6c4bbbbb62 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Fri, 10 Apr 2026 15:07:28 +1000 Subject: [PATCH 1/2] Docs: DOC-3408 - Clarify that both bundling and lazy loading are fully supported --- modules/ROOT/pages/bundling-plugins.adoc | 15 ++++++++++----- modules/ROOT/pages/license-key.adoc | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/bundling-plugins.adoc b/modules/ROOT/pages/bundling-plugins.adoc index 1801a28dc8..f72123a8c1 100644 --- a/modules/ROOT/pages/bundling-plugins.adoc +++ b/modules/ROOT/pages/bundling-plugins.adoc @@ -88,7 +88,12 @@ require('/plugins/'); [[using-premium-plugins]] == Using premium plugins -After installing the `+tinymce-premium+` package, you need to configure the plugins in your editor. There are two main approaches: +After installing the `+tinymce-premium+` package, configure the plugins in the editor using one of two fully supported approaches. Both options are production-ready and will continue to be supported in future releases: + +* **<>** -- includes plugin code directly in the application bundle using a module bundler +* **<>** -- loads plugins at runtime from a specified URL, enabling lazy-loading and CDN hosting + +The right choice depends on the application architecture and deployment requirements. [IMPORTANT] ==== @@ -112,9 +117,9 @@ external_plugins: { ==== [[bundling-recommended]] -=== Bundling (Recommended) +=== Bundling -For most modern applications, bundling premium plugins is recommended. This includes the plugin code directly in your application bundle. +Bundling includes the plugin code directly in the application bundle. This approach works well for applications that already use a module bundler such as Webpack, Vite, or Rollup. . Import the premium plugins you need: + @@ -141,9 +146,9 @@ tinymce.init({ For complete bundling examples, see the <> and <> sections below. [[using-external-plugins]] -=== Using external_plugins (Non-bundling) +=== Loading with external_plugins -When bundling is not available or you want to lazy-load plugins, use the `+external_plugins+` option: +The `+external_plugins+` option loads plugins at runtime from a specified URL. This approach enables lazy-loading, allows serving {productname} assets from a CDN or separate host, and avoids adding editor code to the application bundle. {cloudname} uses this same mechanism to load the editor. [source,js] ---- diff --git a/modules/ROOT/pages/license-key.adoc b/modules/ROOT/pages/license-key.adoc index e9c8c48838..f6489b14c3 100644 --- a/modules/ROOT/pages/license-key.adoc +++ b/modules/ROOT/pages/license-key.adoc @@ -74,7 +74,7 @@ tinymce.init({ ==== * The `+licensekeymanager+` plugin is included in the `+tinymce-premium+` package. * The `+tinymce-premium+` package version must match the `+tinymce+` package version (e.g., both at 8.3.0). -* The `+external_plugins+` option allows loading the license key manager from any location, useful when bundling is not available or when lazy-loading plugins. For more information, see: xref:editor-important-options.adoc#external_plugins[`+external_plugins+` configuration option]. +* The `+external_plugins+` option allows loading the license key manager from any location, such as a CDN or separate host. For more information, see: xref:editor-important-options.adoc#external_plugins[`+external_plugins+` configuration option]. ==== == License Types and Deployment Options From be5f9c7ad42c007a7aee8cb3088cf5b4686df2d7 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Fri, 10 Apr 2026 20:23:17 +1000 Subject: [PATCH 2/2] Update modules/ROOT/pages/bundling-plugins.adoc Co-authored-by: Andrew Herron --- modules/ROOT/pages/bundling-plugins.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/bundling-plugins.adoc b/modules/ROOT/pages/bundling-plugins.adoc index f72123a8c1..ff4866657c 100644 --- a/modules/ROOT/pages/bundling-plugins.adoc +++ b/modules/ROOT/pages/bundling-plugins.adoc @@ -148,7 +148,7 @@ For complete bundling examples, see the <> and [[using-external-plugins]] === Loading with external_plugins -The `+external_plugins+` option loads plugins at runtime from a specified URL. This approach enables lazy-loading, allows serving {productname} assets from a CDN or separate host, and avoids adding editor code to the application bundle. {cloudname} uses this same mechanism to load the editor. +The `+external_plugins+` option loads plugins at runtime from a specified URL. This approach uses lazy loading, serving {productname} assets from a CDN or separate host, and avoids adding editor code to the application bundle. {cloudname} uses this approach to load the editor. [source,js] ----