Upgrading Configuration Files from Coveo for Sitecore 4.0 to Coveo for Sitecore 4.1
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.