Configuring IBM Tealeaf DOM capture and replay
Implementing DOM capture involves configuring your application to be "DOM-enabled" and configuring IBM® Tealeaf® to process and replay sessions of visitors that use the DOM-enabled application.
Before you begin
- Understand the pros and cons of using DOM capture
- Get classic capture to work first for your application
About this task
This task describes the end-to-end configuration procedure for an IBM Tealeaf DOM capture and replay solution. The procedure includes steps for configuring DOM capture on the client side and for enabling the replay of DOM captured data on the server side.
Action | Description |
---|---|
Enabling DOM Capture | You can log full DOM captures or DOM Diffs. DOM Diff is an enhancement to the DOM capture
feature. The default setting for DOM Diffs is enabled. Note: DOM Diff functionality is not supported
within hybrid mobile apps. ScreenViews and DOM snapshots are used to replay sessions from hybrid
mobile apps.
Note: This information pertains to functionality available in IBM Tealeaf UI
Capture version 5.0.0. For information about the release, contact your IBM Tealeaf
representative.
DOM capture is enabled for an individual page by adding a DOM-capture trigger event to the page. The classic Capture process is used to capture any page that is not configured with a DOM-Capture trigger event. |
Adding triggers for page load, page unload, click, and change | A trigger tells the UIC when to do a DOM Capture. For initial setup and testing, you want to perform a DOM capture on every page load and unload, on every click, and on every change event. After you test your setup and verify that DOM capture is working, you want to tune the trigger events to capture only specific data. |
After you verify that the DOM capture feature is enabled and working in replay, you determine if DOM Diff is affecting performance and fine-tune triggers for capture. Depending on the application, there may be so many DOM Diffs to process that the performance is affected. In that case, you may want to disable DOM Diff and use a full DOM capture.
In a production environment, to capture every screenview load and unload and every click or change on a control would be such a large amount of data that it would cause performance issues. You might need to limit the captures to specific clicks and changes. You can create custom triggers to limit the DOM capture to specific user actions.
- Pre-defined event triggers - The click, load, unload, change - you can trigger a DOM capture on the click of a specific button or the load of a specific screenview. After you assign an event to a specific control or screenview event, the system stops capturing a DOM snapshot for every event of that type. For example, defining a trigger as click without specifying a control means that a DOM capture is triggered on every click event. Specifying a control for the click, such as the Next button, means that DOM captures are only triggered when the user clicks a Next button.
- Custom event triggers - You can define a custom event in the replay module configuration and use that event to trigger a DOM capture. For example, you can create a custom event that is called Login and use the Login event to trigger a DOM capture.
Configuring DOM capture on the server-side involves enabling DOM Capture on the Replay server, increasing the byte size specified in the Canister Safety Limits [BB] Event, and adding a DOM Capture Virtual Session Agent to the pipeline.
- Extracting DOM or DOM Diff from type 12 message.
- Creating a virtual hit with extracted DOM or DOM Diff being the response.
- Inserting the newly created virtual hit into the session.
- Sending the processed data to the Canister.
At replay time, the Replay Server pulls the session that contains virtual hits.
Additionally, the DOM Capture Virtual Session Agent ensures the seamless integration of the DOM or DOM Diff with existing Tealeaf features, such as search index and privacy.