Tracking Data between the Learning Assets and the Learning Management System
The following diagram shows how On-demand Communication facilitates sending tracking data between the Learning Assets and the LMS. If a learner is accessing any Advanced content, the LMS does not have the ability to track usage data for any assets launched from inside the Advanced content. If you setup On-demand Communication the data for all asset accesses track back to OLSA, regardless of how it is launched.
When a learner completes a single session in a learning object, a raw tracking data is generated and transformed in to a neutral format, Tracking Data Record (TDR) and stored in to On-demand Communication system. On-demand Communication makes these TDRs available in chronological order to a given LMS. For more information about On-demand Communication, see the OLSA WSDL.
The following includes the main actors in On-demand Communication: Figure 1 illustrates the relationship between these actors.
Figure 1: On-demand Communication Context Diagram
The content consumer system, which serves its end-user population and will be a consumer of the near real-time feed of Tracking Data Records (TDR). It will make calls to the OC Web Service API to retrieve TDRs. A Tracking Data Record (TDR) is created from the raw tracking data generated by each end-user when he completes a single session with a learning object. As the content publisher (OLSA) receives raw tracking data from individual end-users, it puts TDRs into the OC system.
The end users of a given content consumer system generates the raw tracking data as each end user completes a session with a learning object. Raw tracking data goes directly to content publisher.
The content publisher system, which can serve many content-consumers, provides access to the OC Web Service API.
The OC system itself, which collects and maintains TDRs generated by the end-users, and makes them available in near chronological order to a given content consumer. The content consumer uses the OC Web Service API (WS API) to initialize, get and acknowledge TDRs. The key functions include:
OC_InitializeTrackingData – the content consumer must invoke this function once each time it starts up before using either the Get or Acknowledge functions. This function provides the appropriate hook to allow the content consumer to reconcile TDRs if either the content consumer failed to send an Acknowledgement or the content publisher failed to receive an Acknowledgement
OC_GetTrackingData – this is used by the content consumer to get all unretrieved TDRs for all users or a specific user
OC_AcknowledgeTrackingData – this is used by the content consumer to indicate to the content publisher that the previously retrieved set of TDRs has been successfully processed
Simple protocol rules are specified to ensure that a given content consumer can uniquely filter duplicate data and reliably reconcile after system restarts, retrieve TDRs. For more information, see Pattern 1 and Pattern 2 approaches.