The IBM Tealeaf UI Capture library configuration is an anonymous JSON object container. The library configuration includes different sections. You modify the defaultconfigurations.js file to set the configuration settings.

  • Core configuration object: Contains configuration information about Document Object Model events to which the library listens. See Core configuration.
  • Services configuration object: Contains configuration information about the individual services that extend the core and provide the necessary functionality that is required by the library. See Services configuration.
  • Modules configuration object: Contains configuration information about the modules that are enabled in the library. See Modules configuration object.

You can also configure keys for capturing localStorage data.

Core configuration

The core configuration object contains basic information about the DOM events to which the IBM Tealeaf UI Capture library listens.

TLT.init({
   /**
    * Base configuration for the core.
    * It specifies which modules should listen to which events, which frames
    * to ignore, which elements to block, and which links are excluded from
    * triggering an unload.
    * @type {Object}
    */
   core: {
       /**
        * The ieExcludedLinks entry specifies a set of links that should
        * not trigger the beforeunload event, which destroys the UI
        * Capture library. This addresses a known issue with Internet
        * Explorer. Specified as a comma separated list of CSS selectors.
        */
       ieExcludedLinks: ["a.ignore"],

       /**
         * The blockedElements entry specifies a set of elements for
         * which no user interaction is to be reported. No user interaction
         * will be reported for the specified element and any child elements.
         * Elements can be specified as a comma separated list of CSS selectors.
         *
         * Warning: The blockedElements entry is evaluated for each event.
         * Specifying inefficient CSS selectors can cause performance issues.
         *
         * Note: This is an advanced feature which has implications for
         * Tealeaf functionality and must only be used in unique situations
         * that require such a restriction.
         *
         */
       blockedElements: [],

       /**
        * This is the module configuration section contains options 
        * relevant to the core.
        * It contains the events to which the modules attempt to listen.
        * NOTE: Please do not use this section for module-specific
        * configuration, which you must access inside of your modules.
        * @type {Object}
        */
       modules: {
           performance: {
               enabled: true,
               events: [
                   {
                       name: "load",
                       target: window
                   },
                   {
                       name: "unload",
                       target: window
                   }
               ]
           },
           replay: {
               enabled: true,
               events: [
                   /* Lifecycle events - not optional */
                   {
                       name: "load",
                       target: window
                   },
                   {
                       name: "unload",
                       target: window
                   },
                   /* User interaction events - not optional */
                   {
                       name: "change",
                       target: changeTarget,
                       recurseFrames: true
                   },
                   {
                       name: "click",
                       recurseFrames: true
                   },

                   /* Dwell time and previous state */
                   {
                       name: "focus",
                       target: "input, select, textarea, [contenteditable]",
                       recurseFrames: true
                   },
                   {
                       name: "blur",
                       target: "input, select, textarea, [contenteditable]",
                       recurseFrames: true
                   },

                   /* Hash change - optional */
                   {
                     name: "hashchange",
                     target: window
                   },

                   /* ClientState events - not optional */
                   {
                       name: "resize",
                       target: window
                   },
                   {
                       name: "scroll",
                       target: window
                   },

                   /* Mobile DOM events - optional */
                   {
                       name: "orientationchange",
                       target: window
                   },
                   {
                       name: "touchend"
                   }
               ]
           }
       }
   },
},
/* Following settings are related to the TLT.getSessionData() Public API */

/**
* Set the sessionDataEnabled flag to true only if it is OK to expose Tealeaf
* session data to 3rd party scripts.
*/
sessionDataEnabled: false,

/**
* The sessionData object specifies the query parameter name OR cookie name to
* get the session id value from. An actual deployment would only specify one
* of the methods to obtain the session id. If both are specified, the
* sessionQueryName takes precedence over sessionCookieName. If neither is
* specified, an internal default of "TLTSID" will be looked up in the cookies.
*/
sessionData: {
    /**
    * Specify sessionQueryName only if the session id is derived from a
    * query parameter.
    */
    sessionQueryName: "sessionID",

    /* Optionally, specify the query string delimiter. Default is */
    sessionQueryDelim: ";",

    /* The cookie being used for sessionization in Tealeaf. */
    sessionCookieName: "jsessionid",

    /**
    * Optionally, specify if the value needs to be hashed to derive the
    * session ID.
    */
    sessionValueNeedsHashing: true
}
   /**
    * The framesBlacklist array specifies the CSS selectors which correspond to the
    * frame/iframe elements that should not be accessed.
    */
framesBlacklist: [
    ".tlBlock"
]
},

   /* End of core configuration */

   // Services configuration

   ...

   // Module specific configuration

   ...

});

Core

In Core, you define properties to assure capture of UI events.

Note: Do not modify these settings unless directed to do so by IBM Tealeaf. For more information, contact IBM Professional Services.


Join The Discussion

Your email address will not be published. Required fields are marked *