uSync.Publisher Config lives in the
uSync.Publish.config file on disk. a number of these elements can be controlled via the publisher dashboard in the settings section of umbraco.
<uSyncPublisher incomingEnabled="true" outgoingEnabled="true"> <server>Live</server> <appId>ec62e1f9-b5e2-4b65-ad78-6ff58d6faee0</appId> <appKey>Zaprs7hO0fjAOX+8LfS1UIoIDlwnSnKoNK/ItnpbFOc=</appKey> <groups>admin,editor</groups> <handlerSet>publisher</handlerSet> <includeMediaFiles>no</includeMediaFiles> <includeChildren>user-yes</includeChildren> <deleteMissing>yes</deleteMissing> <includeMedia>user-yes</includeMedia> <includeAncestors>no</includeAncestors> <includeFiles>no</includeFiles> <includeLinked>no</includeLinked> <includeDependencies>no</includeDependencies> <cleanReports>true</cleanReports> <networkMode>True</networkMode> <servers> <server alias="development" url="http://localhost:64741/umbraco" enabled="true" showSelf="true"> <name>Development</name> <showSelf>true</showSelf> <description>Development Server</description> <icon>icon-lab color-deep-purple</icon> <includeChildren>user-yes</includeChildren> <deleteMissing>user-yes</deleteMissing> <includeMedia>user-yes</includeMedia> <includeAncestors>user-no</includeAncestors> <includeFiles>user-yes</includeFiles> <includeLinked>user-no</includeLinked> <includeDependencies>user-no</includeDependencies> <allowedServers> <server pull="true" push="true">development</server> <server pull="true" push="true">stage</server> <server pull="true" push="false">live</server> </allowedServers> </server> <server alias="stage" url="https://localhost:44363/umbraco" enabled="true" showSelf="false"> <name>Stage</name> <description>Staging Site</description> <icon>icon-server color-orange</icon> <includeDependencies>user-no</includeDependencies> <deleteMissing>no</deleteMissing> <includeFiles>user-yes</includeFiles> <includeMedia>yes</includeMedia> <allowedServers> <server pull="true" push="false">development</server> <server pull="true" push="true">live</server> </allowedServers> </server> <server alias="live" url="https://test.cube.jumoo.co.uk/umbraco" enabled="true" showSelf="false"> <name>Live</name> <description>Live Site</description> <icon>icon-server color-green</icon> <allowedServers> <server pull="true" push="true">stage</server> </allowedServers> </server> </servers> </uSyncPublisher>
|incomingEnabled||true/false||Turns this server on/off for incoming requests - with this off the server cannot be published to or pulled from.|
|outgoingEnabled||true/false||Enables/disables this server sending publish requests - with this setting off, you will not see the publish/pull options in umbraco.|
|Server||string||Name of the server (not currently used)|
|AppId||string||ApplicationId used alongside AppKey to sign and check any communication between instances.|
|AppKey||string||Key used to sign communications|
|CleanReports||true/false||Turns on/off the trimming of folders after the report stage (this makes imports quicker as less is rechecked)|
|Groups||string||Not in use (intended to restrict who can send/receive per server)|
|HandlerSet||publisher||the handler set used by publisher - when installed a new 'publisher' handler set is created in the
|NetworkMode||true||use the allowedServer settings to determine what can and can't be seen by the user.|
there are a number of settings that determine what options are used when sending items between servers. for each of these items they value can be Yes,No, user-yes, user-no values prefixed with user mean the user can change this value when sending an item (so its in the UI)
|includeDependencies||include any dependencies such as datatypes or doctypes required for the media or content being synced.|
|includeMediaFiles||Include any media (imgage, pdfs, etc) that are used in the content being published, only changed files will be sent between servers.|
|includeChildren||Include any child content or media from the item being synced.|
|deleteMissing||Remove any items from the target site that are not in the source one, this only removes items when folders are sent (using includeChildren) so at the top level of a publish items will not be deleted.|
|includeMedia||Include any media items linked to in the content|
|includeAncestors||Include any parent items to the one being published|
|includeFiles||Include any views/css/stylesheets required|
|includeLinked||Include any content linked to by the content being published - this can result in a large amount of content being published, often a whole site|
Which items you choose to sync depends on how you choose to sync your sites.
If for example you are using uSync as part of your CI/CD you may choose to only sync the content and media items - which will make the process quicker and simpler. If you are not syncing the sites any other way, you may wish to include all options which will mean any publish includes all settings and content needed to keep the sites in sync.
v8.5+: This feature requires uSync.Complete 8.5 or greater
You can override a number of the standard settings in the main config file, by setting values in the web.config file.
<!-- publisher settings here override the uSync.Publisher config --> <add key="uSyncPublish:IncomingEnabled" value="true"/> <add key="uSyncPublish:OutgoingEnabled" value="false"/> <add key="uSyncPublish:AppId" value="your-appid-value" /> <add key="uSyncPublish:AppKey" value="your-key-value" /> <!-- by server (alias is capitalized -> Alias) --> <add key="uSyncPublish:Development:Enabled" value="true"/> <add key="uSyncPublish:Development:PullEnabled" value="false"/>
using the overrides means that saving settings in the dashboard may not affect, because that will save changes to the uSync.publish.config file not the web.config file
see the server settings pages for details