THIS IS ARCHIVED DOCUMENTATION

Upgrading to Coveo for Sitecore Hive Framework: FAQ

This article covers some questions related to upgrading from the Legacy UI Framework to the Coveo for Sitecore Hive Framework.

Should I Start My New Site With the New Framework?

Yes. We strongly recommend that new sites use the new framework. It’s what the Coveo for Sitecore team will support in the long run.

To learn how to quickly get started with the Coveo for Sitecore Hive components, see Coveo for Sitecore Hive Getting Started Tutorial.

Should I Upgrade Immediately to the Coveo Hive Framework?

Not immediately. Extra care was taken to ensure that the Legacy Framework still works properly. If your site is already running well, keep it as it is.

New features of the new framework won’t be ported to the legacy framework. Only critical bug fixes will be applied to the old framework.

What If I Want to Upgrade?

The Legacy components aren’t compatible with the new framework, so you need to start your search interface over.

It takes some work to create a search interface that looks like your older search interface, but you will end up with reusable and easier to maintain components.

What Am I Gaining If I Decide to Upgrade?

Here is a list of some advantages:

  • All-new modular components
    • Separated and specific purpose for each component
    • Easier to configure
    • Easier to move around
    • Allows many layout possibilities out-of-the-box
  • Better support for Custom Coveo JavaScript Search Framework components
  • Easier integration with existing sites
  • In-file result templating

Can I Port My Existing Components?

It depends on your specific component.

Coveo Hive Framework still uses the Coveo JavaScript Search Framework. All customization done using the JavaScript Search Framework components will work as usual.

However, some concepts were removed from the Legacy Coveo for Sitecore JavaScript. 

Here are some things that were removed.

jQuery

Coveo for Sitecore no longer bundles jQuery with the new UI.

You can still use jQuery, but the package doesn’t provide an initialization call like this anymore: $("#search").coveoForSitecore()

CoveoForSitecore.componentsOptions

This variable has been removed.

The whole library is now stateless and uses custom Coveo JavaScript Search Framework components to trigger custom events to share options between many components.

This allows having many search Interfaces that have no chances of interfering with each other.

For more information on the new components, see Coveo for Sitecore Hive Components Reference.

Model.ToCoveoFieldName

To support HTML caching, all code related to a custom context has been transferred to the CoveoForSitecoreContext component and is now all handled client-side instead.

To translate your fields, use the JavaScript method CoveoForSitecore.Context.fields.toCoveo("@yourfield"). The Coveo Search Resources must be included in the page.