Skip to main content

IMPORTANT - Product End of Life Statement - IMPORTANT

Request RE, Survey, and Calendar 1.5 Support Ending December 31, 2020
Contact Kinetic Data Support with Questions
Kinetic Community

Bundle Air Configuration


Download File
Bundle Air
An interactive tour of setting up the Bundle for Kinetic Request


  1. Bundle Basics
  2. Bundle Request Air
  3. Setup
  4. Bundle Configuration
  5. Request Configuration
  6. Request Service Item Configuration
  7. Custom Login Page Configuration
  8. Web Developer Tools
  9. Theming
  10. Questions

Bundle Basics

A Bundle is a self contained collection of files intended to simplify the improvement of web-based Kinetic Request interfaces. These files are stored with the Kinetic Request web application.  The Kinetic Bundle leverages common web technologies (HTML, CSS, JavaScript) together with JSP to implement a fully brandable service interface.  A Bundle represents a consistent identity for service items stored in the Kinetic Request application. 

Bundle Base Directory

The Bundle has three top level directories

  1. common
  2. core
  3. packages
The common directory contains resources that are accessible across multiple packages.  These resources are usually custom per Bundle and are likely to change.
The core directory contains resources that are global to the application and are not likely to change unless an update is being made.
The packages directory contains all the modules that make up the Bundle.  It is important to note that a 'base' package will always be provided with a Bundle. 

Bundle Directory Organization

The directories within the common, core and packages follow a folder structure that is flexible and familiar and can be described as:
  1. config
  2. framework
  3. interface
  4. resources
Configuration files are used to abstract values that can or should be changed when a package is implemented. This ensures that there is a single point of modification when a package is deployed to a new server or environment, significantly improving modularity.
Framework files are those that facilitate the architecture of the Bundle (or package), and are almost always JSP fragment files. These files are usually models and helper files wint a single include file.
Interface files are files, typically JSP or JSP fragment, that represent the actual content that is rendered when a display request is made to the Bundle.
Resources are files like CSS, Images, and JavaScript that are referenced by a Bundle's interface files.

Packages Inside Bundle Air

A Bundle will always contain a package directory where packages are stored.  Each package is usually serving a specific purpose.  These packages each have a .jsp file inside that is the display page for the package. The following four packages are inside Bundle Air:

  1. Base
  2. Catalog
  3. Submissions
The base package contains the display pages for rendering content and events stored within a request service item. You will always find this package inside a bundle.
The catalog package contains the display page for navigating the catalog to a request a service item.  It also contains the display page for rendering catalog search results.
The submissions package contains the display page for rendering request submission data.  This can be anything from approvals, my requests, to fulfilment.


  1. Download the Bundle from github.
  2. Unzip the Bundle and rename it to air
  3. Place the bundle under the themes directory on your web server (On the Matrix VM, this directory is found under: /home/kinetic/apps/kinetic_sr/webapps/kinetic/themes).

Request Configuration

In order to take advantage of the Bundle we just downloaded, we must create a catalog in Kinetic Request for our Bundle to communicate with.  This catalog will include four very important service items with the type portal, which are merely placeholders for pointing to the display pages inside the packages we want to use for this bundle.

Request Configuration - Create Catalog

  1. Open your Remedy User Tool.
  2. Open Kinetic Request-Service Catalog inside the quick links navigation on your left.
  3. Select "New" inside the Service Catalog box in the upper right corner.
  4. Enter a name for you Catalog.  Can by anything. I.E. XYZ.
  5. Enter a Description of Catalog. I.E. Bundle lesson Catalog.
  6. In the status drop down, select Active.

Request Configuration - Create Package Portal Service Items

The Bundle contains four important portal pages inside the catalog and submission packages that we need to point to inside of Request. These pages are catalog.jsp, search.jsp, submissions.jsp, submissionDetails.jsp.

  1. Select New inside the Service Items box on the upper left side.
  2. Inside the dialog, enter type Portal and give the service item a name relevant to the display page you wish to serve up.  I.E. catalog, submission details.
  3. Repeat these steps for each of the four portal pages.

After you have four service items with type Portal, we need to setup which display page each one points to, the url-friendly name and authentication.

  1. Select a service item and select the Advanced tab.
  2. Enter the relevant display page name for the service item inside Display Page (JSP).  It will look like this: /themes/air/packages/catalog/catalog.jsp
  3. Enter a url friendly name in the Display Name For URL section.  This name must be unqiue.  It's recommended this name is relevant to the catalog and display page name.  I.E. ACME2-Catalog, ACME2-SubmissionDetails.
  4. Select the Audit tab.
  5. Check the Require Authentication box and select Authentication Type" as "Default.
  6. Save all of these modifications by selecting the Save button in the lower left side.
  7. Repeat

Bundle Configuration

Every Bundle comes with a common directory. The common directory contains resources that are made available accross multiple packages. These resources might include stylesheets, global configuration or fragments like the footer or header, which each package might use.  There is a common configuration file (config.jspf) that must be setup to communicate with the catalog we will be creating.

  1. Open /air/common/config/config.jspf
  2. Edit bundle.setProperty("catalogName", "ACME2"); by changing ACME2 to the name of the catalog you just created.

Bundle Configuration - Dynamic Links

There are four portal pages you created inside Request. You gave each of these pages a url friendly name under the advance tab.  You need to configure these dynamic links inside the Bundle's common/config because these links are dynamically used through the Bundle's navigation point to the portal pages.

  1. Edit bundle.setProperty("catalogUrl", bundle.applicationPath() + "DisplayPage?name=ACME2_Catalog"); by changing ACME2_Catalog to the url friendly name you used for the Portal service items inside Request.
  2. Repeat this step for all four of the service items.

Bundle Dry Run

After your Bundle is configured, it's time to take it for a spin.

  1. Navigate to your Remedy user tool and open Kinetic Request-Service Catalog Console if it's not already open.
  2. Select your recently created catalog under the Service Catalog drop down naviagtion which is located in the upper left side.
  3. Select type Portal under your Search Type drop down.  This is great solution for filtering these service items.
  4. Select the Catalog service item you created under the Service Items list on your upper right side.
  5. Click the Open Anonymous link to the right of Service Item Details.

Your default web browser will open and ask you to login. Use Demo to login.

Request Service Item Configuration

We will implment a Request service item that uses the base package.

Custom Login Page Configuration

We will go over the necessary steps to implement the Bundle's themed login page.

Web Developer Tools

We will cover browser developer tools options that are available and try using Chrome's developer tools.


We will dicuss and use the common theme directory inside Air to change color and graphic information.


We will discuss and go over the Bundle's core framework of models including implementation inside a package display page.