Skip to main content
Kinetic Community

Kinetic Admin Training Manual

 

 

AdminLogo.jpg


 

Chapter 1 Overview

General overview of goals and topics

Kinetic Survey and Kinetic Request

Kinetic Survey and Kinetic Request are comprehensive tools for creating and administering surveys, requests, and forms of all types using BMC Remedy Action Request System®.

You can generate requests quickly across large or small groups with questions specifically tailored your customers.

Kinetic Data and BMC Partnership

As a BMC/Remedy user, you know that Remedy delivers service management software solutions that enable your organization to automate and manage internal and external service and support processes. As a BMC Solutions Partner, Kinetic Data delivers Remedy system enhancements expanding Remedy capabilities and processes that save you time while providing results faster and more efficiently.

Kinetic Administrator Training Guide

This manual extends the User and Manager Guides, and provides advanced techniques for using Kinetic Survey and Kinetic Request.

Related Documentation

  • Kinetic Request User and Manager Manual
  • Kinetic Survey User and Manager Manual
  • Kinetic Survey & Kinetic Request Installation Manual
  • Kinetic Survey & Kinetic Request Integration Manual

 


Goals for this Class

  • Understand how Kinetic Survey and Kinetic Request integrate with other Remedy forms
  • Go over installation issues
  • Application Architecture
  • Brief introduction to Task Handlers

 

 

Chapter 2     Integrations

Having a direct link between a Remedy form and Kinetic Survey and Kinetic Request lets you automate your business processes.  Integrating forms provides that link.

Integration Guide

Included with your installation is an integration guide detailing how to integrate a form.  The process is the same for both Kinetic Survey and Kinetic Request.

Adding Fields and Workflow

 

The first step in integrating a form is adding the fields and workflow. If the integration field ids are already in use you can use Remedy’s change ID utility to update them before copying fields.

If you know you are going to integrate multiple forms, it is easier to do them all at once.

Be prepared to spend some time asking what fields need to be passed into the survey/request record as attributes. It is possible to do this with multiple filters, but one filter is better for maintenance.

Data Sets

While you are adding the fields and workflow is a good time to think about any additional data sets.  Adding the new data sets now while you are adding the workflow will reduce the potential for errors and can help eliminate confusion later.


Activity 1: Integrate Remedy Forms

Integrate the Sample Incident form on the training image into  Kinetic Survey or Kinetic Request.

Use the instructions in the Integration Manual.

Complete both Filter and Active Link integrations.

 

Things to Think About

What happens when the data you need for an integration is not on the form?  Is it better to add the data to the form, or to get the data during the integration process.


Integration Diagrams

These are copies of the diagrams from the manual for your reference.

SurveyIntegrationOverview_EVENT

Figure 1: Event Integration

SurveyIntegrationOverview_ACTLINK

Figure 2: Active Link Integration

File:User:derick.larson/Kinetic_Admin_Training_Manual_Mind_touch_Version/image003.png

Figure 3: Batch Integration

 

 

 

Chapter 3     Installation

Installation of Kinetic Survey, Kinetic Request, and Kinetic Task can be done with an installer, depending on your environment. In this chapter we will look at common installer issues with

Installer Issues

With the latest version of Kinetic Survey, Kinetic Request and Kinetic Task, an installer is used to import workflow, data, and the web server.  The installer uses the 7.6.04 API (unless you are using version 6.3 of Remedy, then you must use the Remedy Admin tool).

Many customers decide to use the built in apache/tomcat installer for the web server setup of Kinetic Survey, Kinetic Request and Kinetic Task. It is an excellent way to get up and running quickly in a development environment. However, if your web server is on a different server than your Remedy application server you will have to copy the installer to that server. The web server portion of the installer only runs on Windows. If you have a different OS, you will need to install your own web server, and then copy the web files (or use a WAR file).

Common installer issues include:

·         Problems with API files (jar and library files)

·         License Keys

 

Upgrade Issues

The process of performing an upgrade is done very different from an original install. There is no installer, so the changes must be done by hand. Def files and data are imported using the various Remedy tools. Changes to the web server are done with copy/paste or applying a new WAR file.

Common Upgrade Issues

·         Major Version Upgrades can include upgrades to data

·         Web Server Changes

 

Configuration Items

The configuration dialog controls many of the default and application values in Kinetic Survey and Kinetic Request.  The individual values are covered in the installation manual included with your installation files.

Here is a brief overview of a few the individual configuration tabs:

Categories (Kinetic Survey only) – Provides the ability to add, modify or delete categories.

Configuration Items – Holds web default, logging, path, context and licensing information.  Most of the values set here only need to be touched once, during the product install.

Web Messages – All of the default error and informational messages for customers.

Attribute Types – Attributes are application specific, and cover properties like Category for Kinetic Request or Expiration Date for Kinetic Survey.

Style – The style tab holds all the default CSS values for templates or service items.

Pattern – The pattern matching values for select answer types, including default values.


Activity 2: Configuration Items

Look through the configuration items tab and find where your system will have different values. 

Add a new Attribute.

Alter one of the web messages to reflect your organization.

Experiment with exporting a service item or template

Things to Think About

There are many items in the Configuration Manager that can have a universal impact across both Kinetic Request and Kinetic Survey.  How you manage access will be something to discuss.

Web messages are the item most often forgotten.

 

 

 

Chapter 4     Application Architecture

There are two different ways to think about the design of Kinetic Survey and Kinetic Request.  The first is to look at how the individual elements interact that make up templates and service items.  The second is a view from the individual answers, and how they relate to individual surveys and requests. 

Survey Template/Service Item View

Main forms with a brief description:

KS_SRV_SurveyTemplate – Details on the individual templates or service items

KS_SRV_ContentsElementHTML – Generated HTML code for the pages in the individual templates or service items

KS_SRV_SurveyQuestion – Question details

KS_SRV_SurveyQuestionChoice – Values for list choices

KS_SRV_Manager – Dialog form for Survey Author Console

KS_RQT_Manager – Dialog form for Service Catalog Console

KS_SRV_ElementDialog – Question and other page element dialog for both templates and service items.

KS_RQT_Task – Holds information about tasks related to service items.

 

 

Survey/Request Results View

Major forms with a brief description:

KS_SRV_CustomerSurvey_base – Instance of this form is generated for each survey/request.  It holds all the attributes and basic data for each survey/request.

KS_SRV_SurveyAnswer – Individual survey/request answers.

KS_SRV_SurveyResult – All the answer viewers, and instance Ids for the individual answers.

KS_SRV_CustomerSurveyResults_join – Also known as “The Flattener”, this form has information from the base record, the template, all the answer viewers and the attributes.

Two main reporting forms:

KS_SRV_CustomerQuestionAnswerResults_join

KS_SRV_CustomerSurveyQuestionAnswerJoin

 

Kinetic Task Forms

Major Forms of the Task System

KS_TSK_Instance – One record created for each node on your task tree, per request submission. Holds both the return and deferred variables.

KS_TSK_Trigger – Records created in this form can both start a task tree process and restart a task process from a deferred node/instance.

KS_TSK_Trigger_Lock_join – Used to stop multiple Task Engines from processing the same tree instance.

KS_TSK_Tree – Holds the Task Tree which is represented as an XML string. It is related to a template by the Association ID.

KS_TSK_Def – Holds a Task Handler and relates to its authentication information. There is an attachment field that holds the imported handler.

KS_TSK_Exception_Handler – Every error/exception thrown by the system is recorded in this form. They are also viewable from the Task Management console.

 


Activity 4: Review Forms

Look through the forms listed here and find how they relate to the other forms in Kinetic Request, Kinetic Survey, and Kinetic Task.  What types of conventions and names do we use?  How can this information benefit you as a Remedy developer?

 

Things to Think About

If you need to add workflow to “hook” into the Kinetic System, the flattener (KS_SRV_CustSurvey Results_join) form is the best place to start.

Most of the information about Kinetic Task can be accessed through the Task Consoles. It can be easier to see the relationships from there.  

Chapter 5     Task Handler Structure

Directory Hierarchy

kineticTask\tasks\

·         taskHandlerName\

o    handler

o    process

o    test

Handler Code (handler/init.rb)

Standalone specific piece of code designed to be simply configured to perform a business task. Tasks take parameters, return results and can throw exceptions in the event of an error.

Handler Methods

initialize

  • Initialize the handler, pre-load form definitions and load parameter/parameter value hashes

execute

  • This is a required method that is automatically called by the Kinetic Task Engine
  • Returns an Xml formatted String representing the return variable results

preinitialize_on_first_load

  • Preinitialize expensive operations that are not task node dependent

escape

  • used to escape results values (returned in execute) that would cause the XML to be invalid

get_info_value

  • for retrieving  info.xml values from the input document

Handler Input (process/node.xml)

  • The Task Engine is responsible for gathering information, building and passing an “Input Document” to the Task Handler upon execution.  This node.xml file defines the content and locations of the data elements to be gathered by the Task Engine.
  • Establishes Task Name and contains the description which is made visible on the Task Builder.
  • Defines the parameters for display on the node when configuring in the Task Builder.
  • Defines hash of parameter names to parameter values which can be utilized by the Task Handler.
  • Defines hash of info values.  These are the static values configured as part of the info.xml file.
  • Defines hash of field values and field name mapping values to a Remedy form or external table structure, also utilized by the Task Handler.

Handler Configuration (process/info.xml)

  • Defines static parameter and parameter values defined for the Task Handler process.
  • Values are configured using the TaskManagement console as part of the Task Handler import process.

Handler Configuration (test/)

  • Defines static parameter and parameter values defined for the Task Handler process.
  • Values are configured using the TaskManagement console as part of the Task Handler import process.

 

 

Chapter 6     Appendix A: Custom Javascript

These javascript functions are built into Kinetic Survey & Request, and are available for your use.  Examples of their use can be seen in the service items in the sample Sithco IT catalog.

 

KD.utils.Actions

These functions are detailed in the file kd-actions.js file in the following directory on your webserver:

<webserver>\webapps\kinetic\resources\js

You can look through this file to see how the functions work.  The following list contains the most popular and useful functions you may use when developing your own templates or service items.

Each one of the functions is prefaced by “KD.utils.Action

For example, the .setQuestionValuefunction is written out as KD.utils.Action.setQuestionValue(label, value)

.setQuestionValue(label_id, value)

·         label_id is the Menu Label of the question (can use the Instance ID of the questions)

·         value is what the answer is set to

.getQuestionInput(label_id)

·         label_id is the menu label of the question (can use the Instance ID of the questions)

.setReadOnly(label_id)

·         label_id is the menu label of the question (can use the Instance ID of the questions)

.setReadWrite(label_id)

·         label_id is the menu label of the question (can use the Instance ID of the questions)

.makeQuestionRequired(label_id)

·         label_id is the menu label of the question (can use the Instance ID of the questions)

.makeQuestionOptional(label_id)

·         label_id is the menu label of the question (can use the Instance ID of the questions)

.setDateFields(qstnId, datearr)

·         qstnId is the instance ID of the question (Advanced tab)

·         datearr is an array with the following parameters [YYYY, MM, DD]

Example of the .setQuestionValue function

KD.Utils.Actions.setQuestionValue(customerFirstName, “Joe”)

Joe will be set as the value (answer) of the question with the Menu Label ‘customerFirstName’.  If “Joe” was stored in a variable, that can be substituted in the function.

 

Javascript Date Compare example

The following javascript is meant to compare dates.  The first example compares an entered date to the current date, and the second compares one date with another.  This is an example of an event that is not provided “out of the box” with Kinetic Survey/Request, but may be useful to implement.  Comments in the code show the purpose for the different parts of javascript used.  This code would be called on a beforeSubmit event on the Page where the date questions are located.  The action would be custom, and you will need to insert the question instance ID for the specific date questions as the parameters of the function.  The functions are normally placed in the CustomHeaderContent field on the advanced tab of the specific template/service item.

 

// This function is called in the beforeSubmit event on the page the holds the related date question

function dateCheck(questionID){
// The questionID variable is  for the date question to check
// It is on the advanced tab of the question

// nowDate holds the current date
var nowDate = new Date();

// The array builds up the values needed by the setDateFileds function if it is called
var nowDateArray = new Array();
nowDateArray[0] = nowDate.getFullYear();
nowDateArray[1] = nowDate.getMonth() + 1;
nowDateArray[2] = nowDate.getDate();

// document.getElementByID gets the value of the hidden date question from the template
var surveyDate=document.getElementById("SRVQSTN_" + questionID).value;

// The Hidden date field stores the date a s acharacter string.
// The following steps get the individual values, turn them into integers,
// and make them into a readable date format
     surveyDateString = surveyDate.split('-');

     var surveyDateInt = new Array();

     surveyDateInt[0] = parseInt(surveyDateString[0],10);
     surveyDateInt[1] = parseInt(surveyDateString[1],10);
     surveyDateInt[2] = parseInt(surveyDateString[2],10);

     var surveyDateFinal = new Date();

     surveyDateFinal.setFullYear(surveyDateInt[0], (surveyDateInt[1] - 1), surveyDateInt[2]);


// Finally, the two  dates are compared
     if (nowDate>surveyDateFinal)
     {
          // Personalized message to the user that date is not acceptable
          alert('Selected Start Date must be set to after the current date');
          KD.utils.Action.setDateFields(questionID, nowDateArray);
          return false;  //A return value of false will stop the submit process
     }

}