Configuration guide for Sitecore CM-CD Environment – Part II
Home

Configuration guide for Sitecore CM-CD Environment – Part II

Author: Surendra Sharma | Categories: CMS selection, Sitecore CMS, CMS

Configuring the Content Management Environment

This blog describes how content management servers enable content editors to create and publish content to a website.

You have several options when you configure a content management server. It is possible to mix server features, such as, content delivery and content management together on the same server or you could configure a single content management server. You could also have multiple content management servers, depending on your content editing needs

To configure an instance of Sitecore CMS in a CM environment:

  1. Install Full setup of a Sitecore CMS web application on the server or copy-paste your development environment Sitecore folder and map with IIS on server.
  2. Configure the web application to connect to the Core, Master, and Web databases from the database server. [Note: - Restore all databases – Master, core, web, and analytics.]
  3. Provide permissions to IIS user on website folder.
  4. Rename \include\ScalabilitySettings.config.example file to ScalabilitySettings.config
  5. Rename \include\ForwardingSecurityEvents.config.example file to ForwardingSecurityEvents.config
  6. Open ForwardingSecurityEvents.config and make below entry
  7.           <targets hint="list">

                <web>web</web>

                <web>pub</web>

              </targets>

          </processor>

          </initialize> 

        </pipelines>

        <databases>

          <database id="web">

            <remoteEvents.listenToEvents>true</remoteEvents.listenToEvents>

          </database>

        </databases>


  8. Rename \include\Sitecore.ContentSearch.config.example file to Sitecore.ContentSearch.config 
    Open
    Sitecore.ContentSearch.config and make below entry for new Handler under indexing:end:remote event
  9.         <sitecore>
        <events>
          <event name="indexing:start" />
          <event name="indexing:start:remote" />
          <event name="indexing:end">
            <handler type="Sitecore.ContentSearch.Maintenance.IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
          </event>
          <event name="indexing:end:remote" >
            <handler type="Sitecore.ContentSearch.Maintenance.IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
          </event>
        </events>   


  10. Make sure web database entry in Sitecore.ContentSearch.Lucene.Index.Web.config as
  11. <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
                    <Database>web</Database>

  12. Configure the name of the publishing instance.
  13. To configure a remote publishing target, you must:
    • Create a publishing target database.
      • Duplicate an existing publishing target database. Make copy of existing web database and restore as a new name “pub”
      • Register the publishing target database.
    1. In the web.config file, duplicate the /configuration/sitecore/databases/database element with an id of web, and then change the id attribute in the new element to the name of the publishing target database connection string name, such as pub.
    2.       <!-- end of web -->
            
            <!-- pub -->
            <database id="pub" singleInstance="true" type="Sitecore.Data.Database, Sitecore.Kernel">
              <param desc="name">$(id)</param>
              <icon>Network/16x16/earth.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>
              <proxiesEnabled>false</proxiesEnabled>
              <proxyDataProvider ref="proxyDataProviders/main" param1="$(id)"/>
              <archives hint="raw:AddArchive">
                <archive name="archive"/>
                <archive name="recyclebin"/>
              </archives>
              <cacheSizes hint="setting">
                <data>20MB</data>
                <items>10MB</items>
                <paths>500KB</paths>
                <itempaths>10MB</itempaths>
                <standardValues>500KB</standardValues>
              </cacheSizes>
      </database>

    3. In the /App_Config/ConnectionStrings.config or in the /App_Config/ConnectionStringsOracle.config file, duplicate the /connectionStrings/ add element named web, change the name attribute from web to the connection string name, such as pub, and then change the connectionString property to access the publishing target database.
    4. <add name="core" connectionString="user id=sa;password=abc;Data Source=tesrsrv;Database=TestSitecore_Core"/>
      <add name="master" connectionString="user id=sa;password=abc;Data Source= tesrsrv;Database=TestSitecore_Master"/>
      <add name="web" connectionString="user id=sa;password=abc;Data Source= tesrsrv;Database=TestSitecore_Web"/>
      <add name="pub" connectionString="user id=sa;password=abc;Data Source= tesrsrv;Database=TestSitecorePub_Web"/>


    5. On one of the CM instances, in the Content Editor, select the /Sitecore/System/Publishing targets item.
    6. In the Content Editor, insert a publishing target definition item that is named after the database and is based on the System/Publishing target data template.
    7. In the Content Editor, in the new publishing target definition item, in the Data section, in the Target database field, enter the name of the publishing target database, such as pub.

    Sitecore CMS

    Go ahead and check out in Part 3 of this series how to configure the Content Delivery Environment in Sitecore.