v17.5.0 - TimeMachine, load balancing & Publisher browser
v17.5.0
17.5.0 adds load-balancing support to uSync.Publisher, a faster and more
useful Publisher browser, a server identifier in the backoffice header, and
uSync.TimeMachine, a new timeline of site changes with rollback.
Added
- TimeMachine: uSync.TimeMachine is new in this release. It records what
happens to a site as a timeline of events, with a property level diff for
each item, and lets you roll any of those changes back. It is off by
default; turn it on withuSync:TimeMachine:Enabled. Events older than
uSync:TimeMachine:RetentionDays(default 30) are removed. (#141) - Publisher: load-balanced targets are supported. Publish requests carry an
affinity cookie so a session stays on one node, and a session that loses
affinity is reported clearly.uSync:Publisher:Settings:AffinityFailFast
(off by default) stops the publish as soon as that happens. uSync:WorkingFolder:Pathsets where uSync keeps its working files, so
every server in a load-balanced site can share one working folder.- Publisher: the content and media browsers have a list view, show whether
each item is in sync, out of sync or missing on the other server, page
through large folders, sort by name, type or last update, and search the
current folder. Refreshing the page keeps your place. - Server identifier: the backoffice header can show which server you are
logged into, using that server's name, icon and colour. Clicking it opens a
popover with the servers you can push to or pull from, their status, and a
link to the same page on each one. - Publisher: servers can be sorted with "Sort servers" on the Publisher node.
The order is used in the tree and wherever you pick a server. - Publisher: a "Server json" button on the dashboard shows the current server
setup as json, ready to save asusync-servers.jsonto pre-seed servers on
a new install. - Publisher: servers now tell each other what they support, so a publish can
adapt to the server at the other end.
Changed
- Publisher sends sync packs between servers in parts, and a pull shows
progress while it fetches.PackChunkSizeandPackChunkMaxBytesunder
uSync:Publisher:Settingsset the part size; the defaults suit most sites. - Server-to-server messaging gives up quickly on a server it cannot reach,
and the server configuration page warns when it cannot connect. - Exporter downloads are written to disk rather than built in memory, so very
large exports can be downloaded. - Restore points and snapshots on large sites are exported in pages, so they
complete when the site is hosted out of process in IIS. (#290) - New servers start with a random colour and the server identifier turned on.
Existing servers keep their current appearance. - Updated to uSync 17.4.3.
Fixed
- The temp folder cleanup job runs on every server in a load-balanced site.
- The Publisher browser and Compare dialog show the right status for every
item in a folder. - Saving a server keeps the server order if the list was re-sorted while its
settings were open. - uSync.Snapshots labels show text instead of raw keys.
- Domains, relation types, webhooks, users and user groups show a label in
Publisher instead of a raw key. - The unsaved-changes dialog has clearer choices, and backoffice text has had
a spelling and grammar pass.
If you have your own IProcessingOptions implementation, note that
polymorphic processing options are now registered with an explicit
discriminator, matching Jumoo.Processing.