Config

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.

Config File

<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>

Main Settings

Property Value Note
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 uSync8.config file this contains a PublishedContent handler, which allows uSync to only send content that is published (the default handler does saved content)
NetworkMode true use the allowedServer settings to determine what can and can't be seen by the user.

Sync Settings

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)

Property Note
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.

Web.Config Overrides

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"/>

Important

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

Server Settings

see the server settings pages for details