Skip to content

v18.3.0 - Publisher approvals & Sync Queue (v17 forward-port)

Latest

Choose a tag to compare

@KevinJump KevinJump released this 26 Oct 17:28
4dc169e

v18.3.0

Brings the v17.6.0 work forward to Umbraco 18: approvals and the Sync Queue
for uSync.Publisher, and a new API for starting a push, pull or export in a
single call. It now requires uSync 18.2.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.
  • Publisher: the push, pull and add to queue actions sit in their own section
    of the actions menu.

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.
  • Background runs that are queued, scheduled or running can be cancelled from
    the Background screen, which shows its process and queue lists again.
  • 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)
  • 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)

Requirements

  • Umbraco 18.
  • uSync 18.2.0 or later.
  • Jumoo.Processing 18.3.0 (installed automatically).