Coveo for Sitecore 5 Migration Guide

With Coveo for Sitecore 5, Coveo decidedly sets its focus and development efforts on product simplicity and delivering value to its customers. With this in mind, Coveo for Sitecore 4 features, infrastructure options, and technologies that were inconsistent with these goals are dropped. On the other hand, more efficient, flexible and powerful tools and software behavior are introduced.

The purpose of this article is to provide an overview of the major differences between Coveo for Sitecore 4 and Coveo for Sitecore 5 in order to help you painlessly move to Coveo for Sitecore 5 and fully benefit from its enhancements.

What Is No Longer Supported

Coveo for Sitecore 5 is available with a Coveo Cloud index. If you are currently using a Coveo for Sitecore 4.0 or 4.1 On-Premises edition, you will need to perform a few simple steps to move to a Coveo Cloud index (see Switching From On-Premises to Cloud Indexes).

A Pro Cloud or Enterprise Cloud license is required for a production Coveo Cloud index.

Additionally, the Top Results related folders were only required for On-Premises instances. These should be deleted from the Sitecore content tree to avoid confusion (see Coveo for Sitecore 4 to Coveo for Sitecore 5 Upgrade Procedure - Delete the Top Results Related Folders).

Coveo for Sitecore Legacy Search UI Framework

Coveo for Sitecore 4 supported two sets of search interface components powered by distinct versions of the Coveo JavaScript Framework, the Coveo for Sitecore Legacy Search UI Framework and the Coveo for Sitecore Hive Framework. Coveo for Sitecore 5 packages contain only Coveo for Sitecore Hive Framework components and related code.

Coveo for Sitecore Hive search interface components only implement the MVC architectural pattern. Web Forms is no longer used.

For more details regarding the Coveo for Sitecore Hive Framework and on migrating from the Legacy framework to Coveo Hive, see Upgrading to Coveo for Sitecore Hive Framework - FAQ.

Content Search API and LINQ

Coveo for Sitecore 5 no longer supports the use of LINQ expressions to customize queries sent to the Coveo index. You can refer to the following how-to article on using the Coveo for Sitecore Hive UI Framework instead of LINQ expressions: Moving Away From LINQ

New Features and Product Behavior

The Command Center

The Coveo™ Command Center marks a significant shift in the way you perform Coveo configuration, indexing tasks and in how you navigate through Coveo features within Sitecore. Most notably, the Command Center improves visibility over the index build process and greatly simplifies the selection of fields to index (see Understanding the Command Center).

Selecting Fields to Index

As mentioned above, the Command Center becomes the recommended means to specify the fields you want to index by handpicking them in a user interface rather than by editing a configuration file, as was the case in Coveo for Sitecore 4.

For more details on including or excluding fields to index using the Command Center and how Coveo for Sitecore 5 handles existing configurations when you upgrade from Coveo for Sitecore 4, refer to the following documentation sections:

Default Field Hashing Behavior

In Coveo for Sitecore 4, field name translation (also known as field hashing) was enabled by default, and this quickly resulted in having countless Coveo fields with confusing names. Coveo for Sitecore 5 reverses this behavior in fresh installs.

Though this reversal in the default field name translation behavior has not been forced upon customers upgrading from Coveo for Sitecore 4, we strongly recommend clients reverse this behavior when upgrading to Coveo for Sitecore 5. This is achieved through a very simple modification in the Coveo.SearchProvider.config file (see item 7 in Coveo for Sitecore 4 to Coveo for Sitecore 5 Upgrade Procedure - Coveo.SearchProvider.config).

Sys-Prefixed Fields

The sys prefix has been removed from the names of these fields and their settings have been moved in the Coveo.SearchProvider.config file.

If you are using custom result templates referencing sys-prefixed fields, you will need to update those references accordingly (see item 3 in Coveo for Sitecore 4 to Coveo for Sitecore 5 Upgrade Procedure - Coveo.SearchProvider.config).