Release Details
This is a major minor release of uSync for Umbraco v14. it contains a number of changes/improvements and feature refinements.
n.b. - we are skipping right to v14.2 because uSync now requires Umbraco v14.2. So we are (for know alignling the versions).
Code tidy. Firstly there are loads of small tweaks and changes, as we use v14 more we are finidng the best way to do certain things, so code updates and migrates to these newer 'best practices' making it all a bit more stable and hopefully usefull - the big highlights for these changes are below:
During testing between versions we have noticed that when all the notifications are delayed and handled together a single content failure can cause none on the content items to appear on an import - if we split it all back into invidiual imports and notifications then the content that works will show up.
Umbraco v14 is a lot less forgiving of property data than Umbraco v13 which means if you have a single property with invalid data you can't import or see the content page inside umbraco. This wouldn't be a real problem as long as you never corrupt your property data. which again won't be a problem if you don't migrate and certainly will be less of a problem if you don't use the v13 Umbraco StarterKit package as a test source!
the Umbraco v13 package imports content where the property values are setup using grid JSON values inside BlockGrid properties . as an example of v13 vs v14 - this is OK on a v13 site the property doesn't load the data, but you can see the page, and you can fix that single property by updating it and editing it.
In umbraco v14 the invalid property data means the import fails, and if the page is already imported and you break the property data the actual content page will not load at all, and you would need to delete it and recreate the whole page. (we had an issue in the Umbraco Core for this type of failure, it has however being closed for now :( https://github.com/umbraco/Umbraco-CMS/issues/16165 )
Its still a big learning curve how to package up things for Umbraco v14, and because uSync is actually then used inside other packages (uSync.Complete) we need to package it up in such a way that you can install it 'normally' via nuget and for development you can also install the npm client package so you can access and re-use all the components and dialogs.
with a lot of hints and help from @mattbrailsford (see https://dev.to/mattbrailsford/deploying-typescript-type-definitions-for-umbraco-v14-packages-5eg4) we know have a deployable npm package which we have been using in the contining development of uSync.Complete.
We have also followed @skttl's example and put the packagemanifest into c# code. ( https://dev.to/skttl/server-side-registering-of-package-manifest-in-umbraco-14-49go ) - the big advantage here is versioning, the version number can now be dynamically pulled from the site assemblies, so when we update the version it all happens automagically, and it doesn't change any files in the repo, so there are less random check ins. (you can see our manifestreader implimentation here : https://github.com/KevinJump/uSync/blob/v14/dev/uSync.Backoffice.Management.Client/uSyncManifestReader.cs)
uSync v14 does light touch migration when you give it v13 files, it detects this and will handle some changes from old data types into the new ones. for this version we've fixed an issue with Umbraco.Tags migrations, and we are looking again at others.
We've added some nicer UI around progress, and errors, and details of what is going on, these don't change functionality but do make it all a bit easier to use.
The normal way. is via nuget.
dotnet new add package uSync --version 14.2