March 2020 Release (v2.8521)

This page summarizes the improvements, new features, and bug fixes introduced in the March 2020 Release (initially released as v2.8521.7).

You can get the latest version of this release (v2.8521.7):

  • From Github (2.8521.7)
  • From npm (npm install coveo-search-ui@2.8521.7)
  • From the Coveo CDN:
Resource1 Script to include
CSS (minified)

With SRI:

<link rel="stylesheet" href="https://static.cloud.coveo.com/searchui/v2.8521/7/css/CoveoFullSearch.min.css" integrity="sha512-udXOWm2w5zVIiJePCCmdZI5hXP40fOZ/t85I6Qt0bRsdu2cApt6f9o93R49/jvTff7sMt7To1gPrc12IrFM+Ig==" crossorigin="anonymous" />

Without SRI:

<link rel="stylesheet" href="https://static.cloud.coveo.com/searchui/v2.8521/css/CoveoFullSearch.min.css" />
Framework (lazy loading, minified)

With SRI:2

<script class="coveo-script" src="https://static.cloud.coveo.com/searchui/v2.8521/7/js/CoveoJsSearch.Lazy.min.js" integrity="sha512-oAoBwx8etsAFf8T9Ik0falu54Pd3HDx5i7yHQRrvGcoTKilqbkH3/oi5e5ZjCNDZDLe1DGDrNgL0DyEcs9W3Kw==" crossorigin="anonymous"></script>

Without SRI:

<script class="coveo-script" src="https://static.cloud.coveo.com/searchui/v2.8521/js/CoveoJsSearch.Lazy.min.js"></script>
Templates

With SRI:

<script src="https://static.cloud.coveo.com/searchui/v2.8521/7/js/templates/templates.js" integrity="sha512-n6s5hxhCmAPVTc8/CRudJ+4HeCsEuLrPIU24WXfEhmDk1TQxITc5PFklJ48GKW25dej8yWxKpFWAzXKF6+CfgA==" crossorigin="anonymous"></script>

Without SRI:

<script src="https://static.cloud.coveo.com/searchui/v2.8521/js/templates/templates.js"></script>

1: For additional resources, see CDN Links.

2: See Subresource Integrity.

Release Highlights

New Component: SortDropdown

The new SortDropdown component provides an alternative way to render result sorting options in a search interface.

Issue number: JSUI-2478

<div class="CoveoSortDropdown">
  <span class="CoveoSort" data-sort-criteria="relevancy"
        data-caption="Relevance"></span>
  <span class="CoveoSort" data-sort-criteria="date descending"
        data-caption="Newest"></span>
  <span class="CoveoSort" data-sort-criteria="date ascending"
        data-caption="Oldest"></span>
</div>

SortDropdown Demo

New Component: CommerceQuery

Issue number: JSUI-2718

The new CommerceQuery component will eventually provide a set of commerce-specific options. For now, this component only exposes the listing option.

In a Coveo-powered commerce solution, each product listing page should include a CommerceQuery component and set its listing option to a unique value.

<div class="CoveoSearchInterface">
  <div class="CoveoAnalytics"></div>
  <div class="CoveoCommerceQuery" data-listing="ACME Jewelry"></div>
</div>

Among other things, this is important to allow the Coveo Machine Learning (Coveo ML) Automatic Relevance Tuning (ART) feature to work in your product listing pages.

QuerySuggestPreview Now Supports FacetValueSuggestions

Issue number: JSUI-2763

The QuerySuggestPreview component has been improved to support suggestions generated by FacetValueSuggestions components in addition to standard Coveo ML query suggestions.

<div class="CoveoQuerySuggestPreview">
  <script class="result-template" type="text/html"
          data-filetype="YouTubeVideo">
    <!-- ... -->
  </script>
</div>
<div class="CoveoFacetValueSuggestions" data-field="@author"></div>

QuerySuggestPreview With FacetValueSuggestions Demo

New SearchInterface Option: enableScrollRestoration

Issue number: JSUI-2784

In a commerce search interface, when an end user clicks a product to access its detailed view, and then navigates back to the search interface, it’s considered good UX practice to automatically scroll back to the clicked product in the result list.

The new enableScrollRestoration option of the SearchInterface component allows you to enable this behavior.

<div class="CoveoSearchInterface" data-enable-scroll-restoration="true">
  <!-- ... -->
</div>

SearchInterface enableSrollRestoration Demo

The enableScrollRestoration feature doesn’t currently work with ResultList components whose enableInfiniteScroll option is set to true.

New SimpleFilter Option: enableClearButton

The SimpleFilter component now exposes a enableClearButton option allowing end users to quickly unselect all filters.

Issue number: JSUI-2686

<div class="CoveoSimpleFilter" data-title="Type" data-field="@objecttype"
     data-enable-clear-button="true"></div>

SimpleFilter enableClearButton Demo

New DynamicHierarchicalFacet Option: sortCriteria

The DynamicHierarchicalFacet component now exposes a sortCriteria option allowing you to sort values alphanumerically rather than by number of occurrences.

Issue number: JSUI-2787

<div class="CoveoDyanmicHierarchicalFacet"
     data-field="atlgeographicalhierarchy" data-title="Geographical Location"
     data-sort-criteria="alphanumeric"></div>

DynamicHierarchicalFacet sortCriteria Demo

Redirect Triggers No Longer Redirect Twice

Issue numbers: JSUI-2847, JSUI-2849

When a query is submitted from a standalone search box, it will now be pre-processed by the Search API before anything else happens. If the returned pre-processing information indicates that the query would fire a redirect trigger rule in the query pipeline, that rule will be executed immediately. Otherwise, the query will be normally forwarded to the full search page specified in the initSearchbox call.

Concretely, this means that standalone search boxes will now automatically handle redirect trigger rules on their own, instead of letting a Trigggers component in the full search page handle them. This behavior will feel more natural to the end-user, because they won’t be redirected twice (i.e., to the search page, and then to the redirect trigger’s URL).

Other Changes

Issue number Enhancement
JSUI-2772 [StarRating] Values are now rounded to the nearest integer.
JSUI-2784 [DynamicFacetRange] The valueFormat option is now automatically set to date by default when the specified field name contains date.
JSUI-2785 [DynamicFacet] The filterFacetCount option was added.
JSUI-2823 [Default result templates] Unique id option values are now used to distinguish potentially redundant dynamic facets.
JSUI-2829 [DynamicFacet] Selected values are now displayed as a comma-separated list under the title of a collapsed dynamic facet.
JSUI-2832 [DynamicFacet] The Coveo ML Dynamic Navigation Experience (DNE) autoselection feature is now prevented when the end user triggers a query by interacting with one or more dynamic facets.
JSUI-2839 SameSite=Lax is now added when setting cookies to remove console warnings.
JSUI-2855 The facet column padding was slightly modified.
Issue number Case Maintenance case
JSUI-2830 00058438 [Facet] Fixed issue where the allowedValues option didn’t allow parentheses.
JSUI-2842 00058328 Fixed issue where the first usage analytics event was not sent after renewing the search token.
JSUI-2863 00058762 Fixed issue where configuring history and using local storage was impossible in a standalone search interface.
JSUI-2896 00059117 Fixed issue where a page would break if folding was enabled and the page contained a Tab whose id option value was exactly two characters long.
Issue number Bug fix
JSUI-2627 [FacetValueSuggestions] Fixed issue where the component didn’t allow setting an expression, resulting in invalid suggestions for filtered search interfaces.
JSUI-2768 [QuerySuggestPreview] Fixed issue where the default template didn’t work in Firefox.
JSUI-2799 Fixed issue where the highlightStreamHtml result template helper didn’t properly merge options.
JSUI-2822 [DynamicFacetManager] Fixed issue where facets didn’t collapse properly in search interfaces containing multiple tabs.
JSUI-2843 Fixed issue where facet state position was sent as null rather than undefined by default in usage analytics events.
JSUI-2844 Fixed a console error on Chrome/Chromium when selecting a dynamic facet search result.
JSUI-2875 [DynamicHierarchicalFacet] Fixed issue where there was no arrow next to the All Categories text.
Recommended Articles