Search Page Components

Coveo for Microsoft Dynamics 365 includes the Coveo JavaScript Search Interface Editor, which allows you to build and customize search pages (see JavaScript Search Interface Editor). Some Interface Editor features are exclusive to Coveo for Microsoft Dynamics 365, i.e., they are not available in another Coveo product. These exclusive features are listed in the table below.

Although most search page components are common to both search page types, some components are exclusive to Insight panel search pages, as they leverage the context of the entity in which the panel is embedded (see JavaScript Search Framework and Classic and Insight Panel Search Pages). Some are also only visible in the Interface Editor (see Editing a Search Page). While these features are not visible to search panel users, they alter the search panel behavior.

This article presents the search page components specific to Coveo for Microsoft Dynamics 365 that you can leverage to improve user experience. For more technical information on these components, e.g., for development purposes, see Coveo for Microsoft Dynamics 365 JavaScript Search Component API Reference.

Coveo for Dynamics 1.1.180912.3 - September 2018Starting with Coveo for Microsoft Dynamics 365 1.1.180912.3, Coveo JavaScript Search Framework and Coveo for Microsoft Dynamics 365 Search UI resources are delivered through a content delivery network (CDN). In other words, these resources are hosted by Coveo instead of being included in the Coveo for Microsoft Dynamics 365 packages. This ensures that your search page customizations are not affected when you update Coveo for Microsoft Dynamics 365, thus preventing breaking changes to be introduced in your pages. However, since the search pages always use the resource version that was the newest when they were created, the resources you can leverage in a search page are limited to those that were available when you created the search page. You therefore cannot implement in an older search page a resource that was introduced in a newer release, unless you manually update versions used by your search page. See Updating the CDN Addresses of a Search Page for further information.

Summary

Note 1: The Context Facet is visible when the Insight Panel is opened into a full page (see Full Search and Leveraging Entity Context in a Full Search Page).

See also Coveo for Microsoft Dynamics 365 JavaScript Search Component API Reference for further information on Coveo for Microsoft Dynamics 365 search page components.

User Interface Components

User interface components are general Insight panel search page components. Some are present by default in the page, since they are responsible for essential features of the page, such as Filters, which allow user to refine their search results (see Filters). You can add the others via the Interface Editor (see JavaScript Search Interface Editor and Drag and Drop to Add a User Interface Component).

Context Facet

Coveo for Dynamics 1.1.180912.3 - September 2018

Since the 1.1.180912.3 (September 2018) release, you can configure a context facet to display when opening a full search page from an Insight Panel embedded in an entity page (see Full Search and Leveraging Entity Context in a Full Search Page). This facet shows data relative to the entity in which you were before you opened the full search page and allows transferring entity contextual data to the full search page to make its results more relevant for you automatically (see Understanding Entity Context).

Context Facet in a Full Search page

The Full search button allows Insight panel users to open the search page in a new window. It is located at the top right of the Insight panel.

Available action buttons for a search result

Coveo for Dynamics 1.1.180912.3 - September 2018Starting with Coveo for Microsoft Dynamics 365 1.1.180912.3 (September 2018), if you leverage entity context in your Insight panel, you can also load the contextual data in the full search page (see Understanding Entity Context, Leveraging Entity Context in the Insight Panel, and Leveraging Entity Context in a Full Search Page).

Prior to Coveo for Microsoft Dynamics 365 1.1.180912.3 (September 2018), entity context was not loaded in the full search page, so the item suggestions did not apply when you clicked the Full Search button. As a result, despite your keywords in the search box being preserved, the search results displayed in the full search page differed from those in the embedded search panel. The full-size search page was therefore a global search page rather than a larger version of the Insight panel.

Filters

When displayed in a large window, the classic search page has facets on the left-hand side. However, if the search page is displayed in a narrow window, a Filters button appears above the search results, and facets are displayed only when one clicks it.

In Insight search pages, the Filters button is displayed by default, since Insight search pages are typically used for an Insight panel embedded in a page.

Remove Context

The Remove context toggle allows Insight panel users to choose whether the entity page context should be taken into account. If it is, the search results displayed in the panel will be influenced by the content of the entity page in which the panel is embedded.

Search Result Components

Search results components are meant to be added to search result templates. They allow you to interact with search results, e.g., to preview it, to link it to an entity, or to email it to a customer (see Configuring JavaScript Search Result Templates). They can be added and configured via the JavaScript Search Interface Editor (see JavaScript Search Interface Editor).

Email

Coveo for Dynamics 1.1.180912.3 - September 2018

Since the 1.1.180912.3 (September 2018) release, you can add the Email option (Email button) to the Result Action Menu of knowledge articles (see Result Action Menu).

As a result, when an Insight panel is displayed within a case page, you can click this option to email a knowledge article returned in the search results to the case contact. An email form opens with the From, To, Subject fields, as well as the email body, already filled for more convenience. The Email component therefore makes it easier and faster to share a knowledge article relevant to a case.

The email sent to the customer appears in the case Summary section, in the Activities tab, for future reference. A knowledge article sent by email also appears in the case Associated Knowledge Records list, like articles linked with the Link to Case component (see Link to Case). However, if the knowledge article is already associated to a case when you click the Email component, an Association already exists message is displayed before the email form opens.

Result Action Menu

When you hover over a search result, the Result Action Menu component displays the corresponding available actions.

Available action buttons for a search result

You can use it to replace the Result Action component (see Result Action).

In the Interface Editor, you can add or remove other components from the menu. Available options may be one or more of the following:

Result Action

Coveo for Dynamics 1.1.180614.17 - June 2018

Since the 1.1.180614.17 (June 2018) release, the Result Action component can be replaced with the Result Action Menu component, which is present in the pre-built templates (see Result Action Menu).

Next to the results, the Result Action button (Result Action button) allows you to display options for the corresponding search result.

Available options may be one or more of the following:

Clicking Link to Case

Quick View

Clicking Quick View opens a content preview panel within the Insight panel. You can therefore view the content of the corresponding search result without leaving the entity in which the panel is embedded.

The Quick View button (Quick View icon) is available when hovering over a search result, in the Result Action Menu (see Result Action Menu).

Quick Create

The Quick Create component is common to both search page types. It consists in a plus sign button located in the Insight panel Result Action Menu component (see Result Action Menu). Clicking it opens a Quick Create form for a Dynamics entity of the corresponding type. Unlike the regular entity creation forms, Quick Create forms do not allow you to enter exhaustive information – they only contain the most important fields to help you promptly save the essential data without switching pages. You can later edit the entity information to add details.

In the case page below, clicking the Quick Create button on a product search result opened a Quick Create: Product form. You can then create a new product entity without leaving the case you opened.

Alternatively, you can set the openInNewWindow parameter to true to display the form in a new window (see ForDynamicsQuickCreate Component). When displayed in such a window, the entity creation form contains additional fields.

When the Insight panel is displayed within a case page, knowledge articles returned in the results offer a Link to Case option (Link to Case icon) in their Result Action Menu (see Result Action Menu). Clicking it associates the corresponding knowledge article to the displayed case. A knowledge article associated to a case appears in the case Associated Knowledge Records list. This component makes it easier to save a knowledge article relevant to a case in the case page for future reference.

Associated Knowledge Records case page section with an associated knowledge article

Once a search result has been linked to the case, the button tooltip changes to Unlink from Case. Clicking the button again cancels the Link to Case action.

Take Note

Similarly to the Link to Case component, the Take Note component allows you to annotate a Dynamic entity with a link to a search result. This component is less specific than the Link to Case component, as it can bind any search result to an entity of any type.

The annotation is displayed in the Notes tab of an entity. In this tab, users can also delete annotations.

Entity Note tab with a link to a search result

The Mark as Relevant button (Mark as Relevant icon) is available when hovering over a search result, in the Result Action Menu (see Result Action Menu). Click it to annotate the displayed entity with a link to the result.

UI Settings Components

UI Settings component are mostly used to leverage entity context in Insight panels (see Understanding Entity Context). They can be added to an Insight panel via the JavaScript Search Interface Editor (see Add a UI Settings Component and JavaScript Search Interface Editor).

Refined Query

The Refined Query component is a UI settings component (see Add a UI Settings Component). When added to an Insight search page embedded in an entity form, it retrieves contextual data from the entity in which the Insight panel is loaded so that the panel immediately shows items relevant to the displayed entity (see Understanding Entity Context and Leveraging Entity Context in the Insight Panel). This process involves the Coveo Machine Learning Intelligent Term Detection (ITD) feature, which extracts the most relevant keywords from the case data.

In the Interface Editor, in the Refined Query component settings, using the Liquid syntax, enter the fields of which the content should be passed to ITD (see Contextual Queries and Liquid Objects).

If the interface is located in a case form, you may want to use at least the title and description fields. These are specified as follows: {{ form.title }} and {{ form.description }}.

There are no advantages to transferring the content of many fields to ITD. Actually, it may be easier for you to fine-tune search result relevance if you start with the two or three most relevant fields. You can then let Machine Learning react to user interaction with the search results and later change the Refined Query configuration if you feel the need to, depending on your use cases.

By default, Coveo for Microsoft Dynamics 365 disables the Refined Query component when a user types their own keywords in the Insight panel search box. So, if the user is not satisfied with the results provided, they can start over and search the whole content. You can however choose to keep the component enabled so that the user search drills down the results matching the contextual query instead. To do so, in the component options, deselect the Disable on User Query check box (see Customize a UI Settings Component). The query to the Coveo Index therefore consists of the user’s keywords and the keywords extracted from the context data, which returns items matching these terms.

Since the Refined Query component relies on Coveo Machine Learning, the relevance of the search results automatically presented in the Insight panel improves over time, as Coveo learns from user interactions with these search results. When the ITD feature does not have enough data yet, however, it automatically falls back on the $Some Query component, which also extracts the most relevant terms in a long string (see $Some Query).

The Refined Query component also works great with the optional Form Changes Detection, Insight Context, and Contextual Query Filter components (see Form Changes Detection, Insight Context, and Contextual Query Filter).

Moreover, you can also use the Liquid query syntax with the Refined Query component to make more advanced queries (see Contextual Queries and Liquid Objects). For instance, if you want the search results to be influenced by the content of previous support cases opened by the customer who opened the displayed case, you can get the customer name or ID using the Liquid syntax.

See ExtensionRefinedQuery Component for further information.

$Some Query

The $Some Query component works similarly to the Refined Query Component, except the process of determining which keywords in the provided strings will lead to the most relevant search results does not involve Coveo Machine Learning (see Refined Query). Instead, their importance is established by their prevalence in the Coveo Index: the least common the term, the more it is considered specific to the items in which it appears, and therefore the stronger the assumption that these items are related to the entity page in which the Insight panel is loaded.

In the Interface Editor, you can determine how many keywords should be used for the query (see Customize a UI Settings Component).

When you have a Refined Query component in your search page, adding a $Some Query does not have any advantages. This component does not have the intelligence of Machine Learning like the Refined Query does, but it is a great substitute when your Machine Learning models are not trained yet, as it allows you to leverage context in your Insight panel immediately (see Leveraging Entity Context in the Insight Panel).

See ExtensionSome Component for further information.

Form Changes Detection

The Form Changes Detection component is a UI settings component (see Add a UI Settings Component). It is present by default in Insight panels embedded in entity forms to work in conjunction with the Refined Query component (see Refined Query).

The Form Changes Detection component detects when a user edits the entity fields used by the Refined Query component, and e Insight panel accordingly. For instance, if you change the case title, the search results might change to better fit the title keywords. You can also enable search-as-you-type for this feature, which make the search results change as you type new keywords (see Enabling Search-As-You-Type from the Interface Editor).

The search-as-you-type feature typically increase your query count. If you are close to exceeding your allowed queries per month (QPM), contact your Coveo Sales representative before enabling it.

See ForDynamicsFormChangeDetector Component for further information.

Insight Context

The Insight Context component is a UI settings component (see Add a UI Settings Component). It is the Coveo for Microsoft Dynamics 365 equivalent of the Pipeline Context component, i.e., they work exactly the same, except that Insight Context supports Liquid syntax, and Pipeline Context does not (see Adding Pipeline Context to a Search Page Using the Interface Editor and Liquid Syntax).

Although the Insight Context component is not required to leverage entity context in an Insight panel, it works with the Refined Query component by providing a key-value pair to contextualize the keywords extracted by Machine Learning (see Refined Query). This allows Coveo for Microsoft Dynamics 365 to further refine the search results and show the most relevant items at the top of the search page.

Your Refined Query component provides Machine Learning with support case titles and descriptions. However, your products have similar error codes, but different troubleshooting steps depending on the product model and production year. Since this information is crucial, you want to make sure that it is always transferred to Coveo along with the case title and description, so you add two Insight Context components to your search page. By doing so, you ensure that Coveo is always provided with the model and year, no matter whether this information is entered in the case title or description, or whether it is part of the keywords selected by Machine Learning.

A support case has the following data: Title: Printer screen displays an error Description: When customer turned the product on, the screen displayed error code E33. Pressing the Cancel button clear the error. Model: CA14BY2A Year: 2017

After processing the case title and description, Machine Learning determines that the important keywords to query are Printer and E33. However, this error code is susceptible to be displayed by hundreds of your printer models, so these keywords appear in many items. Without further information, all of these items would be considered of equal relevance to the support case, and those displayed at the top would probably be unrelated to the customer’s model. The additional data provided by the Insight Context components therefore helps refining these search results, placing the troubleshooting steps for printer CA14BY2A 2017 at the top of the Insight panel.

In other words, when working together, the Refined Query and the Insight Context components can balance each other, reciprocally filtering the items they match. When the Refined Query leads to many potentially relevant items, for instance if the extracted keywords apply to many entities, the Insight Context helps drilling down these items. Conversely, if there is a lot of content related to a Insight Context key-value pair, the Refined Query component helps filtering out less relevant items.

The Insight Context component can also provide contextual data from outside the entity form, such as the user role, department, country, etc., so that the search results are tailored to the profile of the user viewing them. Moreover, you can use it with static pipeline context (see Adding Pipeline Context to a Search Page Using the Interface Editor).

In the Interface Editor, when entering the desired key, use the Liquid syntax (see Contextual Queries). Then, add the Liquid Syntax component in the desired tabs to allow interactions between Coveo and the content of the form in which your Insight panel is embedded (see Liquid Syntax).

See InsightContext Component for further information.

Liquid Syntax

When enabled along with the Insight Context component, the Liquid Syntax component allows interactions between Coveo and the content of the form in which your Insight panel is embedded (see Insight Context and Contextual Queries). You can then use the Liquid syntax in your Insight Panel configuration so that is retrieves and forwards entity data to Coveo for contextual search (see Leveraging Entity Context in the Insight Panel).

See ForDynamicsFormFieldValueQuerySyntax Component for further information.

Query Filter

The Query Filter component is a UI settings component (see Add a UI Settings Component) that you can use to write query expressions to add to all queries made with the Insight panel, included contextual, “invisible” queries (see Refined Query).

In the Interface Editor, when adding the Query Filter component, use the Coveo Cloud Query Syntax Reference to build your filter.

See QueryFilter Component for further information. See also Contextual Query Filter.

Contextual Query Filter

The Contextual Query Filter component is, like to Query Filter component, a UI settings component used to refine queries made to Coveo (see Query Filter and Add a UI Settings Component). However, the Contextual Query Filter takes the entity context into account, while the Query Filter does not. You can therefore use it to filter out certain search results depending on the entity. If no form context is provided by the Refined Query component, however, the filter does not apply (see Refined Query).

By default, Coveo for Microsoft Dynamics 365 filters out the entity in which the Insight panel is open, as it assumes that when you open an entity, you do not need to review it in the Insight panel search results. The entity to filter out therefore varies with the context.

In the Interface Editor, when adding a Contextual Query Filter component, use the Liquid syntax (see Contextual Queries). Then, add the Liquid Syntax component in the desired tabs to allow interactions between Coveo and the content of the form in which your Insight panel is embedded (see Liquid Syntax).

See ContextualQueryFilter Component for further information.