Return to doc.sitecore.com

  Configuration file changes in Sitecore CMS 6.5.0 and DMS 2.0.0 rev. 111123 compared to Sitecore CMS 6.5.0 and DMS 2.0.0 rev. 110818

This update requires you to make changes to the following files:

The clean config files for Sitecore CMS 6.5.0 rev. 111123 and DMS 2.0.0 rev.111123 can be downloaded using the following links:

Changes to the Web.config file

The following changes have been made to the Web.config file of Sitecore CMS 6.5.0 rev. 111123 (Update-2) as compared to the Web.config file of Sitecore CMS 6.5.0 rev. 110818 (Update-1):

  1. In the <renderLayout> pipeline, a new processor named ExpandMasterPages has been added after the PageExtenders processor, so that the entire pipeline now looks like this:
    <renderLayout>
      <processor type="Sitecore.Pipelines.PreprocessRequest.CheckIgnoreFlag, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.PageHandlers, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.SecurityCheck, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.InsertRenderings, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.PageExtenders, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.ExpandMasterPages, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.BuildTree, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.InsertSystemControls, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.InsertUnusedControls, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderLayout.BrowserCaching, Sitecore.Kernel"/>
    </renderLayout>
    The pipeline processor only expands master pages when necessary. Master pages are only expanded using the Page Editor (or Preview or the Debugger), and only when the LayoutPageEvent web.config setting is set to "preInit".
  2. Check if the <expandInitialFieldValue> pipeline contains a processor named CheckSharedField. If not, add the processor after the SkipStandardValueItems processor, so that the entire pipeline looks like this (assuming that you have not added or removed other processors):
    <expandInitialFieldValue help="Processors should derive from Sitecore.Pipelines.ExpandInitialFieldValue.ExpandInitialFieldValueProcessor">
      <processor type="Sitecore.Pipelines.ExpandInitialFieldValue.SkipStandardValueItems, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.ExpandInitialFieldValue.CheckSharedField, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.ExpandInitialFieldValue.ReplaceVariables, Sitecore.Kernel"/>
    </expandInitialFieldValue>
  3. In the <getRenderingDatasource> pipeline, a new processor named SetFallbackDatasourceLocations has been added after the GetDatasourceLocation processor, so that the entire pipeline now looks like this:
    <getRenderingDatasource>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.GetDatasourceLocation, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.SetFallbackDatasourceLocations, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.GetDatasourceTemplate, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.GetTemplatesForSelection, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.CheckDialogState, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.GetRenderingDatasource.GetDialogUrl, Sitecore.Kernel"/>
    </getRenderingDatasource>
  4. In the <renderField> pipeline, a new processor named GetTextFieldValue has been added after the GetFieldValue processor, so that the entire pipeline now looks like this:
    <renderField>
      <processor type="Sitecore.Pipelines.RenderField.SetParameters, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetTextFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.ExpandLinks, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetImageFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetLinkFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetInternalLinkFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetMemoFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetDateFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.GetDocxFieldValue, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.AddBeforeAndAfterValues, Sitecore.Kernel"/>
      <processor type="Sitecore.Pipelines.RenderField.RenderWebEditing, Sitecore.Kernel"/>
    </renderField>
  5. The description (desc) attribute for the mode parameter of the PublishAgent from scheduling section has been corrected and now looks like this:
    <!-- Agent to publish database periodically -->
    <agent type="Sitecore.Tasks.PublishAgent" method="Run" interval="00:00:00">
      <param desc="source database">master</param>
      <param desc="target database">web</param>
      <param desc="mode (full or smart or incremental)">incremental</param>
      <param desc="languages">en, da</param>
    </agent>
  6. The following setting is obsolete and should be deleted from section <settings> if it is present:
    <!--  AUTHENTICATION TICKET TIMEOUT
          Specifies the number of minutes before an authentication ticket
          becomes invalid. The default is 480 minutes (8 hours).
    -->
    <setting name="Authentication.TicketTimeout" value="480"/>
  7. Check if the <settings> section contains the following setting. If not, add it to the section:
    <!--  AUTHENTICATION CLIENT SESSION TIMEOUT
          Specifies the number of minutes before Sitecore considers user authentication session tickets as expired.
          This setting is only relevant for users logging in to Sitecore Client and when the Sitecore license has a limited number
          of concurrent editors.
          All expired sessions will automatically be removed when a new user tries to log in and the maximum
          number of concurrent editors has been reached.
          The default is 60 minutes (1 hour).
    -->
    <setting name="Authentication.ClientSessionTimeout" value="60"/>
  8. Check if the <settings> section contains the following setting. If not, add it to the section:
    <!--  CACHING - DISABLE CACHE SIZE LIMITS
          If true, Sitecore does not limit cache size growth and ignores any maximum cache sizes
          specified in the web.config file.           
          Enabling this setting can improve the application's performance in 64-bit environments
          by allowing Sitecore to take full advantage of the available memory.
          After setting this value to true, monitor the system at regular intervals, as this
          configuration can cause Sitecore to consume too much memory and cause Out Of Memory errors.
          It is only recommended to set the setting to true in 64-bit environments.
          Default value: false
    -->
    <setting name="Caching.DisableCacheSizeLimits" value="false"/>
  9. Check if the <settings> section contains the following setting. If not, add it to the section:
    <!--  ENABLE SITE.CONFIG FILES
          If true, the SiteResolver pipeline processor checks for the existence of a "site.config"
          file in the physical subdirectory corresponding to the requested URL. If a "site.config"
          file exists, Sitecore uses that file to determine the context site (Sitecore.Context.Site)
          for the current request.
          For example, when processing a request for the URL http://site.com/parent/child.html,
          Sitecore first checks for the existence of <webroot>/parent/site.config.
          Syntax: The site.config files should contain the following XML markup:
            <site reference="[name of the site definition from the web.config]"/>
          Default value: false
    -->
    <setting name="EnableSiteConfigFiles" value="false"/>
  10. Check if the <settings> section contains the following setting. If not, add it to the section:
    <!--  MEDIA - CACHE FILE MEDIA BY MODIFIED DATE
          If true, in addition to varying by the standard media request parameters such as height and width,
          Sitecore varies media cache entries for file-based media by both file path and the last modification
          date of the media file.
          If false, Sitecore varies file media cache entries only by file path and standard media request
          parameters and does not account for the last modification date of the file. A false value decreases
          the number of file system I/O operations performed for each media request, but could cause Sitecore
          to serve stale data for file media items if a process other than the Sitecore CMS user interfaces
          initiated that change.
          Default value: true
    -->
    <setting name="Media.CacheFileMediaByModifiedDate" value="true"/>
  11. Check if the <settings> section contains the following two settings. If not, add them to the section:
    <!--  MEDIA - RESIZING MAX HEIGHT
          Maximum height for dynamically resized images.
          If the requested height exceeds this value, Sitecore resizes the image to this height.
          A value of 0 disables this height limit.
          Default value: 1024
    -->
    <setting name="Media.Resizing.MaxHeight" value="1024"/>
    <!--  MEDIA - RESIZING MAX WIDTH
          Maximum width for dynamically resized images.
          If the requested width exceeds this value, Sitecore resizes the image to this width.
          A value of 0 disables this width limit.
          Default value: 1280
    -->
    <setting name="Media.Resizing.MaxWidth" value="1280"/>
  12. Check if the <settings> section contains the following setting. If not, add it to the section:
    <!--  SERIALIZATION - INVALID FILE NAME CHARS
          When generating file names that correspond to item names, the serialization API encodes the "$" and "%" characters, as well
          as any characters that are invalid in path names as returned by the System.IO.Path.GetInvalidFileNameChars() method.
          You can use this setting to specify additional characters that must be encoded, such as to meet the requirements of a source
          control system that does not allow specific characters in file names.
          Default value: ""
    -->
    <setting name="Serialization.InvalidFileNameChars" value=""/>
  13. Check if the <system.webServer><modules> section contains the following node. If not, add it to the section, just before the Sitecore.Nexus.Web.HttpModule:
    <add type="Sitecore.Web.RewriteModule, Sitecore.Kernel" name="SitecoreRewriteModule"/>
  14. Check if the <system.web><httpModules> section contains the following node. If not, add it to the section, just before the Sitecore.Nexus.Web.HttpModule:
    <add type="Sitecore.Web.RewriteModule, Sitecore.Kernel" name="SitecoreRewriteModule"/>
  15. In the previous CMS 6.5 releases, .NET tracing was enabled by default, which is not recommended unless you are troubleshooting problems. It is recommended to check that value of the setting and set enabled="false" if it is currently set to true:
    <trace enabled="false" requestLimit="50" pageOutput="false" traceMode="SortByTime" localOnly="true"/>

Changes to the Analytics.config file

Below is the list of changes made to the Sitecore.Analytics.config file of DMS 2.0.0 rev. 111123 as compared to the Sitecore.Analytics.config file of DMS 2.0.0 rev. 110818:

  1. Check if the following setting is present in the file. If not, add it to the <settings> section:
    <!--  ANALYTICS FORWARDED REQUEST HTTP HEADER
     Specifies the name of an HTTP header variable containing the IP address of the webclient.
     For use only behind load-balancers that mask web client IP addresses from webservers.
     IMPORTANT: If used improperly, this setting allows IP address spoofing.
     Typical values are "X-Forwarded-For" and "X-Real-IP".
     Default value: "" (disabled)
    -->
    <setting name="Analytics.ForwardedRequestHttpHeader" value=""/>
  2. In the <createVisit> pipeline, a new processor named XForwardedFor has been added before the UpdateGeoIpData processor, so that the entire pipeline now looks like this:
    <createVisit>
      <processor type="Sitecore.Analytics.Pipelines.CreateVisits.XForwardedFor,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.CreateVisits.UpdateGeoIpData,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.CreateVisits.ParseReferrer,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.CreateVisits.SetTrafficType,Sitecore.Analytics"/>
    </createVisit>