I am trying to configure a publishing target in Sitecore 9. I took the same steps I used to take in Sitecore 8, but it did not work. What I did:

  • \App_Config\ConnectionStrings.config - contains the new connection strings to the web database
  • /sitecore/system/Publishing targets – targets are listed
  • \App_Config\Include\Sitecore.config - I add :
<database id="web2" singleInstance="true" type="Sitecore.Data.DefaultDatabase, Sitecore.Kernel" role:require="Standalone or Reporting or ContentManagement or ContentDelivery">
  <param desc="name">$(id)</param>
  <icon>Images/database_web.png</icon>
  <securityEnabled>true</securityEnabled>
  <dataProviders hint="list:AddDataProvider">
    <dataProvider ref="dataProviders/main" param1="$(id)">
      <disableGroup>publishing</disableGroup>
      <prefetch hint="raw:AddPrefetch">
        <sc.include file="/App_Config/Prefetch/Common.config" />
        <sc.include file="/App_Config/Prefetch/Webdb.config" />
      </prefetch>
    </dataProvider>
  </dataProviders>
  <PropertyStore ref="PropertyStoreProvider/store[@name='$(id)']" />
  <remoteEvents.EventQueue>
    <obj ref="eventing/eventQueueProvider/eventQueue[@name='$(id)']" />
  </remoteEvents.EventQueue>
  <archives hint="raw:AddArchive">
    <archive name="archive" />
    <archive name="recyclebin" />
  </archives>
  <cacheSizes hint="setting">
    <data>100MB</data>
    <items>50MB</items>
    <paths>2500KB</paths>
    <itempaths>50MB</itempaths>
    <standardValues>2500KB</standardValues>
  </cacheSizes>
</database>

but i receive these errors :

Could not find configuration node: PropertyStoreProvider/store[@name='web2']

Could not find configuration node: eventing/eventQueueProvider/eventQueue[@name='web2']

up vote 9 down vote accepted

You should add the missing nodes in your config. Sitecore has added these things in the database config in Sitecore9. So in your case -for a "web2" database-, add:

<eventing defaultProvider="sitecore">
  <eventQueueProvider defaultEventQueue="core">
    <eventQueue name="web2" type="Sitecore.Data.Eventing.$(database)EventQueue, Sitecore.Kernel">
      <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
      <param hint="" ref="PropertyStoreProvider/store[@name='$(name)']" />
    </eventQueue>
  </eventQueueProvider>
</eventing>

and

<PropertyStoreProvider defaultStore="core">
  <store name="web2" prefix="web2" getValueWithoutPrefix="true" singleInstance="true" type="Sitecore.Data.Properties.$(database)PropertyStore, Sitecore.Kernel">
    <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
    <param resolve="true" type="Sitecore.Abstractions.BaseEventManager, Sitecore.Kernel" />
    <param resolve="true" type="Sitecore.Abstractions.BaseCacheManager, Sitecore.Kernel" />
  </store>
</PropertyStoreProvider>

Haven't been able to fully test this (yet), but this should work.

  • its worked after applying it , but can anyone explain what these extra configuration meant specially PropertyStoreProvider – user1534066 Dec 29 '17 at 11:08
  • The PropertyStoreProvider seems to be a way to configure how the "Properties" table -which has been in Sitecore for quite a while- can be used. By default it's just working on your sql database with the default caching and event queue. I guess you can now override all that if you really want to.. – Gatogordo Dec 29 '17 at 11:25

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.