From e93c427b32d2effeabba6604e58fcfff68e8eb11 Mon Sep 17 00:00:00 2001 From: MitchCTiny Date: Wed, 24 Sep 2025 15:08:10 +1000 Subject: [PATCH 1/2] TINY-12258: Add documentation for new `suggestededits_auto_approve` option --- .../suggestededits-auto-approve/index.html | 44 +++++++++++++++++++ .../suggestededits-auto-approve/index.js | 24 ++++++++++ modules/ROOT/pages/suggestededits.adoc | 2 + .../suggestededits_auto_approve.adoc | 27 ++++++++++++ 4 files changed, 97 insertions(+) create mode 100644 modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.html create mode 100644 modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.js create mode 100644 modules/ROOT/partials/configuration/suggestededits_auto_approve.adoc diff --git a/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.html b/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.html new file mode 100644 index 0000000000..9cb33f1b32 --- /dev/null +++ b/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.html @@ -0,0 +1,44 @@ + diff --git a/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.js b/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.js new file mode 100644 index 0000000000..fb93a40d34 --- /dev/null +++ b/modules/ROOT/examples/live-demos/suggestededits-auto-approve/index.js @@ -0,0 +1,24 @@ +const API_URL = 'https://demouserdirectory.tiny.cloud/v1/users'; + +const tinymceElement = document.querySelector('textarea#suggestededits-auto-approve'); +const model = JSON.parse(tinymceElement.getAttribute('suggestededits-model')); + +tinymce.init({ + selector: 'textarea#suggestededits-auto-approve', + height: 500, + plugins: 'suggestededits advlist anchor autolink code charmap emoticons fullscreen help image link lists media preview searchreplace table', + toolbar: 'undo redo | suggestededits | styles fontsizeinput | bold italic | align bullist numlist | table link image | code', + content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }', + + suggestededits_model: model, + suggestededits_access: 'full', + suggestededits_content: 'html', + suggestededits_auto_approve: true, + + user_id: 'kai-nakamura', + fetch_users: (userIds) => Promise.all(userIds + .map((userId) => + fetch(`${API_URL}/${userId}`) + .then((response) => response.json()) + .catch(() => ({ id: userId })))), +}); diff --git a/modules/ROOT/pages/suggestededits.adoc b/modules/ROOT/pages/suggestededits.adoc index 1d5c8240e7..b787f2bdbe 100644 --- a/modules/ROOT/pages/suggestededits.adoc +++ b/modules/ROOT/pages/suggestededits.adoc @@ -123,6 +123,8 @@ include::partial$configuration/suggestededits_content.adoc[leveloffset=+1] include::partial$configuration/suggestededits_access.adoc[leveloffset=+1] +include::partial$configuration/suggestededits_auto_approve.adoc[leveloffset=+1] + include::partial$configuration/user_id.adoc[leveloffset=+1] include::partial$configuration/fetch_users.adoc[leveloffset=+1] diff --git a/modules/ROOT/partials/configuration/suggestededits_auto_approve.adoc b/modules/ROOT/partials/configuration/suggestededits_auto_approve.adoc new file mode 100644 index 0000000000..928ddd7358 --- /dev/null +++ b/modules/ROOT/partials/configuration/suggestededits_auto_approve.adoc @@ -0,0 +1,27 @@ +[[suggestededits_auto_approve]] +== `suggestededits_auto_approve` + +The `suggestededits_auto_approve` option controls whether edits made during the session by the current user are automatically approved without requiring manual review. With this option enabled any edits by the current user, as set by the xref:#user_id[`+user_id+` option], as well as any previous suggestions made by the current user, will be instantly applied, bypassing the review process. This is useful for scenarios where reviews aren't necessary, such as when creating an initial draft or when the user is a trusted editor. + +When set to: + +* `false`: All edits require manual approval before being applied. +* `true`: All new edits are automatically approved and applied. + + +*Type:* `+Boolean+` + +*Default Value*: `false` + +.Example: `suggestededits_auto_approve: true` +[source,javascript] +---- +tinymce.init({ + selector: 'textarea#suggestededits', // Change this value according to your HTML + plugins: 'suggestededits', + toolbar: 'suggestededits', + suggestededits_auto_approve: true, // Change this value to auto-approve suggested edits +}); +---- + +liveDemo::suggestededits-auto-approve[] From 2c3a8c0f8b44c3614ee173b2bee0b4d9dc9166f6 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Thu, 16 Oct 2025 10:16:40 +1000 Subject: [PATCH 2/2] DOC-3223: Added release note entry for new suggestededits_auto_approve option --- modules/ROOT/pages/8.2.0-release-notes.adoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/ROOT/pages/8.2.0-release-notes.adoc b/modules/ROOT/pages/8.2.0-release-notes.adoc index 753c00f0ea..cde1d11cca 100644 --- a/modules/ROOT/pages/8.2.0-release-notes.adoc +++ b/modules/ROOT/pages/8.2.0-release-notes.adoc @@ -72,6 +72,20 @@ The {productname} 8.2.0 release includes an accompanying release of the **** plugin, see: xref:.adoc[]. +=== Suggested Edits + +The {productname} {release-version} release includes an accompanying release of the **Suggested Edits** premium plugin. + +**Suggested Edits** includes the following improvement. + +==== Added new `+suggestededits_auto_approve+` option to auto-approve edits by the current user +// #TINY-12258 + +A new `suggestededits_auto_approve` option has been added to the **Suggested Edits** plugin. This option allows automatic approval of edits made by the current user, as defined by the xref:suggestededits.adoc#user_id[`+user_id+`] setting, without requiring manual review. When enabled, any new edits and previously suggested changes from the same user are instantly approved and applied, streamlining workflows where review is unnecessary. + +For more information on the `+suggestededits_auto_approve+` option, see: xref:suggestededits.adoc#suggestededits_auto_approve[suggestededits_auto_approve]. + + [[accompanying-premium-plugin-end-of-life-announcement]] == Accompanying Premium plugin end-of-life announcement