Post-Upgrade Steps

Important

The instructions below pertain to upgrade scenarios 2 and 3 in the Coveo for Sitecore 4 to Coveo for Sitecore 5 Upgrade Procedure article and assume that you have performed all prior steps in your upgrade scenario.

At this stage, you should be able to use the version of Coveo for Sitecore 5 you installed. However, some Sitecore instance cleaning and Coveo for Sitecore 5 preparatory tasks remain.

The /sitecore/System/Modules/Coveo/ folder was included in Coveo for Sitecore 4 packages solely for the management of top results with On-Premises versions of Coveo for Sitecore. It’s no longer required and should be deleted to avoid confusion.

Important

With Coveo Cloud, Top Results have been renamed Featured Results and are managed from the Query Pipelines (see Manage Featured Result Rules).

Delete Legacy Search UI Framework Items from the Sitecore Content Tree

Coveo for Sitecore 4.1 allowed the creation of Coveo-powered search interfaces using both the Legacy Search UI Framework and the Coveo for Sitecore Hive Framework. Now that only Coveo Hive items can be used, you can lighten the Sitecore content tree considerably and avoid confusion by deleting Legacy Search UI Framework items.

Note

The Sitecore Installation Wizard doesn’t allow the removal of items from the content tree. This action must be performed manually.

Deleting Items Created off of Base Coveo Items

If you have created items in Sitecore using Coveo Legacy UI base items (e.g. search pages, layouts, renderings), these items won’t work in Coveo for Sitecore 5. You can therefore delete them through the Sitecore content tree.

Important

Coveo Legacy UI and Coveo Hive items are located in separate folders in the Sitecore content tree. Coveo Hive items are usually located in folders named Coveo Hive, whereas folders named Coveo or CoveoModule contain Legacy UI items. Coveo Hive and Coveo Legacy folders are usually siblings in the Sitecore content tree, as illustrated by the Coveo layouts folders in the screenshot below.

MyLegacySearchPageRelatedTemplate

This screenshot also shows that the Template field value in the Quick Info may be used to determine whether the item is based off of a Coveo Hive or Coveo Legacy item.

Deleting Coveo Base Items

  1. You may delete the following Coveo Legacy Search UI folders, their sub-items and item/sub-item links.

    • /sitecore/Layout/Layouts/Coveo

    • /sitecore/Layout/Models/Coveo

    • /sitecore/Layout/Placeholder Settings/Coveo

    • /sitecore/Layout/Renderings/Coveo

    • /sitecore/Layout/Sublayouts/Coveo

    • /sitecore/Templates/CoveoModule

      Note

      Unlike the other Coveo folders, the /sitecore/Templates/CoveoModule folder can’t be deleted entirely in a single step. Referenced items must be deleted first.

  2. You may also delete the items in the /sitecore/Media Library/Coveo folder, but do not delete the Page Events folder and its contents.

Delete Old Control Panel Controls

Many of the Coveo Search section options in Coveo for Sitecore 4.1 now redirect to the Coveo Command Center. However, you must delete the no-longer-used controls.

The files to delete are located under <SITECORE_INSTANCE_ROOT>\Website\sitecore modules\Shell\Coveo\.

The files to delete are located under <SITECORE_INSTANCE_ROOT>\sitecore modules\Shell\Coveo\.

Here are the files you need to delete:

  • ActionsDialog.xml

  • CleanupUnusedResourcesWizard.xml

  • CleanupUnusedResourcesWizardFormPage.xml

  • ConfigurationDialog.xml

  • ConfigurationWizardFormPage.css

  • ConfigureCoveoCloudOrganizationWizard.xml

  • ConfigureCoveoCloudOrganizationWizardFormPage.xml

  • ConfigureFarmNameWizard.xml

  • ConfigureFarmNameWizardFormPage.xml

  • ConnectToCoveoCloudWizardFormPage.xml

  • ConfigureSitecoreCredentialsWizard.xml

  • ConfigureSitecoreCredentialsWizardFormPage.xml

  • ReactivateDisabledSecurityEntitiesWizard.xml

  • ReactivateDisabledSecurityEntitiesWizardFormPage.xml

  • UpdateSecurityCacheWizard.xml

  • UpdateSecurityCacheWizardFormPage.xml

  • UpdateSecurityModelWizard.xml

  • UpdateSecurityModelWizardFormPage.xml

  • UpdateSpecificSecurityCacheConfirmationFormPage.xml

  • UpdateSpecificSecurityCacheWizard.xml

  • UpdateSpecificSecurityCacheWizardFormPage.xml

Delete Deprecated DLLs and Folders

Now that every reference to the deprecated DLLs and files have been removed in Sitecore items and configuration files, you can delete them from your Sitecore instance.

Note

The Sitecore Installation Wizard doesn’t allow the removal of files and folders. These actions must therefore be performed manually.

Deleting Deprecated DLLs

  1. In your Sitecore instance filesystem, locate and open the bin folder.

    The bin folder is located in <SITECORE_INSTANCE_ROOT>/Website.

    The bin folder is located at the root of your Sitecore instance.

  2. Within this folder, delete the following files:

    Important

    The Coveo.Connectors.Utilities.Compression.dll and Coveo.Connectors.Utilities.Encryption.dll files have been replaced with the Coveo.Framework.Compression.dll and Coveo.Framework.Encryption.dll files respectively. Special attention should be taken to delete the correct DLLs.

    • Coveo.AdminServiceClient.dll

    • Coveo.Connectors.Sitecore2.SitecoreEventHandler.dll

    • Coveo.Connectors.Sitecore2.SitecoreWebService.dll

    • Coveo.Connectors.Sitecore2.SitecoreWebServiceExceptions.dll

    • Coveo.Connectors.Utilities.Compression.dll

    • Coveo.Connectors.Utilities.Encryption.dll

    • Coveo.SearchProvider.LinqBase.dll

    • Coveo.UI.dll

    • Coveo.UIBase.dll

Deleting No Longer Required Folders

  1. From the bin folder you have just deleted DLLs in, move up one directory.

  2. Locate and open the Coveo folder.

  3. Delete the following folders:

    • css

    • fonts

    • image

    • js

  4. Delete the WebService folder.

    The WebService folder is located in the <SITECORE_INSTANCE_ROOT>\Website\sitecore modules\Web\Coveo folder.

    The WebService folder is located in the <SITECORE_INSTANCE_ROOT>\sitecore modules\Web\Coveo folder.

  5. Delete the legacy Coveo view files folder.

    Delete the <SITECORE_INSTANCE_ROOT>\Website\Views\Coveo folder. Do not delete its sibling Coveo Hive folder.

    Delete the <SITECORE_INSTANCE_ROOT>\Views\Coveo folder. Do not delete its sibling Coveo Hive folder.

  6. Delete the legacy Coveo layout files folder.

    Delete the <SITECORE_INSTANCE_ROOT>\Website\layouts\Coveo folder. Do not delete its sibling Coveo Hive folder.

    Delete the <SITECORE_INSTANCE_ROOT>\layouts\Coveo folder. Do not delete its sibling Coveo Hive folder.

Including Fields to Index Through the Command Center

Important

The steps in this section are only required if your App_Config\Include\Coveo folder does not contain the Coveo.SearchProvider.Fields.Custom.config file. If your folder doesn’t contain the Coveo.SearchProvider.Fields.Custom.config file, this means you have not yet added fields to the list of fields to index using the Command Center or the API services and you should now initiate field indexing through the Command Center.

Coveo for Sitecore 5 greatly simplifies the task of adding or removing fields from the <include> list by allowing you to select them directly from a list in the Command Center user interface. Moreover, all fields you had added to the <include> field list through configuration files will continue to be indexed when you begin using the Command Center for the same purpose.

  1. Open the Coveo Search section of the Sitecore Control Panel (see Open the Coveo Search Control Panel Section).

  2. Choose Indexing Manager.

    Controlpanel
  3. In the Command Center left menu, select Fields.

  4. Under the Template tab which lists your Sitecore templates, expand templates to add or remove fields from the list of fields you want to index. When you’re done, click Save & Restart near the lower left of the screen. This will generate the Coveo.SearchProvider.Fields.Custom.config file.

    If the list of currently selected fields is already exactly the configuration you want, the Save & Restart button is disabled and can’t be clicked. Only in this case, perform steps a) through d) below to generate the Coveo.SearchProvider.Fields.Custom.config file. Otherwise, skip to step 5.

    1. Expand a template which currently contains one or several not included fields. Note the Template Name of the selected template.

      addFieldToInclude
    2. Select a currently not included field in the template. Note the Name of the selected field.

      IncludeFieldSelected
    3. Near the lower left of the screen, click Save & Restart. This will generate the Coveo.SearchProvider.Fields.Custom.config file.

    4. Repeat steps a) through c) but, this time, to remove the field you just added.

  5. You can now delete all the lines below from the Coveo.SearchProvider.config file.

    <!-- The AddTemplateFieldsProcessor gets the fields from a list of templates and then adds them to the search index.
         The processor invokes the coveoIndexingGetTemplates pipeline to retrieve the templates. -->
    <processor type="Coveo.AbstractLayer.Processors.Indexing.Fields.AddTemplateFieldsProcessor, Coveo.AbstractLayer" />
    <!-- Coveo pipeline used to retrieve the templates with the fields that should be indexed. -->
    <coveoIndexingGetTemplates>
      <!-- The IncludeTemplatesFromConfigOnlyProcessor adds the included templates to the list. If at least one included template is specified, the processor stops the pipeline. -->
      <processor type="Coveo.AbstractLayer.Processors.Indexing.Templates.IncludeTemplatesFromConfigOnlyProcessor, Coveo.AbstractLayer" />
      <!-- The AddTemplatesForIndexedItems processor scans the items to index and gathers the templates that are being used. -->
      <processor type="Coveo.SearchProvider.Processors.Indexing.Templates.AddTemplatesForIndexedItems, Coveo.SearchProviderBase">
        <ApplyInboundFilter>true</ApplyInboundFilter>
      </processor>
      <!-- The IncludeBaseTemplates processor ensures that all necessary base templates are added for the templates included so far. -->
      <processor type="Coveo.SearchProvider.Processors.Indexing.Templates.IncludeBaseTemplates, Coveo.SearchProviderBase" />
      <!-- The ExcludeTemplatesFromConfigProcessor excludes the templates defined in the ExcludeTemplate element from the template list. -->
      <processor type="Coveo.AbstractLayer.Processors.Indexing.Templates.ExcludeTemplatesFromConfigProcessor, Coveo.AbstractLayer" />
    </coveoIndexingGetTemplates>

For more information on adding and removing fields to index using the Command Center Indexing Manager, see About the Indexing Manager - Fields.

Upgrade Your Solution Code to Your Coveo for Sitecore 5 Version

All Coveo for Sitecore 4.1 obsolete APIs were removed in Coveo for Sitecore 5. To avoid runtime errors after upgrading to Coveo for Sitecore 5, we recommend that you ensure that you’re not using any obsolete APIs.

  1. Update your Visual Studio project references. .

  2. Ensure you have no #pragma warning instructions in your code that would disable obsolete warnings.

  3. Ensure you have no obsolete warnings when compiling.