Parature knowledge base search control (client-side reference)
Applies To: Dynamics CRM 2015
With Microsoft Dynamics CRM Online 2015 Update 1 or later, when an organization has Parature integration enabled they can add a new knowledge base search control to forms. This control provides for programmability support to automate or enhance the user’s experience when using this control.
Important
For Microsoft Dynamics CRM Online organizations, this feature is available only if your organization has updated to Dynamics CRM Online 2015 Update 1. This feature is not available for Dynamics CRM (on-premises).
These events and methods aren’t directly connected to any Parature API. However, if the control is present in the form, a connection with Parature should already be established so that you can directly make Parature API calls without requiring a security token. However, these will be cross-domain requests so you must use cross-origin resource sharing (CORS).
The knowledge base management search control is an Xrm.Page.ui control, so it supports all the standard methods that controls have. But it also supports additional events and methods. For information about the standard control methods, see Xrm.Page.ui control (client-side reference).
If you know the name of the control, you can access it using the following where <name> represents the name of the control…
kbSearchControl = Xrm.Page.getControl("<name>");
Note
When the knowledge base search control is added to the social pane the name will be "searchwidgetcontrol_notescontrol". This name cannot be changed.
All of the examples below will use kbSearchControl to represent the knowledge base search control in the form.
Events
Use the events for this control to allow code to respond to the selected or opened item.
OnResultOpened
This event occurs when a KB article is opened in the knowledge base search control in line or through the pop-out action. Use the addOnResultOpened and removeOnResultOpened methods to manage event handlers for this event.
OnSelection
This event occurs when a KB article is selected in the knowledge base search control. Use the addOnSelection and removeOnSelection methods to manage event handlers for this event.
Methods
Use the methods for the knowledge base search control to set or remove event handlers and interact with the search query and search results.
addOnResultOpened
Use this method to add an event handler to the OnResultOpened event.
Parameter: Function. The function to add.
Example: Add the function named myFunction to the OnResultOpened event.
kbSearchControl.addOnResultOpened(myFunction);
addOnSelection
Use this method to add an event handler to the OnSelection event.
Parameter: Function. The function to add.
Example: Add the function named myFunction to the OnSelection event.
kbSearchControl.addOnSelection(myFunction);
getSearchQuery
Use this method to get the text used as the search criteria for the knowledge base management control.
Return Value: String. The text of the search query.
Example: Set the variable searchQuery to the text of the search query.
var searchQuery = kbSearchControl.getSearchQuery();
getSelectedResult
Use this method to get the currently selected result of the search control. The currently selected result also represents the result that is currently open.
Return Value: KBSearchResult. The currently selected result.
Example: Set the variable kbSearchResult to the currently selected result.
var kbSearchResult = kbSearchControl.getSelectedResult();
KBSearchResult properties
The following table describes the properties of the KBSearchResult object.
Property |
Type |
Description |
---|---|---|
answer |
String |
The HTML markup containing the content of the article. You could pass this content to a custom action that could include it in an email to send to the customer. |
articleId |
String |
The article ID in a Parature department This value is used as an alternate key. You can use it to see if this article already exists in CRM or not. |
articleUid |
String |
The unique article ID for the Parature system. This will contain Parature account ID and department ID as well, for example, “7924/8112/Article/25.” This value is used as an alternate key. This ID is needed to create a new KB record while associating an article if one doesn't exist already. |
createdOn |
Date |
The date the article was created. You may want to use the age of the article in your business logic. |
expiredDate |
Date |
The date the article was or will be expired. You can compare this date to the current data to determine whether the article has expired or not. The value uses the current user’s time zone and format. |
isAssociated |
Boolean |
Indicates whether the article is associated with the parent record or not. You can check this value before associating the article with the current record using form scripts or in another process initiated by form scripts. |
lastModifiedOn |
Date |
Date on which the article was last modified. This value will be in the current user’s time zone and format. |
publicUrl |
String |
Support Portal URL of the article. Use a custom action to include this in a link in the content of an email to send to a customer. |
published |
Boolean |
Indicates whether the article is in published or draft state. You should check whether the article is published before you send information about it to a customer. |
question |
String |
The title of the article. If you’re going to reference the article in any business process, you can refer to it by name using this value. |
rating |
Number |
The rating of the article. |
searchBlurb |
String |
A short snippet of article content which contains the areas where the search query was hit. Use this to give a glimpse of article to the users in the search list and help them determine if this is the article they are looking for. |
serviceDeskUri |
String |
Link to the article in the Parature service desk. Use this link to open the article using the Parature service desk. |
timesViewed |
Number |
The number of times an article is viewed on the Parature portal by customers. |
removeOnResultOpened
Use this method to remove an event handler from the OnResultOpened event.
Parameter: Function. The function to remove.
Example: Remove the function named myFunction from the OnResultOpened event.
kbSearchControl.removeOnResultOpened(myFunction);
removeOnSelection
Use this method to remove an event handler from the OnSelection event.
Parameter: Function. The function to remove.
Example: Remove the function named myFunction from the OnSelection event.
kbSearchControl.removeOnSelection(myFunction);
setSearchQuery
Use this method to set the text used as the search criteria for the knowledge base management control.
Parameter: String. The text for the search query.
Example: Set the text of the search query to “How to solve the problem”.
kbSearchControl.setSearchQuery("How to solve the problem");
See Also
Integrate Microsoft Dynamics CRM with Parature
Client-side programming reference
Write code for Microsoft Dynamics CRM forms
Write client application extensions
© 2016 Microsoft. All rights reserved. Copyright