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 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 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:

externalAction("CMISetScore", Score)

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.

Copyright © 2019 Media Semantics, Inc. All rights reserved.
Comments? Write webmaster@mediasemantics.com.
See our privacy policy.