October 30, 2020 Release (5.0.822.2)

Important

Per the Coveo Version Support Lifecycle policy, this Coveo for Sitecore 5 release has been retired. See available Coveo for Sitecore releases.

Even if this release is retired, you must still perform its upgrade steps to upgrade to a more recent version of Coveo for Sitecore.

This release includes the 2.9159.8 version of the JavaScript Search Framework (see June 2020 Release (v2.9159)).

When using a CDN with the Coveo Hive framework, this release includes the latest 2.9159 version of the JavaScript Search Framework (see Understanding How the Coveo JavaScript Files are Loaded (CDN)).

Downloads

Important

An important issue with this release was discovered and has been fixed in the December 2020 release. Coveo recommends you refrain from upgrading to this release and upgrade to the December 2020 release instead.

However, as usual, the upgrade steps in this release need to be performed prior to upgrading to the December 2020 release (see General leading practices).

Release Notes

This section summarizes the new features and fixed support cases introduced in the Coveo for Sitecore October 30, 2020 release (5.0.822.2).

Identifier Enhancement
SC-4470 Enabled Coveo Hive resources to be loaded from the CDN.
SC-4570 Added the possibility to bypass the Coveo for Sitecore proxy (see Disable the Reverse Proxy).1
SC-4586 Added the possibility to disable automatic filtering on Sitecore sources.
SC-4587 Added the possibility to disable Sitecore source creation.
SC-4598 Exposed the BypassCoveoForSitecoreProxy setting in the Command Center.
1 Front end search token generation was introduced. Caching of the /coveo/rest endpoint in general should be avoided.
Identifier Case Fixed Support Case
SC-4576 00062734 Added support for unhandled UA events in the Coveo Send Analytics to Sitecore rendering.
SC-4582 00063047 Fixed Could not resolve the search interface element console error message when using Coveo Recommendations rendering as standalone.
SC-4601 00063155 Fixed issue with Coveo for Sitecore proxy adding load balancer/proxy IP to the X-Forwarded-For Usage Analytics call header.
SC-4609 00062822 Fixed issue with old versions of items not being deleted in the master index of Sitecore 9.1+ instances.
Identifier Bug Fix
SC-4617 Made QuerySummaryNoResultsFoundMessage a versioned field­ for multi-language support.

Upgrade Steps

This section describes how to upgrade Coveo for Sitecore from September 18, 2020 (5.0.788.5) to October 30, 2020 (5.0.822.2). If you're upgrading over multiple versions, Coveo has a procedure to streamline the process.

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

Step 1: Upgrade Coveo for Sitecore

Important Make sure 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 5.0.822.2 package built for the specific version of Sitecore you’re running (for example, Sitecore 9.0). 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.

    Note
    You might be prompted twice with this question. 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 Configuration Files

The Coveo configuration files are located in the App_Config\Include\Coveo folder. When upgrading, you must compare the changes to the .example files from your current Coveo for Sitecore version with the ones in the build you’re upgrading to. Then, you can merge these changes into your current configuration files. This method let’s you keep your customization intact, while still benefiting from the latest enhancements brought in the product. You can use a merge tool such as WinMerge to accomplish this.

In further detail, here are the modifications that you must perform to the configuration files resulting from the feature changes between the previous and current Coveo for Sitecore releases:

Coveo.SearchProvider.Rest.config

The following element has been added.

<bypassCoveoForSitecoreProxy>false</bypassCoveoForSitecoreProxy>

Apply this change in your configuration.

Having <bypassCoveoForSitecoreProxy> set to false does not alter the behavior of your instance. Should you wish to have Coveo for Sitecore perform search and analytics calls directly to Coveo, you should patch this setting to true in your Coveo.SearchProvider.Rest.Custom.config file (see Coveo for Sitecore New Features).

Coveo.UI.Controls.config

The <fieldTypes> element below has been added as a child of the <sitecore> element.

<fieldTypes>
  <fieldType name="HideDependentCheckbox" type="Coveo.UI.Controls.Controls.HideDependentCheckbox, Coveo.UI.Controls" />
</fieldTypes>

The <renderContentEditor> element below has been added as a child of the <pipelines> element.

<renderContentEditor>
  <!-- This processor injects custom JavaScript and CSS file link into the Content editor. -->
  <processor patch:before="*[1]" type="Coveo.UI.Controls.Pipelines.InjectScripts, Coveo.UI.Controls">
    <CustomContentEditorJavascript>/sitecore modules/Shell/Coveo/CustomFields/DependentFields.js</CustomContentEditorJavascript>
    <CustomContentEditorStylesheets></CustomContentEditorStylesheets>
  </processor>
</renderContentEditor>

Apply these changes in your configuration.

Step 3: Update Your Custom Initialization and View Files

A line has changed in the following files:

Sitecore 7 and 8

  • <SITECORE_INSTANCE_ROOT>\Website\Coveo\Hive\init\init.cshtml

  • <SITECORE_INSTANCE_ROOT>\Website\Coveo\Hive\search box init\init.cshtml

  • <SITECORE_INSTANCE_ROOT>\Website\Views\Coveo Hive\Initialization\Initialize Recommendations.cshtml

  • <SITECORE_INSTANCE_ROOT>\Website\Views\Coveo Hive\Sections\External Components Section.cshtml

  • <SITECORE_INSTANCE_ROOT>\Website\Views\Coveo Hive\Validations\Validate Resources Are Included.cshtml

Sitecore 9 and 10

  • <SITECORE_INSTANCE_ROOT>\Coveo\Hive\init\init.cshtml

  • <SITECORE_INSTANCE_ROOT>\Coveo\Hive\search box init\init.cshtml

  • <SITECORE_INSTANCE_ROOT>\Views\Coveo Hive\Initialization\Initialize Recommendations.cshtml

  • <SITECORE_INSTANCE_ROOT>\Views\Coveo Hive\Sections\External Components Section.cshtml

  • <SITECORE_INSTANCE_ROOT>\Views\Coveo Hive\Validations\Validate Resources Are Included.cshtml

The line used to read as follows:

document.addEventListener("DOMContentLoaded", function() {

The line now reads as follows:

document.addEventListener("CoveoSearchEndpointInitialized", function() {

If you've created custom initialization scripts or custom view files based on the aforementioned files, ensure you adjust your scripts to listen for the CoveoSearchEndpointInitialized event from now on.

Step 4: Update Custom View Files Based on Coveo Page View Analytics.cshtml

The Sitecore 7 and 8 <SITECORE_INSTANCE_ROOT>\Website\Views\Coveo Hive\Analytics\Coveo Page View Analytics.cshtml file or Sitecore 9 and 10 <SITECORE_INSTANCE_ROOT>\Views\Coveo Hive\Analytics\Coveo Page View Analytics.cshtml file has changed substantially.

Ensure you replicate the changes made by Coveo in any custom .cshtml files you may have created off of the Coveo Page View Analytics.cshtml file.

Step 5: Update Custom Code Associated With Filter on Sitecore Context Database

If you have custom code associated with the automatic filtering of results based on the current Sitecore context database, this release of Coveo for Sitecore includes a new data source option which controls whether the source==<SITECORE_SOURCE_NAME> filter is to be applied (see Remove Filtering on the Current Sitecore Context Database). If the purpose of your custom code was to avoid having this filter added on your search results and recommendations, we recommend that you eliminate your custom code and use the new option instead.

Here are the most significant changes Coveo for Sitecore has made regarding filtering on the current Sitecore context database:

  • the source==<SITECORE_SOURCE_NAME> filter is now added to the constant query expression (cq)(it used to be added to the advanced query expression (aq)).

  • Coveo for Sitecore now adds the source==<SITECORE_SOURCE_NAME> filter on the onBuildingLocalSitecoreInstanceExpression event (it used to be added on the onBuildingQuery event).

Step 6: Publish Your Site

In the Sitecore Content Editor, perform a publish site action. This ensures any changes related to Coveo components in the upgrade are published to the web database.