Skip to content

v8.9.0 - Split ends πŸ’‡β€β™‚οΈ

Compare
Choose a tag to compare
@KevinJump KevinJump released this 31 Mar 14:30

This is a major minor release of uSync8 - it updates the dashboard report, export and import methods to now call each handler individually, breaking up the single report, import, export calls - to allow for more reliance and less timeouty possibilities.

* 8.9.0 This is an increment in version because we have changed a default for media serialization so files no longer contain a hash file of the actual media file. (see format changes) - a change in serialization format is considers a version change event.

Fixes

  • #212 Handler settings don't show in back office when camel-Case formatter is set globally.
  • #216 Deleting and recreating doctypes when using "guidnames" file naming results in a delete and create during import.

Features

  • Split Import Handlers (see below)
  • History view
  • Forms/uSync.Forms Detection (we can prompt when you have UmracoForms installed but not uSync.Forms).
  • content report performance enhancements (less db round-trips for certain content operations 2173844)

Split Import Handlers

Before v8.9 uSync would call a single ApiController method for Report,Import and Export events, These methods would load all the handlers and work through the process.

from v8.9 we have split this and moved some of the process forward to the client. So now. the client asks for the valid handlers, and then calls each on in sequence for the required operation.

This has a few advantages:

reduces the possibility of timeouts
by running each handler separately the process now happens over multiple calls, so if they take longer they are less likely to hit a timeout on the sever. This is partial mitigation of this problem. a full mitigation would involve the splitting and paging of each handlers process, so we could call it multiple times, to say export a large amount of content (this is how uSync.Complete does it).

We might yet bring full batching to uSync.Core - With core uSync this isn't a massive issue, because you have to be importing a lot of content via content Edition (uSync.Complete is better suited to that) - it also requires a bit more thought, and will change quite a few APIs - it might be a .netCore feature.

Simplifies the UI messaging
By having each handler called individually we don't have to do silly computational bits via signalR to workout progress. While we still use SignalR for each handlers process we no longer need the global summary - so its a bit nicer (and the css animations work!).

History view

We have had history view in the code base for a while now (and its in uSync v4), but from v8.9 we are including it as part of the core install.

image

History view - tells you who has been using uSync to import things into your site, any import that makes changes will be recorded, and you can view the details of what changed, when it changed and who ran the changes through.

History view can be disabled via the settings page


Get uSync

uSync is best installed via NuGet, as part of a calorie-controlled installation. you can also download it as a Umbraco package via the Umbraco BackOffice or the our.umbraco.com website.

uSync

Sync DataTypes, DocumentTypes, MediaTypes, Languages, Macros, Templates & MemberTypes

PM> install-package uSync -version 8.9.0

Content Edition

Add Content, Media, Domains, Dictionary Items and Content Templates

PM> install-package uSync.ContentEdition -version 8.9.0

Upgrade

When upgrading the best thing to do is not overwrite your uSync8.config file - new config settings will always defaults to something doesn't alter existing behaviors - so not having values in the config will no break anything.

during a nuget upgrade you should choose not to overwrite the usync8.config file. If you haven't altered any other files from the usync packages you can also instruct nuget to do this on the update line

PM> update-package uSync.ContentEdition -FileConflictAction Ignore