Coveo for Sitecore 5 is now available!

Upgrading Configuration Files from Coveo for Sitecore 4.0 to Coveo for Sitecore 4.1

For the best Coveo for Sitecore experience, always follow the Leading Practices When Upgrading Coveo for Sitecore.

This page lists the different changes that were done to the configuration files between Coveo for Sitecore 4.0 and 4.1.

New Configuration Files

Two new configuration files were added on the Coveo for Sitecore 4.1 package: Coveo.UI.Components.ExperienceEditor.config and Coveo.UI.Controls.Specific.config.

When upgrading a Coveo for Sitecore 4.0 previous installation to Coveo for Sitecore 4.1, ensure that you rename these files by removing the .example extension.

Coveo.SearchProvider.config

externalFields

New external fields were added to this section. These are the default fields from the Coveo platform.

The following code snippet shows how the externalFields node looks like with the added fields.

<externalFields hint="raw:AddExternalField" />
    <field fieldName="sysauthor" />
    <field fieldName="syscollection" />
    <field fieldName="sysconcepts" />
    <field fieldName="sysdate" />
    <field fieldName="sysfiletype" />
    <field fieldName="syssource" />
    <field fieldName="sysrowid" />
    <field fieldName="sysattachmentparentid" />
    <field fieldName="sysclickableuri" />
    <field fieldName="sysindexeddate" />
    <field fieldName="sysisattachment" />
    <field fieldName="syslanguage" />
    <field fieldName="sysprintableuri" />
    <field fieldName="sysattachmentparentid" />
    <field fieldName="syssize" />
    <field fieldName="systitle" />
    <field fieldName="systopparent" />
    <field fieldName="systopparentid" />
    <field fieldName="systransactionid" />
    <field fieldName="sysuri" />
    <field fieldName="sysurihash" />
</externalFields>

coveoResolveTextWithTokens

This node was moved from the Coveo.SearchProvider.config file to the Coveo.UI.Controls.config file.

<coveoResolveTextWithTokens>
    <processor type="Coveo.UI.Controls.Processors.ResolveTextWithTokens.MasterVariablesTokensProcessor, Coveo.UI.Controls" />
    <processor type="Coveo.UI.Controls.Processors.ResolveTextWithTokens.GuidTokenProcessor, Coveo.UI.Controls" />
</coveoResolveTextWithTokens>

Coveo.SearchProvider.Custom.config

externalFields

If you have any custom changes related to the externalFields, ensure that you do them in the .Custom file.

We have created a new externalFields node at this file right after the fieldNames section inside the fieldMap node. The following snippet shows an example of externalFields on that section.

<fieldMap>
    <externalFields hint="raw:AddExternalField">
        <field fieldName="theExternalFieldToUseInSitecore" />
    </externalFields>
</fieldMap>

Coveo.UI.Controls.config

events

This node was added to this configuration file as a child of <sitecore> node. The following snippet shows the added configuration elements.

<events timingLevel="custom">
    <event name="item:created">
        <!-- Resolves the Unique ID field on the creation of a Coveo UI Component. -->
        <handler type="Coveo.UI.Controls.EventHandlers.ItemWithUniqueIdEventHandler, Coveo.UI.Controls" method="OnItemCreated" />
    </event>
</events>

coveoResolveTextWithTokens

As mentioned before, this node was moved from Coveo.SearchProvider.config to Coveo.UI.Controls.config file.

<coveoResolveTextWithTokens>
    <processor type="Coveo.UI.Controls.Processors.ResolveTextWithTokens.MasterVariablesTokensProcessor, Coveo.UI.Controls" />
    <processor type="Coveo.UI.Controls.Processors.ResolveTextWithTokens.GuidTokenProcessor, Coveo.UI.Controls" />
</coveoResolveTextWithTokens>

controlSources

In the controlSources node, change the sources to reflect this change:

<controlSources>
    <source mode="on" namespace="Coveo.UI.Controls.Controls" assembly="Coveo.UI.Controls" prefix="coveoui" />
    <source mode="on" namespace="Coveo.UI.Controls" assembly="Coveo.UIBase" prefix="coveouilegacy" />
</controlSources>

AllowSearchPageRootPath

The following change was made so that the user is only able to create a new Coveo for Sitecore search pages under the /sitecore/Content/Home path instead of /sitecore/Content. Your AllowSearchPageRootPath should look like this:

<AllowSearchPageRootPath>/sitecore/Content/Home</AllowSearchPageRootPath>

For more information on the REST endpoint pipelines, see Understanding the REST Endpoint Pipelines.

Recommended Articles