Extending uSync.Complete
uSync.Complete has a number of points where you can extend what can be exported, pushed and pulled between servers.
Mapping Values
uSync.Complete builds upon the core uSync package, so you can still use value mappers to manage how individual properties are mapped between sites.
Syncing Items
if you have your own items stored outside of existing Umbraco objects and you want them to sync you will need to write your own SyncHandler and SyncSerializers to handle the serialization and deserialization of the items.
In a base uSync project the xml you are serializing will be read/written to disk as part of the sync, for uSync.Complete the xml may be kept in memory and sent across the wire to another server to deserialize.
Including Dependencies
When you push or pull between sites with uSync.Publisher or create a sync pack with uSync.Exporter then uSync.Complete will attempt to calculate the dependencies of the items you want to export.
Dependencies can be anything that is required to get your item up and running on another site, from the data types and doctypes required to create a content item, to the media items or other linked pages you would need to render the item, uSync.Complete will use DependencyCheckers to go over any item and see what other items are needed.
You can write your own dependency checkers, and uSync can have multiple dependency checkers for a given item. For example, uSync has multiple dependency checkers for content items, one to check properties and doctype dependencies, one to check for domain settings, and one to check for public access security settings.
Extending Menus
If you want to include a push/pull option for your extended items, you can implement a SyncItemManager.
A SyncItemManager tells uSync.Publisher/Exporter how any given item from the Umbraco backoffice can be handled by uSync when it is pushing/pulling or exporting content.
A SyncItemManager class manages the items, and it means you can extend the uSync UI inside Umbraco without having to write any additional Javascript code.