KB104: Building a SCORM-compliant Learning Object
The SCORM (Shareable Content Object Reference Model) is a 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
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 and look at the panel below. Make sure the Generate sample HTML
option is checked, then click "Options...".
In the Tag style section, select Use an HTML template and select SCORM.
Be sure to also check Expose Flash API on the Project panel.
The SCORM template 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, typically using the built-in Score variable.
You can report the current score to the surrounding LMS system using the command "CMISetScore".
However, the External Command does not allow you to pass expressions, such as the contents of a variable.
To do this, you will need to insert a Code Action:
The code action should contain, minimally, the line:
Note that the External Command panel for LMSFinish is equivalent to the following BuilderScript line:
After rendering your project, you should use a tool such as the Simple SCORM Packager (SCP) by JCA Solutions http://www.jcasolutions.com/ssp
to create an SCO zip package using the ADL 1.2 standard.