Skip to main content
Kinetic Community

Remedy Knowledge Management

Overview

Remedy Knowledge Manager (RKM) is a Kapp that filters through articles of information based on a user provided search criteria. RKM's main purpose is providing detailed information about functionality, by returning articles broken into the following categories: how to, known error, problem solution, reference, decision tree. RKM is presently only set up to pull back "Published" articles, but may be reconfigured to retrieve other types as well. ("Draft", "Retired", etc.) 

 

Search Bar

This is where you can enter query parameters that will search against the content of stored in RKM and returns the articles that match the query parameters. The search returns results matching all provided parameters. Each individual parameter must be separated by a space.

 

Article

Articles are displayed immediately below the search bar. Articles initially return simplified information: a brief article summary, the article Id, and how long ago the article was created. Articles are each given one of the following types based on that articles intended purpose: how to, known error, problem solution, reference, decision tree. 

If a user clicks on the "+" button, the article will expand into a more detailed view containing a full description with variable information pending on the the article type. as this sample article is a "Reference" it returns reference information. information is broken into sections containing the header it's contents. users may click on the "-" to then collapse the article.

Also included is a check box that may be checked to denote whether or not the information was relevant and helpful, this button will help refine search results in the future.

when clicked the button will notify the user that their feedback has been submitted by changing in appearance as shown below

This functionality can be easily disabled by opening the rkmSearch.js file and commenting out the below code on line 60.

articleText.append("<div id='"+uniqueRequestId+"''><i class='use fa fa-square-o fa-lg'> <span>Was this helpful?</span></i></div>");

Repository 

(return to top)

Edit section

Review the source code on Github or download the zip file.

The link above is a link to the code repository where the RKM package can be found.  On the repository page there is a download link that says "ZIP" which will allow you to download the bundle as a zip file.

Since this is an open source repository you can view the modifications made to the package as development continues.  Changes may include implementation of new features, additional documentation, or bug fixes so it is a good way to see new updates.

 

Setup 

(return to top)

Edit section

Kapp/Bundle Setup

Follow these steps to install the RKM kapp into your space.

  1. Download the ZIP file from the repository, the zip file will be named kapp-remedy-knowledge-management.zip.  Unzip the file and rename it "rkm".
  2. Copy the directory to the server location.  An example of the final path would be similar to /bundles/space/rkm.
  3. In Kinetic CE create a new KAPP. Navigate to setup/kapp/details under Bundle Path type in "rkm" to establish a connection to the file and in the Display Page field, type "kapp.jsp" to establish a connection to the RKM interface.
  4. Navigate to Setup/Attribute Definitions/Kapp click on the Add Definition button and create a new definition for each of the following attributes:
    • RKM Admin Username The name of the service administrator
      RKM Admin Password The password of the service administrator
      RKM Locale The local language code. This is the language in which you want the information returned. (en, fr, es, etc.)
      RKM Server The server on which the RKM data is stored. this will be something like server.yourcompany.com
      RKM Port The port number.
      Filehub Url The URL to the Kinetic Filehub application. (https://acme.com/kinetic-filehub)
      RKM Filestore Slug The slug of the desired filestore configured in Kinetic Filehub.
      RKM Filestore Key The secret associated to the specified key.
      RKM Filestore Secret The key for an access key associated to the specified filestore.
  5. Navigate to setup/kapp/attributes. Input values for the attributes you created in the previous step. 

Configurable Properties 

Below are the default configurable properties found in the bundle.

The RKM package supports searches using a parameter of "mustHave", "mayHave" and "mustNotHave".  

The mustHave parameter will return knowledge articles that include all of the provided search words (an AND EQUAL TO search).  The mayHave parameter will return knowledge articles that have any of the provided search words (an OR EQUAL TO search).  The mustNotHave parameter will return knowledge articles that do not have any of the provided search words (an AND NOT EQUAL TO search).

Note that the Remedy Knowledge Management application leverages the Full Text Search engine within the AR System. There are a list of common words that are ignored by the Full Text Search engine and therefore will be ignored in a user's Knowledge Management search. These words are configurable and can be accessed directly within Remedy via the file system.

For additional information, please refer to Knowledge Management and Full-Text Search in the BMC documentation.

 

API Access

  1. Download a version of the BMC Remedy API (make sure to grab a version that is supported by your OS and remedy edition)
  2. Open the Zip file, navigate to the lib folder and then copy arapiXX_build001.jar. (XX correlates to the version you downloaded: if you download api910win.zip, the file will be called arapi91_build001.jar) 
  3. Follow this navigation path apache-tomcat/webapps/kinetic/WEB-INF/lib.
  4. Paste arapiXX_build001.jar in the lib file.

 

External RKM Query

(return to top)

The following steps are only necessary if you intend to call RKM from a different Kapp. 

  1. To import RKM search results into a separate kapp, go to the form.jsp and set up a search input where the search value is saved and then passed into the below URL for an ajax call that will return an array of article objects through a get call.
    • bundle.kappLocation('rkm')+"?partial=search.json&q="+ $("input.rkmInput").val()
  2. To access the article details, increment through the previously returned data and reference the link property in a new ajax call as shown below.

    • url: data[i].link
      
  3.  sample code

    1. <%-- INPUT FORM --%>
              <form>
                  <input type="text" class="rkmInput" value="${text.escape(param.q != null ? param.q : '')}" name="q" placeholder="rkm search">
                  <input type="submit" id="rkmBtn" value="Submit">
              </form>
              <%-- AJAX CALL --%>
              <script>
                  $( "#rkmBtn" ).click(function() {
                      event.preventDefault();
                      // Takes input parameter and passes that value into the search.json file in RKM bringing back the relevant article objects
                      $.ajax({
                          type: "get",
                          url: bundle.kappLocation('rkm')+"?partial=search.json&q="+ $("input.rkmInput").val(),
                          dataType: "json",
                          beforeSend: function(jqXHR, settings) {
                          },
                          success: function(data, textStatus, jqXHR) {
                              // Iterates over every returned article object
                              console.log(data);
                              for (var i in data){
                                  // Grabs the link attribute of each article object and preforms an ajax call to retrieve article details
                                  $.ajax({
                                      type: "get",
                                      url: data[i].link,
                                      beforeSend: function(jqXHR, settings) {
                                      },
                                      success: function(details) {
                                          // Article Data
                                      }
                                  });
                              }
                          },
                          error: function(jqXHR) {
                          }
                      });
                  });
              </script>
      

Requirements

(return to top)

Kinetic Core Edition

Remedy API