KB104: Building a SCORM-compliant Learning Object
The SCORM (Shareable Content Object Reference Model) is an emerging standard for
Learning Objects: reusable pieces of content that can be assembled using
an LMS (Learning Management Server).
A SCORM object is basically an HTML file that is loaded by the LMS in a web browser frame.
To qualify as a SCORM SCO, the HTML file must query the parent frame for the LMS API. As a minimum,
the object must call the LMSInitialize and LMSFinish methods of this API at the beginning and
end of the object's lifetime. This can be achieved by invoking the External Command
action, and then using some JavaScript code in the surrounding HTML page to hook the resulting event,
obtain the LMS API, and make the actual API calls.
The Character Builder includes an option to generate a SCORM-compliant wrapper HTML file.
In Outline View, select the Project object, then under Advanced, set the HTML Template option to "SCORM". This
code automatically calls the LMSInitialize api, so all you need to do, as a minimum, is call
LMSFinish. For example, after presenting the last slide in a slideshow, you might have your character
invoke the External Command action, using the string 'LMSFinish' in the Command field.
If your project includes interaction, such as a quiz or simulation, then you might have
an opportunity to collect a Score. For example you can declare a Score variable, then use
the Set action to update its value. After updating this variable you can also
report the current score to the surrounding LMS system using an External Command in which the
Command property is the string 'CMISetScore' and the Arguments property is 'Score'.
To test your learning object, you can use the ADL Test Suite. To obtain the test suite,
and for more information on SCORM, please see http://www.adlnet.org.
Note that SCORM also defines a standard for packaging your .HTML, .DIR, and .SWF files, along with a "manifest" .XML file,
into a .ZIP file. The Character Builder does not help with the packaging aspect at this time.