The caller should be aware of the following side effects that they may encounter with this feature:
End-user ‘smith’ launches a session with Asset A (with no &start_over=1 specified by the content consumer system).
End-user ‘smith’ completes the course and exits session (TDR1 is recorded for this session at time t0).
Later at time t1… End-user ‘smith’ launches another session with the same Asset A. This time it is launched with &start_over=1.
End-user ‘smith’ achieves 50% process in the Asset A and exits session (TDR2 is recorded for this session at time t2).
The content consumer makes a OC_GetTrackingData() call. This returns TDR1 and TDR2 in the correct chronological order. However, TDR1 specifies Asset A is complete and TDR2 specifies that Asset A is only 50% complete.
The content consumer must be able to manage this situation when using this feature. The TDRs will have an associated timestamp so that at a minimum, the content consumer will be able to determine the sequence of events at t0, t1 and t2.