Creating E-learning Content > Extending learning interaction scripts > Accessing cumulative tracking data through the SessionArray |  |

Accessing cumulative tracking data through the SessionArray

The following is an overview of how data is tracked through the SessionArray.

| When the Flash movie is launched, the first interaction component to load creates a new Array on the level of the interaction assets.
| The component then creates a new instance of the `LToolBox` global class in index0 of the Array. The instance of `LToolBox` is a storage place for all of the interaction's data. Data is set or retrieved from the instance by using predefined property names. See Predefined property names.
| When the Timeline moves to the second interaction, that interaction's component creates an instance of `LToolBox global class` in index1 of the SessionArray.
| When the Timeline moves to the third interaction, that interaction's component creates an instance of `LToolBox global class` in index2 of the SessionArray. It continues with index3, index4, and so on, until all interactions are in an index.
| At the end of a series of interactions, all the data processed during those interactions are available and organized.

Note: The SessionArray is used the same way in the stand-alone interactions and the quiz interactions.

Possible uses

This information is most useful to developers who need to extend tracking or analysis of the interactions, including creating customized quiz environments and creating quizzes in a format different from that of the Flash quiz templates.

Tracking properties available in the SessionArray

The property names reference standard interaction tracking values for both AICC and SCORM LMS's. You can retrieve an interaction's properties by referencing its location in the following command:

    SessionArray[n].[property_name]

For example, to reference the `interaction_ID` value for interaction #1, you would use this command:

    SessionArray[0].interaction_ID

To reference the result value for interaction #2, you would use this command:

    SessionArray[1].result

Predefined property names

The following table describes the predefined property names.

Property name | Description
--- | ---
interaction_ID | Unique interaction name
interaction_type | Type of interaction
objective_ID | Objective identification number
weighting | Weighting value for this interaction instance. Some interactions can have more weight than others.
correct_response | Formatted correct response returned from the user parameters
student_response | Formatted student response returned from the evaluation
result | Result of the evaluation
latency | Elapsed time during this interaction session
dateStamp | Date when the interaction occurs
timeStamp | Time when the interaction starts

All the methods and properties of the `LToolBox` global class are available within each SessionArray index.

Basic structure of the Learning Interaction scripts and components

Now that you know how the interaction data are stored and retrieved, here's a little more information to round out the picture. The Learning Interaction components are really the heart of the e-learning setup. They collect user parameters and build the SessionArray and the interaction event handling functions on the level of the interaction assets. That is, they accept user parameters and configure the environment and assets accordingly. If you want to examine how these work, you'll need to open the scripts in the Library panel.

The majority of the scripts lie in one of two places. The first is the `LToolBox global class` script. This script processes data storage and data formatting for the interaction. The second script location is within each interaction component. These scripts initialize event handling functions triggered by the interaction assets. This is where the user parameters and interaction assets are initialized and the interaction evaluations scripts lie. Even though these scripts are built on the component level, they are initialized on the same level as the interaction assets and submit data to the SessionArray on the interaction assets level.

To explore the scripts or add to them, look in the library for the 1_GlobalClass folder to access the `LGlobalClass` movie clip that contains the `LToolBox global class` script`.` Look in the 2_Components folders to access each Learning Interaction component script. Each script is split into commented sections that are described at the top of the script. Most of the script sections are built within functions for modularity.

Reviewing or editing the LToolboxClass script

The `LToolboxClass` script creates a built-in object that each interaction can use for data storage and basic functionality. The data pattern and functionality shared by all interactions is defined in this script. You can access the `LToolboxClass` script from the library.

To review or edit the LToolboxClass script:

1 | In the Library panel, if necessary expand the 2_Learning Interactions > 1_GlobalClass folders.
2 | Within the 1_GlobalClass folder, double-click the LGlobalClass movie clip to open it in symbol-editing mode.
3 | In the Timeline for the movie clip, select Frame 1 and open the Actions panel, if necessary (Window > Actions).
4 | Review or edit the script, as desired.