Skip to main content
How to Build a SCORM Step

LemonadeLXP is able to play SCORM 1.2 content you've created with third-party authoring tools.

Alex Lemaire avatar
Written by Alex Lemaire
Updated over 2 years ago
SCORM Step Icon

Learners can interact with existing educational content that was previously created using a Shareable Content Object Reference Model, also known as SCORM

SCORM modules are traditionally very long and don't typically espouse the 'bite-sized learning' ethic that LLXP promotes. We developed the SCORM player to buy you time to build content. Your learners can play topical material while you distill it into native LLXP modules.

The LLXP player does not support bookmarking (a concept that's diagonal to bite-sized learning) and cannot provide granular question-and-answer level analytics as the native LLXP steps do. The reason for this is that the SCORM specification does not provide a manifest for questions and answers.

How to build

To begin:

  • CREATE and CONFIGURE your SCORM Step

  • SELECT your SCORM 1.2 zip file

  • "SUBMIT" to upload

  • CHECK BOX if SCORM 1.2 package emits a raw score and a 'finish' event

  • "SAVE" to complete

Important: Valid SCORM Bundles Only

Not all SCORM 1.2 packages are built to spec. The SCORM standard requires that the archive be "self-sufficient" and that it contain a valid schema (per the official XSD).

Unfortunately, experience has taught that SCORM authoring platforms often inject vendor dependencies into their courseware. Meaning, despite being deployed with a SCORM manifest, they're not SCORM-compliant bundles.

If you author a SCORM step that throws javascript errors at launch, this is likely the reason why.

Validating XSD

Validation issues are easy to test. Most OSes and programming languages provide tools to validate against XSD documents (XML document definitions). XSDs are 'dictionaries' that specify what the XML manifest should look like, and where specific declarations are permitted.

To test a malformed manifest:

  1. Extract its contents onto your hard drive

  2. Download and extract the affected SCORM package in a different folder

  3. Copy the imsmanifest.xml from your SCORM package into the XSD folder extracted at step 2

At this point, you have the official XSD side by side with your SCORM package's manifest. You now use any xml linter to validate. If you are using MacOS, it even has built-in validation at the command line:

xmllint --noout --schema *.xsd scorm_package_imsmanifest.xml

If you see any errors that are not related to strict mode, you will have to correct these before your SCORM is deemed valid.

An example failure validation might look like:

client.xml:16: element version: Schemas validity error : Element '{http://www.imsproject.org/xsd/imscp_rootv1p1p2}version': This element is not expected. Expected is one of ( {http://www.imsproject.org/xsd/imscp_rootv1p1p2}schemaversion, ##other{http://www.imsproject.org/xsd/imscp_rootv1p1p2}* ).
client.xml fails to validate

This is a failure we caught in the wild, when a client-provided SCORM package was declaring 'version' instead of 'schemaversion' in the manifest, causing version detection to break.

Hot Tip!

Check out our Guide to Maximizing Each Step Type's Teaching Potential for some hot tips on this and other Step types!

Did this answer your question?