uSync.Complete 8.9 release candidate is out - and we are quite excited !
Since the last release we’ve done quite a bit of rewiring to get some funky new features and better support for ‘Small’, ‘Big’, ‘Large’, and ‘Massive’ sites content and media libraries.
You can get it now via Nuget :
PM> install-package uSync.Complete -pre
and you can read below about all the new things.
For uSync.Complete 8.9 we have rewritten a lot of the publishing pipeline to accomidate batching of commands.
Its not the most sexy bit of the update, and on the face of it there isn’t much to see, but this update means we can now batch up any part of the request process.
The result is that we don’t have any long running tasks in the process anymore. The uSync.publisher can sync everything you throw at it and it won’t hit any server timeouts!.
This removes any limits on how many content or media (or datatypes) can be processed in a signle request. meaning super big libraries of content can now be synced without timeout worries.
So even when running on Azure Webapps with its unmovable 230 second timeout you site will sync regardless of size.
This release also includes the results of the first round of work we’ve been doing to speed up publish and sync requests.
Whenever you push or pull items between servers uSync works out what dependencies each item has (e.g doctypes, datatypes, etc) - and while this doesn’t take to long, it can add up when you do hundreds of items.
The dependency cache does this dependency calculation whenever you save (or publish an item in umbraco) and stores them in the dependency cache.
When you then push or pull - the cache is used, and because it doesn’t go near the database it’s super fast.
The cahce is kepy in sync for you, so you should never have to rebuild it, but if you do we have a nice interface that will do that.
With caching turned on the dependency cache which could take many seconds on a large site is now mesuired in milliseconds.
We are also working on Export/report cache to make those bits even faster, they will likely land in v8.10
We’ve added a new feature to the remote content and media browsers! The browser now performs a checks with the server for diffrences while listing items.
This means you now have a realtime view of diffrences between your sites. So can see quickly what needs syncing.
The full push/pull process still does this too, but if you need a quick view of a folder to know if it’s upto date then this is the feature for you.
And we’ve included a side by side view - which means you can see how the page looks locally and on your target website:
You’ve always been able to sync dictionary items with uSync.Complete as part of the wider settings push / pull. this update adds a push and pull option to the dictionary menu, so you can directly control dictionary items in the place they live.
Cloning down an Umbraco site with uSync.Publisher already configured is now a nicer thing.
the uSync.Publisher dashboard will detect if you are on any empty site, and give you a nice simple interface to pull the content down from a server when you start up.
And thanks to the batch publishing, you can pull the whole site in one go no matter how big.
We’ve updated the internal api version if this doesn’t match uSync.Publisher will tell you that the server is incompattible and not copy.
We tried not to do this, but maintaing the legacy publisher and new ‘batch’ aware publisher interface was going to mean a lot of reduntant and complex legacy code.
If you have a custom publisher, we are keen to hear from you - we will happily work with you to update your publisher and get it working with the new publisher api. The new API is also simpler so hopefully it will help you to.
n.b - These breaking changes only affect uSync.Publisher, while we have also changed the usync.exporter process to support batching the usync-pack format has not changed so old and new packs will work on all versions.
We are releasing this version as a release candidate because we do have some breaking changes and we want to give people with dependent code on uSync.Complete some heads up on the forthcoming changes.
At the moment our plan is to have a few weeks release candidate phase, which would mean a release date early January.
Small’, ‘Big’, ‘Large’, and ‘Massive’ are subjective terms: a Massive site for one person may be small for someone else, in testing this release we have scalled up our test sites of 50,000+ pages and 5,000+ images, with file sizes upto 100mb. A umbraco site of this size or above would need some specialist setup to perform well, but we are happy that uSync.Complete will work along side sites of that size