v18.1.0 - Translate in place & granular permissions
This release adds translate in place, splits translation approval from publishing so a third party can handle translations without publish rights, and improves the HTML editing experience with a rich text editor.
⚠️ Behaviour change on upgrade
Mutating job/node/set/memory/connector endpoints previously only required generic backoffice access. They now require the appropriate translation permission — a group holding only jumoo-send-to-translation can no longer archive, remove or reset jobs, or edit sets.
The new approve/publish permissions are migrated automatically on upgrade — the admin group and every group that already held jumoo-manage-translation are granted both, so no one loses access and there's nothing you need to do. The one exception is a group that was set up with jumoo-send-to-translation only and no manage permission: those groups will see the tightened endpoint checks above, since they never held broader access to begin with.
What's changed
-
Translate in place. Translate a node's own content into another language with no configured Translation Set — it overwrites the content in place and saves a new version to refine, publish, or roll back. Works for both culture-varying and invariant document types. Off by default behind a new "Translate in place" setting. Fixes #95.
-
Split approve and publish permissions. A translator can now be given rights to approve translated content without also being able to publish it back to the site, so a third party can do the translation work without publish access. Fixes #101.
-
Write endpoints now check translation permissions. Job, node, set, memory, and connector-settings endpoints previously allowed any authenticated backoffice user through; they now require the relevant translation permission.
-
Edit HTML values with a rich text editor. The raw-markup textarea used for HTML translation values is replaced with a Tiptap rich text editor (with a source-view toggle for markup the toolbar doesn't cover).
-
"Lock connector" option on translation sets. A set's default connector is now a starting point rather than the only option — untick "Lock connector" to let editors choose any active connector when creating a job.
-
Settings page rework. Two-column layout, "Translate on save" renamed to "Pending Translations", and the translate-in-place toggle is now surfaced on the page.
-
Fixed approved node memories being deleted in some cases.
-
Bumped the Xliff connector dependency to 18.0.1.
Not yet published to NuGet — this tag marks the source at release time; packages will follow once pushed.