Search code examples
scorm

Is there any way to find out whether a SCORM set cmi_core_lesson_status value or not at the end of story?


I have a SCORM wrapper(JS) and the wrapper listening the setValues, and the problem is some SCORM does not set the cmi_core_lesson_status value even the story be finished so there is no way to find out the user has been passed or completed.

So I'd like to detect the SCORM will set cmi_core_lesson_status value or not.

Is there any way to find out? I look at imsmanifest.xml file but I couldn't find the any hint. Please advice,


Solution

  • cmi.core.lesson_status is part of the SCORM 1.2 Run-time API. The Run Time API is in JavaScript, so you won't find it anywhere within imsmanifest.xml, which is instead part of the SCORM Content Aggregation Model (CAM).

    Instead, you will need access to the SCORM wrapper's API element. This means having access to the source code of the SCORM API Wrapper.

    Assuming that the SCORM API wrapper is implemented in ECMAScript (JavaScript), you will need to find the setValue() equivalent function, and check if the name of the element (as in setValue(name,value) is "cmi.core.lesson_status". This will tell you each time a SCO sets the lesson status. Since some packages set status when the window is closed (on unload), you may need to close the window of the SCORM package in order to trigger this event.

    For example, the setValue equvalent in the Pipwerks SCORM API Wrapper is pipwerks.SCORM.set()