Adding a SCORM 1.2 Packager to IGP:Digital Publisher

14 April 2017

Publishers, IGP:Digital Publisher, IGP:FoundationXHTML, SCORM, Development, Learning resources, LMS, Moodle, Education, Education Publishers

The requirement emerged for creation and transmission of highly interactive test packages as SCORM (Sharable Content Object Reference Model) for use in a number of Moodle Learning Management Systems (LMS).

We have a publisher client that is distributing learning content around the world in EPUB 3 and PDF formats. The requirement emerged for creation and transmission of highly interactive test packages as SCORM (Sharable Content Object Reference Model) for use in a number of Moodle Learning Management Systems (LMS).

IGP:FoundationXML and AZARDI Learning Engine Front Up

IGP:Digital Publisher is the only publisher content production system that can instantly deliver multiple print editions, multiple e-book editions AND sophisticated content packages; from one master XHTML file (using IGP:FoundationXHTML - FX); for any business requirement.

Infogrid Pacific has designed IGP:FoundationXHTML to address the widest possible spectrum of content ownership requirements for publishing and republishing valuable content into multiple formats for multiple uses, while controlling costs and complexity.

The strategy specifically empowers content reuse and value extension. It is the core encoding schema used by IGP:Digital Publisher, and has strategies for retrodigitization, plus first time document creation.

FX allows Processor driven production and customization for current formats and high readiness for formats not yet created.

And now the SCORM Packaging

The primary requirements for SCORM output were:

  • SCORM Package for uploading to Learning Management System(LMS) like Moodle
  • Support the recording of scores on the LMS

IGP:Digital Publisher + IGP:FoundationXHTML IGP:Formats on Demand SCORM 1.2 moodle ◄ AZARDI Interactive Engine

SCORM version

SCORM 1.2 and SCORM 2004 are the active versions of specifications. Our end users primarily wanted the SCORM package to be used on Moodle. We decided to support 1.2 as Moodle supports this version.

SCO (Shareable content object)

A Shareable Content Object (SCO) is a learning object that is part of the main SCORM package. A SCO can be launched as standalone web window, or in a frame or frameset.

A SCO also can communicate back with the LMS that launched it to send details like score, progress etc. A SCO uses javascript and a Run time Environment (RTE) provided by the LMS for the communication.

Run Time Environment

The LMS provides a RTE which launches the content objects, and also handles the communication between SCO and LMS. The RTE provides an "API" object in the browser DOM. Launch a SCORM package in your LMS and use your browser's console to view the API object and its details.

The API object exposes a set of methods that can be used to communicate with the LMS. Visit http://www.scormsoft.com/scorm/rte/api to get additional information about the individual methods. The methods send and receive data from LMS using a predefined data model. Visit http://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/  to read more about the data model.

Package generation

SCORM package generation was added to the IGP:Digital Publisher IGP:Formats on Demand list.

We referred to the sample package available on the http://www.adlnet.gov/adl-research/scorm/scorm-1-2/ to build the SCORM package. The implementation mainly included creating the package files according to the specifications and building the manifest file for the package.

Tracking Scores

IGP:FoundationXHTML defines a series of blocks to handle interactive question answers. You can embed up to eleven types of questions answers individually or as Question Sets.

To provide the Question and Answer interactivity and scoring the Azardi Interactive Engine (AIE) is included in the target package. The Azardi Interactive Engine is a set of Javascript resources that make the questions and answers interactive.

As part of implementing LMS integration, the Azardi Interactive Engine (AIE) was updated to implement to SCORM RTE API integration. We used the reference implementation provided here http://www.adlnet.gov/public/uploads/apiwrappers.zip to build the integration.

The following updates were done to the content files in the SCORM package.

  • Insert reference to the apiwrapper JS file into each html file.
  • Implement the call to doLMSInitialize on the onload event.
  • Implement the call to doLMSFinish on the onunload event.
  • Update the AIE Javascript files to call the doLMSSetValue to set the score values.

Because of the rock-solid IGP:FoundationXHTML tagging patterns it was relatively straight-forward to implement Q&A interactive packaging from IGP:Digital Publisher for delivery as SCORM to Moodle LMS. There are a lot of SCORM and Moodle resources available online and it is just a matter of sorting them out.

Hopefully this post gives some guideline if you ever have to get an HTML production page from one resource into an LMS system ready for teacher and student action.

SCORM packaging is now a standard feature with IGP:Digital Publisher making life a lot easier for education publishers.

Posted by Deepak Chandran

Useful links

  1. ADL Initiative - https://www.adlnet.gov/adl-research/scorm/ - This site provides you with the SCORM specifications, sample packages, reference API implementation.
  2. SCORM Cookbook - http://scorm.com/scorm-explained/scorm-resources/scorm-cookbook/ - The Cookbook is a excellent resource to understand the various SCORM related concepts.
  3. Moodle SCORM FAQ (https://docs.moodle.org/31/en/SCORM_FAQ) - This resources was useful to get around the LMS related issues. You need to Activate API debugging under Moodle Administration to view the SCORM logs. This was particularly useful to debug any issues in the package and API method invocation.

Other useful Moodle links  

  1. MOODLE SCORM settings - https://docs.moodle.org/31/en/SCORM_settings
  2. MOODLE SCORM settings - https://docs.moodle.org/31/en/SCORM_settings
  3. MOODLE Supported CMI DATA model - https://moodle.org/mod/forum/discuss.php?d=12167
  4. MOODLE SCORM schema - https://docs.moodle.org/dev/SCORM_schema
  5. What SCORM strings are saved in MOODLE? - https://moodle.org/mod/forum/discuss.php?d=62110
  6. How to convert a simple page html/javascript to a scorm package - https://moodle.org/mod/forum/discuss.php?d=254138
comments powered by Disqus