v17.6.0
17.6.0 adds approvals and the Sync Queue to uSync.Publisher, and a new API
for starting a push, pull or export in a single call. It now requires uSync
17.5.0 or later.
Added
- Publisher: approvals. A server can require approval for content pushes and
pulls. The push or pull stops once the report is ready, and waits until
someone in the server's approver groups approves or declines it. Settings
pushes and pulls are not affected.
- Publisher: when a request is approved, the push or pull is sent again and
the target re-checked before anything is applied. If the target changed
since the request was made, the result shows what is different.
- Publisher: a new Approvals dashboard in the Content section lists the
requests waiting for you, the requests you have made, and their history. It
only appears once approvals are in use.
- Publisher: approvers get an email when a request needs them, and requesters
when theirs is approved, declined, expires or fails. This needs SMTP set up
in Umbraco.
- A single-call API to start a push, pull or export in the background:
POST Publisher/Start and POST Exporter/Start, with
GET Exporter/Download/{id} to download a finished export.
- Publisher: the Sync Queue. Turn on Allow queuing on a server's
Permissions view and items get an Add to queue action, also in the
content editor's push menu and on the content and media browser dashboards.
Each user has their own queue, shown on the new Sync Queue dashboard in the
Content section. Pick the items to send, choose whether each one includes
its children, and push them together through the usual push dialog. Items
leave the queue once their push goes through. The action and dashboard
only appear when a server allows queuing.
Setting up approvals
Approvals are set per server, on the server's Permissions view in the
Publisher settings:
- Require approval: turns approvals on for pushes and pulls with this
server. Off by default, so existing servers behave exactly as before.
- Approvers: the user groups that can approve or decline requests. Admins
can always approve. Nobody can approve their own request unless they are an
admin.
- Expires after (days): how long a request waits for a decision. The
default is 7; 0 means requests never expire.
When someone pushes or pulls with that server, they see the report as usual
and choose Request approval, with an optional note for the approver.
Customising the emails
Each email comes from a built-in template. To change one, put a file with the
same name in ~/uSync/emails/ in your site's content root:
approval-requested.html, approval-approved.html,
approval-declined.html, approval-expired.html or approval-failed.html.
The file's <title> becomes the email subject, and a comment at the top of
each built-in template lists the placeholders you can use.
To send these notifications somewhere other than email, handle
PublisherApprovalRequestedNotification,
PublisherApprovalDecidedNotification and
PublisherApprovalFinishedNotification.
Changed
- Publisher: the push and pull buttons only appear for user groups whose
default permissions allow a push or pull.
- Publisher: the first step of a push or pull now says it is finding items,
and how many it found.
- Publisher: a media file is no longer sent when the target server already
has an identical copy at the same path. The media item is still synced.
Sites that share a media store (for example one Azure Blob container) no
longer upload files the other site can already read.
- Ready for Umbraco 17.8: the Publisher actions sit in their own section of
the actions menu, and the Restore points view no longer logs a deprecation
warning. ([309](https://github.com/jumoo/uSync.Complete.Issues/issues/309))
Fixed
- Publisher: in Safari 26.4 the push dialog no longer collapses to nothing,
which left the backoffice looking locked up.
- Publisher: the progress bar updates during a push or pull again, including
the "Uploading to server" and "Packing items" messages.
- Publisher: items that fail to import are now listed in the push or pull
result.
- Publisher: in the content browser, the focus ring on a card no longer
covers the Compare button.
- TimeMachine: the timeline refreshes when you come back to it.
- Exporter: asking for an export that doesn't exist, or with an invalid
request, now returns Not Found or Bad Request instead of a server error.
- Publisher: spelling and pluralisation fixes in result messages.
- Publisher: pushing from the content editor no longer goes ahead when you
cancel the save and publish step.
- Publisher: the server a site is running on is recognised when the site is
reached over a different scheme, port or letter case than its configured
url.
- Importing user groups exported from Umbraco 13 now keeps their
permissions. ([310](https://github.com/jumoo/uSync.Complete.Issues/issues/310))
- Push and pull no longer fail on some hosts with "The converter for derived
type 'System.Collections.IDictionary' does not support metadata writes or
reads". ([293](https://github.com/jumoo/uSync.Complete.Issues/issues/293))
Requirements
- uSync 17.5.0 or later.
- Jumoo.Processing 17.5.0 (installed automatically).