Coveo for Sitecore 5 is now available!

Upgrading from April 2016 (4.0.171) to June 2016 (4.0.222)

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

This section describes how to upgrade Coveo for Sitecore 4.0 from the April 2016 release to the June 2016 release.

Step 1 - Upgrade Coveo Services

  1. Upgrade Coveo Enterprise Search (CES) to the June 2016 release. For more details, see Upgrading CES.

  2. Upgrade Coveo Search API to the May 2016 release. Follow the normal steps of the installation wizard.

Step 2 - Upgrade Coveo for Sitecore

Please, ensure that the Microsoft MVC security update MS14-059 is installed on every Sitecore host in your environment.

If you are using the Coveo Admin Service in secure mode, please read this notice before installing the package.

In the Coveo.SearchProvider.config file, make sure that the AdminServiceUri value uses the same hostname as the one specified in the certificate. If you are using a different hostname, such as localhost, you might get the error below when installing the package.

The remote certificate is invalid according to the validation procedure.
...
[WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.]
...
[SecurityNegotiationException: Could not establish trust relationship for the SSL/TLS secure channel with authority 'localhost'.]
  1. Log into the Sitecore Desktop.

  2. Access the Installation Wizard (Sitecore Start Menu > Development Tools > Installation Wizard).
  3. Upload and install the Coveo for Sitecore XX 4.0 (222).zip package. You can find it in Downloads.
  4. When prompted to overwrite files, click Yes to all.
  5. When prompted to overwrite items, select Overwrite, then click Apply to all.

    You might be prompted twice with this question. Simply select the Overwrite option and click Apply to all both times.

  6. Once the installation is completed, make sure that you restart both the Sitecore client and server.

Step 3 - Manually Update the Coveo Search Provider Configuration File

Merging Your Modifications into the Configuration Files

Since upgrading Coveo for Sitecore modifies the Coveo Search Provider configuration files (Coveo.SearchProvider.config.example and Coveo.SearchProvider.Custom.config.example) with the latest fixes and enhancements, you need to manually merge these modifications into your current configuration files (Coveo.SearchProvider.config and Coveo.SearchProvider.Custom.config). This method allows you to keep your own customization intact, while still benefiting from the latest enhancements brought in the product. You can use a merge tool such as WinMerge to do that.

Step 1 - Upgrade Coveo for Sitecore

Please, ensure that the Microsoft MVC security update MS14-059 is installed on every Sitecore host in your environment.

  1. Log into the Sitecore Desktop.

  2. Access the Installation Wizard (Sitecore Start Menu > Development Tools > Installation Wizard).
  3. Upload and install the Coveo for Sitecore XX 4.0 (222).zip package.You can find it in Downloads.
  4. When prompted to overwrite files, click Yes to all.
  5. When prompted to overwrite items, select Overwrite, then click Apply to all.

    You might be prompted twice with this question. Simply select the Overwrite option and click Apply to all both times.

  6. Once the installation is completed, make sure that you restart both the Sitecore client and server.

Step 2 - Manually Update the Coveo Search Provider Configuration File

Merging Your Modifications into the Configuration Files

Since upgrading Coveo for Sitecore modifies the Coveo Search Provider configuration files (Coveo.SearchProvider.config.example and Coveo.SearchProvider.Custom.config.example) with the latest fixes and enhancements, you need to manually merge these modifications into your current configuration files (Coveo.SearchProvider.config and Coveo.SearchProvider.Custom.config). This method allows you to keep your own customization intact, while still benefiting from the latest enhancements brought in the product. You can use a merge tool such as WinMerge to do that.

Manually Modify the Configuration Files

The following modifications explain in details what has changed between the April 2016 and June 2016 releases in the .example files.

Coveo.SearchProvider.config

  • In the Coveo.SearchProvider.config, add the following pipelines under the pipeline node.

    <getContentEditorWarnings>
    <!-- The TopResultConfigurationWarningProcessor validates that a Top Result item is correctly configured -->
    <processor type="Coveo.SearchProvider.TopResults.TopResultConfigurationWarningProcessor, Coveo.SearchProviderBase" />
    </getContentEditorWarnings>
    <coveoResolveTextWithTokens>
    <processor type="Coveo.UI.PipelineProcessors.ResolveTextWithTokens.MasterVariablesTokensProcessor, Coveo.UIBase" />
    <processor type="Coveo.UI.PipelineProcessors.ResolveTextWithTokens.GuidTokenProcessor, Coveo.UIBase" />
    </coveoResolveTextWithTokens>
    
  • Remove the element configuration/sitecore/coveo/defaultIndexConfiguration/queryConfiguration/maximumAge. It will instead use the default recommended value, but can be overridden in specific index configurations.
  • Also remove the full agent Coveo.CloudPlatformClient.Agents.CleanUpAfterRebuildAgent node, in the configuration/sitecore/scheduling node. The method has changed in the June 2016 version, and it is no longer needed.
  • Ensure that there is only one requirementsInvalidateDelay element in the file, as it was present twice in the Coveo for Sitecore 8.1 package.
  • Finally, and only in Sitecore 8.1, the enableAnalytics parameter in the Sitecore sites definition was renamed to enableTracking. The renaming must be applied to the Coveo sites definitions. The following code snippet shows the renamed parameters of the site nodes in the Coveo.SearchProvider.config file.

    <!-- The site coveorest needs to be inserted as the first element, or before any other sites that have the coveorest site as a child (e.g., sites defined with virtualpath="/"). -->
    <site patch:before="*[1]" name="coveorest" virtualFolder="/coveo/rest" physicalFolder="/coveo/rest" enableTracking="false" database="web" domain="extranet" />
    <!-- The site coveoanalytics needs to be inserted before coveorest, because it requires analytics to be enabled. -->
    <site patch:before="*[1]" name="coveoanalytics" virtualFolder="/coveo/rest/v6/analytics" enableTracking="true" database="web" domain="extranet" />
    

SwitchMasterToWeb.Coveo.config

  • In the SwitchMasterToWeb.Coveo.config, change the agent configuration for the Coveo.SearchProvider.Agents.SynchronizeTopResults to the following.

    <agent name="CoveoSynchronizeTopResults">
    <patch:delete />
    </agent>