Last active
December 17, 2018 02:00
-
-
Save grant-killian/d2fe8d3e89c5d7b15f47464dd1809d62 to your computer and use it in GitHub Desktop.
I discuss this at https://grantkillian.wordpress.com/2018/12/17/how-i-add-custom-sitecore-publishing-service-targets/. Essentially, there are 3 main locations to update the sc.publishing.xml file to support additional publishing targets. This sample illustrates the 3 (under Publishing/ConnectionStrings, under Services/DefaultConnectionFactory/Op…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Settings> | |
<Sitecore> | |
<Publishing> | |
<InstanceName>${SITECORE_InstanceName}</InstanceName> | |
<ConnectionStrings> | |
<Service>${Sitecore:Publishing:ConnectionStrings:Master}</Service> | |
<!-- Add any additional publishing targets you may use (first location for changes to this file) --> | |
<previewweb>Data Source=Server-012345;Initial Catalog=PrevWeb;Integrated Security=True;MultipleActiveResultSets=True;ConnectRetryCount=15;ConnectRetryInterval=1</previewweb> | |
<liveweb>Data Source=Server-012345;Initial Catalog=LiveWeb;Integrated Security=True;MultipleActiveResultSets=True;ConnectRetryCount=15;ConnectRetryInterval=1</liveweb> | |
<!-- end first location for changes --> | |
</ConnectionStrings> | |
<Services> | |
<DefaultConnectionFactory> | |
<Options> | |
<Connections> | |
<Links> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:Core}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Links> | |
<Service> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:Service}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Service> | |
<Master> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:Master}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Master> | |
<Internet> | |
<!-- Should match the name of the publishing target configured in SC. --> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:Web}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Internet> | |
<!-- start custom publishing target additions (2nd location) --> | |
<Preview> | |
<!-- Should match the name of the publishing target configured in Sitecore --> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:previewweb}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Preview> | |
<Live> | |
<!-- Should match the name of the publishing target configured in Sitecore --> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type> | |
<LifeTime>Transient</LifeTime> | |
<Options> | |
<ConnectionString>${Sitecore:Publishing:ConnectionStrings:liveweb}</ConnectionString> | |
<DefaultCommandTimeout>120</DefaultCommandTimeout> | |
<Behaviours> | |
<backend>sql-backend-default</backend> | |
<api>sql-api-default</api> | |
</Behaviours> | |
</Options> | |
</Live> | |
<!-- end custom publishing target additions (2nd location) --> | |
</Connections> | |
</Options> | |
</DefaultConnectionFactory> | |
<DbConnectionBehaviours> | |
<Options> | |
<Entries> | |
<sql-backend-default> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.NoRetryConnectionBehaviour, Sitecore.Framework.Publishing.Data</Type> | |
<Options> | |
<Name>Default Backend No Retry behaviour</Name> | |
<CommandTimeout>120</CommandTimeout> | |
</Options> | |
</sql-backend-default> | |
<sql-api-default> | |
<Type>Sitecore.Framework.Publishing.Data.AdoNet.NoRetryConnectionBehaviour, Sitecore.Framework.Publishing.Data</Type> | |
<Options> | |
<Name>Default Api No Retry behaviour</Name> | |
<CommandTimeout>10</CommandTimeout> | |
</Options> | |
</sql-api-default> | |
</Entries> | |
</Options> | |
</DbConnectionBehaviours> | |
<StoreFactory> | |
<Options> | |
<Stores> | |
<Service> | |
<Type>Sitecore.Framework.Publishing.Data.ServiceStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionName>Service</ConnectionName> | |
<FeaturesListName>ServiceStoreFeatures</FeaturesListName> | |
</Service> | |
<Sources> | |
<Master> | |
<Type>Sitecore.Framework.Publishing.Data.SourceStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionNames> | |
<master>Master</master> | |
</ConnectionNames> | |
<FeaturesListName>SourceStoreFeatures</FeaturesListName> | |
<!-- The name of the Database entity in Sitecore. --> | |
<ScDatabase>master</ScDatabase> | |
</Master> | |
</Sources> | |
<Targets> | |
<!--Additional targets can be configured here--> | |
<Internet> | |
<Type>Sitecore.Framework.Publishing.Data.TargetStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionName>Internet</ConnectionName> | |
<FeaturesListName>TargetStoreFeatures</FeaturesListName> | |
<!-- The id of the target item definition in Sitecore. --> | |
<Id>8E080626-DDC3-4EF4-A1D1-F0BE4A200254</Id> | |
<!-- The name of the Database entity in Sitecore. --> | |
<ScDatabase>web</ScDatabase> | |
</Internet> | |
<!-- start custom publishing target additions (third location) --> | |
<!-- this XML node should be named the same as the item in Sitecore (not the "Display Name", but the Item name) --> | |
<Preview> | |
<Type>Sitecore.Framework.Publishing.Data.TargetStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionName>Preview</ConnectionName> | |
<FeaturesListName>TargetStoreFeatures</FeaturesListName> | |
<!-- make sure the GUID below matches the GUID stored in Sitecore for the Publishing Target --> | |
<Id>8D1249E6-9413-4C2D-8C72-06561CE1D026</Id> | |
<ScDatabase>preveiwweb</ScDatabase> | |
</Preview> | |
<!-- this XML node should be named the same as the item in Sitecore (not the "Display Name", but the Item name) --> | |
<Live> | |
<Type>Sitecore.Framework.Publishing.Data.TargetStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionName>Live</ConnectionName> | |
<FeaturesListName>TargetStoreFeatures</FeaturesListName> | |
<!-- make sure the GUID below matches the GUID stored in Sitecore for the Publishing Target --> | |
<Id>0EA57D57-7837-4B51-A72C-E8B3F1322C07</Id> | |
<ScDatabase>liveweb</ScDatabase> | |
</Live> | |
<!-- end custom publishing target additions (third location) --> | |
</Targets> | |
<ItemsRelationship> | |
<Type>Sitecore.Framework.Publishing.Data.ItemsRelationshipStore, Sitecore.Framework.Publishing.Data</Type> | |
<ConnectionName>Links</ConnectionName> | |
<FeaturesListName>ItemsRelationshipStoreFeatures</FeaturesListName> | |
</ItemsRelationship> | |
</Stores> | |
</Options> | |
</StoreFactory> | |
<StoreFeaturesLists> | |
<Options> | |
<FeatureLists> | |
<!--Source Store Features--> | |
<SourceStoreFeatures> | |
<ItemReadRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.CompositeItemReadRepository, Sitecore.Framework.Publishing.Data</Type> | |
</ItemReadRepositoryFeature> | |
<TestableContentRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.CompositeTestableContentRepository, Sitecore.Framework.Publishing.Data</Type> | |
</TestableContentRepositoryFeature> | |
<WorkflowStateRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.CompositeWorkflowStateRepository, Sitecore.Framework.Publishing.Data</Type> | |
</WorkflowStateRepositoryFeature> | |
<EventQueueRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.CompositeEventQueueRepository, Sitecore.Framework.Publishing.Data</Type> | |
<options> | |
<ConnectionName>master</ConnectionName> | |
</options> | |
</EventQueueRepositoryFeature> | |
<SourceIndexFeature> | |
<Type>Sitecore.Framework.Publishing.ItemIndex.SourceIndexWrapper, Sitecore.Framework.Publishing</Type> | |
</SourceIndexFeature> | |
</SourceStoreFeatures> | |
<!--Service Store Features--> | |
<ServiceStoreFeatures> | |
<ManifestRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Manifest.ManifestRepository, Sitecore.Framework.Publishing</Type> | |
</ManifestRepositoryFeature> | |
<PublisherOperationRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.PublisherOperations.PublisherOperationRepository, Sitecore.Framework.Publishing</Type> | |
</PublisherOperationRepositoryFeature> | |
<PublishJobQueueRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.PublishJobQueue.PublishJobQueueRepository, Sitecore.Framework.Publishing</Type> | |
</PublishJobQueueRepositoryFeature> | |
<TargetSyncStateRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.TargetSyncState.TargetSyncStateRepository, Sitecore.Framework.Publishing</Type> | |
</TargetSyncStateRepositoryFeature> | |
<ActivationLockRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.InstanceActivation.ActivationLockRepository, Sitecore.Framework.Publishing</Type> | |
</ActivationLockRepositoryFeature> | |
</ServiceStoreFeatures> | |
<!--Target Store Features--> | |
<TargetStoreFeatures> | |
<IndexableItemRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.Classic.ClassicIndexableItemRepository, Sitecore.Framework.Publishing.Data.Classic</Type> | |
</IndexableItemRepositoryFeature> | |
<ItemWriteRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.Classic.ClassicItemRepository, Sitecore.Framework.Publishing.Data.Classic</Type> | |
</ItemWriteRepositoryFeature> | |
<MediaRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.Classic.Repositories.ClassicMediaRepository, Sitecore.Framework.Publishing.Data.Classic</Type> | |
</MediaRepositoryFeature> | |
<TargetIndexFeature> | |
<Type>Sitecore.Framework.Publishing.ItemIndex.TargetIndexWrapper, Sitecore.Framework.Publishing</Type> | |
</TargetIndexFeature> | |
</TargetStoreFeatures> | |
<!--ItemsRelationship Store Features--> | |
<ItemsRelationshipStoreFeatures> | |
<DatabaseItemRelationshipRepositoryFeature> | |
<Type>Sitecore.Framework.Publishing.Data.Classic.ClassicItemRelationshipRepository, Sitecore.Framework.Publishing.Data.Classic</Type> | |
</DatabaseItemRelationshipRepositoryFeature> | |
</ItemsRelationshipStoreFeatures> | |
</FeatureLists> | |
</Options> | |
</StoreFeaturesLists> | |
</Services> | |
</Publishing> | |
</Sitecore> | |
</Settings> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment