diff --git a/antora.yml b/antora.yml index 19391046b8..de3c4e76f5 100644 --- a/antora.yml +++ b/antora.yml @@ -15,7 +15,7 @@ asciidoc: webcomponent_url: https://cdn.jsdelivr.net/npm/@tinymce/tinymce-webcomponent/dist/tinymce-webcomponent.min.js jquery_url: https://cdn.jsdelivr.net/npm/@tinymce/tinymce-jquery@2/dist/tinymce-jquery.min.js openai_proxy_url: https://openai.ai-demo-proxy.tiny.cloud/v1/chat/completions - openai_proxy_token: eyJhbGciOiJFUzM4NCJ9.eyJhdWQiOlsiaHR0cHM6Ly9vcGVuYWkuYWktZGVtby1wcm94eS50aW55LmNsb3VkLyJdLCJleHAiOjE3NTEzMjgwMDAsImh0dHBzOi8vb3BlbmFpLmFpLWRlbW8tcHJveHkudGlueS5jbG91ZC9yb2xlIjoicHVibGljLWRlbW8iLCJpc3MiOiJodHRwczovL2FpLWRlbW8tcHJveHkudGlueS5jbG91ZC8iLCJqdGkiOiJmOGFmY2EyNC1mN2FhLTQxMjktYTc2Yy02YThlZDU3YjAyZjYiLCJzdWIiOiJhaS1hc3Npc3RhbnQtZGVtbyJ9.Xu0apHCbxgmRQTeTqrTIDFFhh2CgKeARRXa3mCxSGoCwZqkoQaFRZBCzDo8Xz7DuUa5mW2XHl-HYcYiXJM9ly16d0oY7lJefHBeLlmJEBE1CSttHBkCRWZS8eFLCasL6 + openai_proxy_token: eyJhbGciOiJFUzM4NCJ9.eyJhdWQiOlsiaHR0cHM6Ly9vcGVuYWkuYWktZGVtby1wcm94eS50aW55LmNsb3VkLyJdLCJleHAiOjE3ODI4NjQwMDAsImh0dHBzOi8vb3BlbmFpLmFpLWRlbW8tcHJveHkudGlueS5jbG91ZC9yb2xlIjoicHVibGljLWRlbW8iLCJpc3MiOiJodHRwczovL2FpLWRlbW8tcHJveHkudGlueS5jbG91ZC8iLCJqdGkiOiIxZWY3NjJiNi1mZDYyLTQ3ZWQtOGRkNS0yOGRmMzBkZDU4YmMiLCJzdWIiOiJhaS1hc3Npc3RhbnQtZGVtbyJ9.WC8GIY19MgZneDVZoA-Ttt9E7gNkD0Yl-pcM_5c2RT3RdV_zE0i4bPOGBJpg_g6wu_4ki2ery6_JZtk2Q9gXEBHH7fIu7hXDFS8uIV9qe8MyxEqqRncGFVDjSTldVXGS default_meta_keywords: tinymce, documentation, docs, plugins, customizable skins, configuration, examples, html, php, java, javascript, image editor, inline editor, distraction-free editor, classic editor, wysiwyg # product docker variables dockerimageimportfromwordexporttoword: registry.containers.tiny.cloud/docx-converter-tiny diff --git a/modules/ROOT/pages/exportpdf.adoc b/modules/ROOT/pages/exportpdf.adoc index a3a84750db..7032ad7341 100644 --- a/modules/ROOT/pages/exportpdf.adoc +++ b/modules/ROOT/pages/exportpdf.adoc @@ -28,8 +28,8 @@ tinymce.init({ selector: 'textarea', plugins: 'exportpdf', toolbar: 'exportpdf', -// Below option is only required when using the cloud-based Export to PDF plugin from Tiny.Cloud. -// Avoid setting it up during the trial period. + // Required for the cloud-based Export to PDF plugin with Tiny Cloud + // Create a JWT key in the Customer Portal for trial functionality to enable watermark-free exports during the trial period exportpdf_token_provider: () => { return fetch('http://localhost:3000/jwt', { // specify your token endpoint method: 'POST', diff --git a/modules/ROOT/pages/exportword.adoc b/modules/ROOT/pages/exportword.adoc index d275fb96ed..042dd16561 100644 --- a/modules/ROOT/pages/exportword.adoc +++ b/modules/ROOT/pages/exportword.adoc @@ -35,8 +35,8 @@ tinymce.init({ selector: 'textarea', plugins: 'exportword', toolbar: 'exportword', -// Below option is only required when using the cloud-based Export to Word plugin from Tiny.Cloud. -// Avoid setting it up during the trial period. + // Required for the cloud-based Export to Word plugin with Tiny Cloud + // Create a JWT key in the Customer Portal for trial functionality to enable watermark-free exports during the trial period exportword_token_provider: () => { return fetch('http://localhost:3000/jwt', { // specify your token endpoint method: 'POST', diff --git a/modules/ROOT/pages/importword.adoc b/modules/ROOT/pages/importword.adoc index 7c5a201d7f..2134fa1653 100644 --- a/modules/ROOT/pages/importword.adoc +++ b/modules/ROOT/pages/importword.adoc @@ -1,4 +1,3 @@ - = {pluginname} plugin :plugincode: importword :pluginname: Import from Word @@ -30,9 +29,9 @@ tinymce.init({ selector: 'textarea', plugins: 'importword', toolbar: 'importword', -// Below option is only required when using the cloud-based Import from Word plugin from Tiny.Cloud. -// Avoid setting it up during the trial period. - importword_token_provider: () => { // required when using the Import from Word plugin with Tiny Cloud. + // Required for the cloud-based Import from Word plugin with Tiny Cloud + // Create a JWT key in the Customer Portal for trial functionality to enable watermark-free exports during the trial period + importword_token_provider: () => { return fetch('http://localhost:3000/jwt', { // specify your token endpoint method: 'POST', headers: { 'Content-Type': 'application/json' }, diff --git a/modules/ROOT/pages/understanding-editor-loads.adoc b/modules/ROOT/pages/understanding-editor-loads.adoc index 7719b0e6ec..83a0376d6e 100644 --- a/modules/ROOT/pages/understanding-editor-loads.adoc +++ b/modules/ROOT/pages/understanding-editor-loads.adoc @@ -6,7 +6,7 @@ == Understanding editor loads for {productname} [IMPORTANT] -This information is only relevant to Tiny Cloud users. Users who self-host the open source version of {productname} are not subject to editor load restrictions, but must comply with the https://github.com/tinymce/tinymce/blob/master/LICENSE.TXT[open source license]. +This information is only relevant to Tiny Cloud users. Users who self-host the open source version of {productname} are not subject to editor load restrictions, but must comply with the link:https://github.com/tinymce/tinymce/blob/release/{productmajorversion}/LICENSE.md[open source license]. An editor load is the event that occurs each time {productname} is initialized in your application. The editor dispatches the 'init' event to indicate a successful load. For example, if 100 users load {productname} 10 times each, the result would be 1,000 editor loads. diff --git a/modules/ROOT/partials/individually-licensed-components/export-to-pdf/export-to-pdf-installation.adoc b/modules/ROOT/partials/individually-licensed-components/export-to-pdf/export-to-pdf-installation.adoc index e2b5727b8a..bba40324ba 100644 --- a/modules/ROOT/partials/individually-licensed-components/export-to-pdf/export-to-pdf-installation.adoc +++ b/modules/ROOT/partials/individually-licensed-components/export-to-pdf/export-to-pdf-installation.adoc @@ -32,7 +32,7 @@ Pull the Docker image: [source, sh, subs="attributes+"] ---- -docker pull registry.containers.tiny.cloud/{dockerimageexporttopdf}:[version] +docker pull {dockerimageexporttopdf}:[version] ---- [TIP] diff --git a/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-autorization-on-premises.adoc b/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-autorization-on-premises.adoc index 444a629f2d..180ceac642 100644 --- a/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-autorization-on-premises.adoc +++ b/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-autorization-on-premises.adoc @@ -17,7 +17,7 @@ If the `SECRET_KEY` is not setup during the installation, then {pluginname} On-P * it is not issued in the future (e.i. the `iat` timestamp cannot be newer than the current time), * it has not expired yet. -Tokens for the {pluginname} On-Premises do not require any additional claims such as the environment ID (which is specific for Collaboration Server On-Premises), the token can be created with an empty payload. +Tokens for the {pluginname} On-Premises do not require any additional claims such as the `aud` (which is specific to cloud-based document converters), so the token can be created with an empty payload. If the specific use case involves sending requests from a backend server, then JWT tokens can be generated locally, as shown in the below request example. diff --git a/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-installation-on-premises.adoc b/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-installation-on-premises.adoc index efb79a5ae1..aa508f7c14 100644 --- a/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-installation-on-premises.adoc +++ b/modules/ROOT/partials/individually-licensed-components/import-from-word-and-export-to-word/import-from-word-and-export-to-word-installation-on-premises.adoc @@ -32,7 +32,7 @@ Pull the Docker image: [source, sh, subs="attributes+"] ---- -docker pull registry.containers.tiny.cloud/{dockerimageimportfromwordexporttoword}:[version] +docker pull {dockerimageimportfromwordexporttoword}:[version] ---- [TIP] diff --git a/modules/ROOT/partials/integrations/angular-tech-ref.adoc b/modules/ROOT/partials/integrations/angular-tech-ref.adoc index 4a7261db9f..ce1ebbcb8f 100644 --- a/modules/ROOT/partials/integrations/angular-tech-ref.adoc +++ b/modules/ROOT/partials/integrations/angular-tech-ref.adoc @@ -8,6 +8,7 @@ ** xref:licensekey[`+licenseKey+`] ** xref:cloudchannel[`+cloudChannel+`] ** xref:disabled[`+disabled+`] +** xref:readonly[`+readonly+`] ** xref:id[`+id+`] ** xref:init[`+init+`] ** xref:initialvalue[`+initialValue+`] @@ -97,6 +98,7 @@ The editor accepts the following properties: apiKey="no-api-key" cloudChannel="{productmajorversion}" [disabled]="false" + [readonly]="false" id="" [init]="{ }" initialValue="" @@ -193,6 +195,24 @@ The `+disabled+` property can dynamically switch the editor between a "disabled" ---- +[[readonly]] +=== `+readonly+` + +The `+readonly+` property can dynamically switch the editor between a "read-only" mode (`+true+`) and the standard editable mode (`+false+`). + +*Type:* `+Boolean+` + +*Default value:* `+false+` + +*Possible values:* `+true+`, `+false+` + +==== Example: using `+readonly+` + +[source,html] +---- + +---- + [[id]] === `+id+` diff --git a/modules/ROOT/partials/integrations/react-tech-ref.adoc b/modules/ROOT/partials/integrations/react-tech-ref.adoc index 41ed4d0a97..22693ca86d 100644 --- a/modules/ROOT/partials/integrations/react-tech-ref.adoc +++ b/modules/ROOT/partials/integrations/react-tech-ref.adoc @@ -8,6 +8,7 @@ ** xref:licenseKey[`+licenseKey+`] ** xref:cloudchannel[`+cloudChannel+`] ** xref:disabled[`+disabled+`] +** xref:readonly[`+readonly+`] ** xref:id[`+id+`] ** xref:init[`+init+`] ** xref:initialvalue[`+initialValue+`] @@ -143,7 +144,8 @@ xref:toolbar[`+toolbar+`]:: Specify the editor toolbar. This will *override* the These props can be updated after the editor is initialized. Note that there are xref:event-binding[other events] not mentioned here. -xref:disabled[`+disabled+`]:: Should the editor be in read-only mode. +xref:disabled[`+disabled+`]:: Should the editor be disabled. +xref:readonly[`+readonly+`]:: Should the editor be in read-only mode. xref:initialvalue[`+initialValue+`]:: The starting value of the editor. Changing this value after the editor has loaded will reset the editor (including the editor content). @@ -240,7 +242,7 @@ For information {productname} development channels, see: xref:editor-plugin-vers [[disabled]] === `+disabled+` -The `+disabled+` prop can dynamically switch the editor between a "disabled" (read-only) mode (`+true+`) and the standard editable mode (`+false+`). +The `+disabled+` prop can dynamically toggle the editor's disabled state. *Type:* `Boolean` @@ -257,6 +259,26 @@ The `+disabled+` prop can dynamically switch the editor between a "disabled" (re /> ---- +[[readonly]] +=== `+readonly+` + +The `+readonly+` prop can dynamically switch the editor between a read-only mode (`+true+`) and the standard editable mode (`+false+`). + +*Type:* `Boolean` + +*Default value:* `+false+` + +*Possible values:* `+true+`, `+false+` + +==== Example: using `+readonly+` + +[source,jsx] +---- + +---- + [[id]] === `+id+` diff --git a/modules/ROOT/partials/integrations/svelte-tech-ref.adoc b/modules/ROOT/partials/integrations/svelte-tech-ref.adoc index 5929994775..179f871367 100644 --- a/modules/ROOT/partials/integrations/svelte-tech-ref.adoc +++ b/modules/ROOT/partials/integrations/svelte-tech-ref.adoc @@ -7,6 +7,7 @@ Covered in this section: ** xref:id[id] ** xref:inline[inline] ** xref:disabled[disabled] +** xref:readonly[readonly] ** xref:scriptsrc[scriptsrc] ** xref:conf[conf] * xref:component-binding[Component binding] @@ -25,6 +26,7 @@ The `+tinymce-svelte+` `+Editor+` component accepts the following properties: id="uuid" inline=false disabled=false + readonly=false scriptSrc=undefined conf={} modelEvents="input change undo redo" @@ -134,7 +136,7 @@ Sets the editor to use inline mode. [[disabled]] === `+disabled+` -Set the editor to readonly mode. +Set the editor to disabled. *Type:* `+Boolean+` @@ -149,6 +151,24 @@ Set the editor to readonly mode. /> ---- +[[readonly]] +=== `+readonly+` + +Set the editor to readonly mode. + +*Type:* `+Boolean+` + +*Default value:* `+false+` + +==== Example using `+readonly+` + +[source,jsx] +---- + +---- + [[scriptsrc]] === `+scriptSrc+` diff --git a/modules/ROOT/partials/integrations/vue-tech-ref.adoc b/modules/ROOT/partials/integrations/vue-tech-ref.adoc index cb24552b92..fd230670fe 100644 --- a/modules/ROOT/partials/integrations/vue-tech-ref.adoc +++ b/modules/ROOT/partials/integrations/vue-tech-ref.adoc @@ -7,6 +7,7 @@ ** xref:license-key[`+licenseKey+`] ** xref:cloud-channel[`+cloud-channel+`] ** xref:disabled[`+disabled+`] +** xref:readonly[`+readonly+`] ** xref:id[`+id+`] ** xref:init[`+init+`] ** xref:initial-value[`+initial-value+`] @@ -99,6 +100,7 @@ The editor accepts the following properties: api-key="no-api-key" cloud-channel="{productmajorversion}" :disabled=false + :readonly=false id="uuid" :init= "{ }" initial-value="" @@ -205,6 +207,26 @@ The `+disabled+` property can dynamically switch the editor between a "disabled" /> ---- +[[readonly]] +=== `+readonly+` + +The `+readonly+` property can dynamically switch the editor between a "read-only" mode (`+true+`) and the standard editable mode (`+false+`). + +*Type:* `+Boolean+` + +*Default value:* `+false+` + +*Possible values:* `+true+`, `+false+` + +==== Example: using `+readonly+` + +[source,html] +---- + +---- + [[id]] === `+id+` diff --git a/modules/ROOT/partials/integrations/webcomponent-tech-ref.adoc b/modules/ROOT/partials/integrations/webcomponent-tech-ref.adoc index 1640dc3354..ffb83ab3dc 100644 --- a/modules/ROOT/partials/integrations/webcomponent-tech-ref.adoc +++ b/modules/ROOT/partials/integrations/webcomponent-tech-ref.adoc @@ -8,6 +8,8 @@ ** xref:loading-plugins[Loading plugins] ** xref:setting-the-editor-width[Setting the editor width] ** xref:setting-the-editor-height[Setting the editor height] +** xref:setting-readonly[Setting the editor to readonly] +** xref:setting-disabled[Setting the editor to disabled] ** xref:setting-the-toolbar[Setting the toolbar] ** xref:setting-the-toolbar-mode[Setting the toolbar mode] ** xref:setting-the-menu-bar[Setting the menu bar] @@ -146,6 +148,26 @@ To set the height of the editor (content area and user interface), use the `+hei ---- + +[[setting-readonly]] +=== Setting readonly mode + +To set the editor's mode to `readonly`. + +[source,html] +---- + +---- + +[[setting-disaled-state]] +=== Setting disabled state +To set the editor to a disabled state. + +[source,html] +---- + +---- + [[setting-the-toolbar]] === Setting the toolbar diff --git a/modules/ROOT/partials/misc/admon-jwt-authentication-requirements.adoc b/modules/ROOT/partials/misc/admon-jwt-authentication-requirements.adoc index d4445f6186..d2858ee3e6 100644 --- a/modules/ROOT/partials/misc/admon-jwt-authentication-requirements.adoc +++ b/modules/ROOT/partials/misc/admon-jwt-authentication-requirements.adoc @@ -2,17 +2,34 @@ ==== The {pluginname} plugin **requires** JWT authentication when using the {companyname} Cloud service. -* Configure the `{plugincode}_token_provider` option to specify the endpoint for retrieving a valid JWT token. +**Authentication Setup:** -For more information on how to set up JWT authentication with {pluginname}, see examples: +. Create a JWT key in the Customer Portal +. Configure the `{plugincode}_token_provider` option to specify the endpoint for retrieving your JWT token -* xref:{pluginfilename}-with-jwt-authentication-nodejs.adoc[{pluginname} with JWT authentication (Node.js)] -* xref:{pluginfilename}-with-jwt-authentication-php.adoc[{pluginname} with JWT authentication (PHP)] +For more information on how to set up JWT authentication with {pluginname}, see examples: xref:{pluginfilename}-with-jwt-authentication-nodejs.adoc[{pluginname} with JWT authentication (Node.js)] or xref:{pluginfilename}-with-jwt-authentication-php.adoc[{pluginname} with JWT authentication (PHP)] -**Trial period behavior:** +**Trial period behavior** -* The {pluginname} plugin runs in evaluation mode and adds a watermark to exported content. -* The `{plugincode}_token_provider` option is "not required" during the trial period. -* If the trial period "expires" or the plugin lacks the necessary entitlement, it becomes _non-functional_. -* Attempting to use JWT authentication during the trial will result in an _error_. +ifeval::["{plugincode}" == "importword"] +* **Trial Period:** +** With JWT: Full functionality, unlimited usage, no watermarks. +** Without JWT: Full functionality with watermarks and page limits. + +* **After Trial:** +** With {pluginname} add-on + JWT: Full functionality (subscription-based) +** Without add-on: Plugin entitlements are `disabled` and functionality is no longer available. +endif::[] + +ifeval::["{plugincode}" != "importword"] +* **Trial Period:** +** With JWT: Full functionality, unlimited usage, no watermarks. +** Without JWT: Full functionality with watermarks. + +* **After Trial:** +** With {pluginname} add-on + JWT: Full functionality (subscription-based) +** Without add-on: Plugin entitlements are `disabled` and functionality is no longer available. +endif::[] + +Visit the link:https://www.tiny.cloud/auth/login/[account portal] to obtain your JWT key and test full functionality. ==== \ No newline at end of file