THIS IS ARCHIVED DOCUMENTATION

Upgrading from March 2017 to April 2017

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 March 2017 to the April 2017 release.

Step 1: Upgrade Coveo Services

  1. Ensure that you have installed the March 2017 release of Coveo Enterprise Search (CES 7.0.8850). For more details, see Upgrading CES.

  2. Ensure that you have installed the March 2017 release of the Coveo Search API (8.0.1134).

Step 2: Upgrade Coveo for Sitecore

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

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

In the Coveo.SearchProvider.config file, make sure that the AdminServiceUri value uses the same host name as the one specified in the certificate. If you’re using a different host name, 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. Install the Coveo for Sitecore .zip package.

  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. 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 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

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. Install the Coveo for Sitecore .zip package.

  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. 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 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.

Coveo.SearchProvider.Rest.config

In the coveo node, locate the <AnalyticsUri>https://usageanalytics.coveo.com</AnalyticsUri> line (starting with an uppercase A) and replace it with the following (starting with a lowercase a):

<analyticsUri>https://usageanalytics.coveo.com</analyticsUri>

Do the same modification in all your configuration files patching this element.

CoveoSearch.ascx

In the <div class="coveo-results-column">, locate the data-enable-reveal-query-suggest-addon="<%= Model.OmniboxEnableRevealQuerySuggestAddon %>" line and replace it with the following:

data-enable-reveal-query-suggest-addon="<%= Model.OmniboxEnableMLQuerySuggestAddon %>"

CoveoSearchBox.ascx

  • In the second script element in the <coveoui:WhenConfigured runat="server"> node, right before searchbox.coveo(), add the following:

    Coveo.SearchEndpoint.endpoints["default"] = new Coveo.SearchEndpoint(<%= Model.GetJavaScriptSearchEndpointInitializationOptions() %>);
    
  • In the <div class="CoveoSearchbox"...>, locate the data-enable-reveal-query-suggest-addon="@Model.OmniboxEnableRevealQuerySuggestAddon parameter and replace it with the following:

    data-enable-reveal-query-suggest-addon="<%= Model.OmniboxEnableMLQuerySuggestAddon %>"
    

CoveoSearchResources.ascx

In the <coveoui:WhenConfigured runat="server"> node, delete the following line:

<script type="text/javascript" src="/Coveo/js/d3.min.js"></script>

SearchBoxView.cshtml

  • In the <div class="CoveoSearchbox"...>, locate the data-enable-reveal-query-suggest-addon="@Model.OmniboxEnableRevealQuerySuggestAddon parameter and replace it with the following:

    data-enable-reveal-query-suggest-addon="@Model.OmniboxEnableMLQuerySuggestAddon"
    
  • Locate the @if (Model.IsConfigured) clause. In the else, right before the searchbox.coveo() method, add the following line:

    Coveo.SearchEndpoint.endpoints["default"] = new Coveo.SearchEndpoint(@Html.Raw(Model.GetJavaScriptSearchEndpointInitializationOptions()));
    

SearchViewResources.cshtml

Remove the following line:

<script type="text/javascript" src="/Coveo/js/d3.min.js"></script>

SearchView.cshtml

  • In the <div class="CoveoSearchbox CoveoSearchPageSearchbox"...>, locate the @:data-enable-reveal-query-suggest-addon="@Model.OmniboxEnableRevealQuerySuggestAddon" parameter and replace it with the following:

    @:data-enable-reveal-query-suggest-addon="@Model.OmniboxEnableMLQuerySuggestAddon"
    
  • In the <div class="coveo-sort-section">, locate the following code block:

    @if (Model.DisplaySorting) {
        <div class="coveo-sort-section">
            <div>
                @Html.Sitecore().Placeholder("coveo-sorts-mvc")
            </div>
        </div>
    }
    

    Replace it with the following:

    @if (Model.DisplaySorting) {
        <div class="coveo-sort-section">
            @Html.Sitecore().Placeholder("coveo-sorts-mvc")
        </div>
    }