Sitecore Configuration Validator

Configuring a Sitecore Application in a distrubuted environment, correctly, has in the past been a fairly complex process. There are a lot of configuration files, and a lot of differences in environments, based on a wide range of requirements.

Previously, configuring each Sitecore Instance within an application was done by reviewing a table on the Sitecore website, which stated every config file to enable or disable, based on the each of the roles you required. Confusion was increased when additional dedicated server roles were added for Processing and Reporting, and the number of articles of each use case scenrio became unwieldly.

Sitecore moved to make configuring server roles easier by creating a spreadheet, which is linked to on the Sitecore website, detailing (nearly) all of the variety of server roles, each configuration file in the Sitecore installation, and whether that file should be enabled or disabled.

The Sitecore Configuration Validator tool is designed to automate the updating of Sitecore server role configuration, based on this spreadsheet. This tool will modify the files in a base Sitecore install to match the details in the Sitecore spreadsheet, based on input variables defined for the role and search provider required.


  • -i
    Description: the physical path to the spreadsheet, provided by Sitecore
  • -w
    Description: the physical path to the Website Root folder on the Sitecore base files
  • -r
    Description: the Sitecore server role you would to validate the Sitecore base files against
  • -s
    Description: the Search Provider that you are using
    Options: ‘lucene’ or ‘solr’
    Default: ‘lucene’
  • -v
    Description: Verbose logging
    Note: Soon to be obsolete


Build the Solution in Debug or Release mode, and take the files generated in the bin folder, in the equivalent Configuration mode based folder. The SitecoreConfigurationValidator.exe file is the file that will be used in CMD to validate your Sitecore base configuration files.

For a CD server:
SitecoreConfigurationValidator.exe -i {path-to-spreadsheet} -w {path-to-folder-above-website-root} -r “Content Delivery (CD)” -s {lucene-or-solr} -v

For a CM server:
SitecoreConfigurationValidator.exe -i {path-to-spreadsheet} -w {path-to-folder-above-website-root} -r “Content Management (CM)” -s {lucene-or-solr} -v

App Settings

  • sitecoreRoles
    Used to determine the Sitecore server roles, defined in the columns of the spreadsheet, that the application can use to validate. Created as an extension point if the spreadsheet adds more roles over time
  • exclusions
    Sometimes there are instances where the spreadsheet may be incorrect, or where you may like to make changes to the way a role is configured in the spreadsheet. Exclusions enable you to define, per role, individual files that you would like to be validated, differently to that defined in the Sitecore spreadsheet
  • Excel.HeaderRowIndex
    Used to determine the header row that contains the column heading for the relative Sitecore Roles (going to be refactored shortly to be determined in a programmatic manner)

View source:


Feel free to use this tool, and any feedback provided would be much appreciated.



EXM – Failed to execute the commitSession pipeline

Recieved this error in EXM logs:

ERROR Failed to process task. Pipeline threw an exception. Processing the task will not be retried later.
Exception: System.InvalidOperationException
Message: Failed to execute the commitSession pipeline.

Based on this article enable Sitecore.Analytics.Tracking.Aggregation.config and Sitecore.Analytics.Tracking.Database.ScaledCM.config. In our instance we have multiple CMs, handling Processing and Reporting roles. Unknown if this is needed for a single stand-alone CM server handling these roles also.

Continue reading

Assembly Reference dependency based Sitecore Nuget Package Generator

Source:An extension of Sitecore Nuget Package Generator which adds assembly reference based dependencies.To date we have been referencing Sitecore Libraries from Nuget Packages in a private MyGet feed, that are versioned based on Sitecore release versions, and contain groupings of logically related libraries, that were originally built using an older version of Sean Holmesby’s Sitecore Nuget Package Generator Package:

Engagement Plan Action ‘Send Email Campaign Message’ – No email address was associated with recipient

We have recently gone through an upgrade from Sitecore 6.6 to Sitecore 8.1, and had to deal with an issue that arose when the Engagement Automation Action ‘Send Email Campaign Message’ fired.

Recipient is skipped. No email address was associated with recipient 'xdb:60967502-fbff-45a0-8e2d-57e0a4eebbfd'.

Continue reading