Skip to main content
Energized_trainer
Known Participant
June 11, 2015
Question

Timing question

  • June 11, 2015
  • 2 replies
  • 686 views

The accrediting body for one of the courses I am developing requires a start and end time, as well as duration for each student.  When I queried my LMS group, they said this would come form the scorm data.  How do I set the course to track this info?  I did not find anything under Quiz reporting,  The definition of interaction data does not seem to include this. Thank you in advance for any help you can give.

This topic has been closed for replies.

2 replies

TLCMediaDesign
Inspiring
June 11, 2015

These are SCORM functions for SCORM 1.2:

cmi.core.total_time and cmi.core.session_time;

session_time is always started when launching a SCO. When the user ends the SCO, you would need to write the session_time to the total time. You would also need to read total_time and add session time to it until the SCO is completed.

Energized_trainer
Known Participant
June 11, 2015

Sorry TLCMediaDesign, but I have no idea what you are saying. Are these commands that are already in the program or do I need to add them somewhere.  I am not a programmer so forgive the confusion!

TLCMediaDesign
Inspiring
June 11, 2015

They are SCORM calls. You would need some JavaScript to use them and there have utilities written in Captivates scormdriver.js. The session time happens by default.

function SCORM_GetPreviouslyAccumulatedTime() {
    var strCMITime;
    var intMilliseconds;
    WriteToDebug("In SCORM_GetPreviouslyAccumulatedTime");
    SCORM_ClearErrorInfo();
    strCMITime = SCORM_CallLMSGetValue("cmi.core.total_time")
    WriteToDebug("strCMITime=" + strCMITime);
    if (!IsValidCMITimeSpan(strCMITime)) {
        WriteToDebug("ERROR - Invalid CMITimeSpan");
        SCORM_SetErrorInfoManually(SCORM_ERROR_INVALID_TIMESPAN, "Invalid timespan received from LMS", "strTime=" + strCMITime);
        return null;
    }
    intMilliseconds = ConvertCMITimeSpanToMS(strCMITime);
    WriteToDebug("Returning " + intMilliseconds);
    return intMilliseconds;
}

function SCORM_SaveTime(intMilliSeconds) {
    var strCMITime;
    WriteToDebug("In SCORM_SaveTime intMilliSeconds=" + intMilliSeconds);
    SCORM_ClearErrorInfo();
    strCMITime = ConvertMilliSecondsToSCORMTime(intMilliSeconds, true);


    WriteToDebug("strCMITime=" + strCMITime);
    return SCORM_CallLMSSetValue("cmi.core.session_time", strCMITime);
}

With a little editing you could have it do what you want.

Lilybiri
Legend
June 11, 2015

Hello,

I always tracked the duration in the LMS itself, find it a bit strange that you got that answer from the LMS-group but not all LMS's have the same functionality at all.

If the LMS can capture variables, you could calculate the timing using actions, but if your LMS is not capable of showing time spent on a course, I have doubts that it will be able to read the value of variables (which Blackboard could). More info about tracking real time: Display Time information - Captivate blog

That blog post was meant to show the real time within a course, but could give you some idea of the calculations.

And for certain this can also be done with JS.

Energized_trainer
Known Participant
June 11, 2015

I can get the LMS to show me the duration of time spent in the course.  So I know the program is sending that info to the LMS and the LMS is converting it to  a reportable format.  The LMS is capable of showing start and stop time and date, but nothing shows when I go to print the report - already talking to them about that.  Looking at the programming that TLCMediaDesign put in his response, it seems like that is what would be needed, but I have no clue what to do with it.

Thank you both for your responses!!!!