SCORM 1.2
geduk-scorm-example-1.2-en.zip · 12 KB

The version virtually every LMS reads. The right choice to check that a platform plays a module and records its tracking.

Download SCORM 1.2
SCORM 2004
geduk-scorm-example-2004-en.zip · 12 KB · 4th edition

The same module, which tells "completed" apart from "passed", and sends progress and a percentage score.

Download SCORM 2004

No sign-up · Free to reuse, including modified · Checked with our validator and our SCORM tester: no defect, no API error.

What it is for

A SCORM file you know
actually works

When a module does not report its score, is the module to blame, or the LMS? With a package whose behaviour is known, you can settle it in five minutes.

Test an LMS

Before choosing a platform or moving your content to it: does the module open, do the score and status show up in the reports, does resume work?

Isolate a fault

Your modules report nothing? Upload this one to the same place. If it reports its tracking, the problem is in your packages; if not, in the LMS or its settings.

Start from a template

The code is short. Replace the screens and the questions, keep the SCORM layer: your hand-built module reports its tracking correctly.

Understand the format

The module explains what a SCORM package is, and its panel shows every call as it goes to the LMS.

What is in the zip

Six files,
a manifest at the root

<!-- imsmanifest.xml of the SCORM 1.2 package, shortened -->
<manifest identifier="fr.geduk.scorm-example-en-12" ...>
  <metadata>
    <schema>ADL SCORM</schema>
    <schemaversion>1.2</schemaversion>        ← the version announced to the LMS
  </metadata>
  <organizations default="org-exemple">
    <organization identifier="org-exemple">
      <title>SCORM in five minutes</title>      ← the title shown in the LMS
      <item identifier="item-module" identifierref="res-module">...</item>
    </organization>
  </organizations>
  <resources>
    <resource identifier="res-module" type="webcontent"
              adlcp:scormtype="sco" href="index.html">  ← one SCO, and its launch page
      <file href="index.html"/> ...
    </resource>
  </resources>
</manifest>

Tracking

What the module
sends to the LMS

Data sent to the LMS by the example module
DataSCORM 1.2SCORM 2004When
Statuscmi.core.lesson_status: incomplete, then passed or failedcmi.completion_status and cmi.success_status, separatelyOn first launch, then when the quiz is submitted
Scorecmi.core.score.raw, min, maxthe same, plus cmi.score.scaledWhen the quiz is submitted
Bookmarkcmi.core.lesson_locationcmi.locationOn every screen
Resume datacmi.suspend_data: screen reached and answers already tickedOn every screen and every answer
Progressdoes not exist in 1.2cmi.progress_measure, from 0 to 1On every screen
Answerscmi.interactions: one entry per question, answer given, correct answer, right or wrongWhen the quiz is submitted
Time spentcmi.core.session_timecmi.session_timeWhen leaving the module
SavingLMSCommitCommitAfter every screen: nothing is lost if the tab closes badly

Try it

Three ways
to open it

  1. 1

    In your LMS

    Upload the zip as is, without unzipping it, wherever your platform imports a SCORM module. Go through it with a learner account, leave halfway, come back: the module should resume on the same screen. Then check the report: status, score and time should be there.

  2. 2

    In the online SCORM player

    No LMS at hand? The Geduk SCORM player and tester runs the package in your browser, without uploading it, and lists what the LMS would receive.

  3. 3

    In the validator

    To see what a defect-free package looks like, run it through the SCORM validator, then compare with the report on your own packages.

Frequently asked questions

SCORM examples,
plainly

SCORM 1.2 to test an LMS as broadly as possible: it is the version virtually every LMS reads. SCORM 2004 if your content is in 2004, or to see the difference between "completed" and "passed", which SCORM 1.2 folds into a single status. The module is the same in both zips; only the way it talks to the LMS changes.

Yes. Both packages are free to reuse, including modified, with no attribution required. The code is deliberately short: replace the screens and the questions, keep scorm.js, and you have a hand-built SCORM module that reports its tracking correctly. The code comments are in French.

The .xsd files describe the grammar of the manifest; they are used by strict validation tools, and most LMSs do not ask for them. We left them out to keep the package readable. If your LMS requires them, add the schemas published by ADL for that version at the root of the zip.

Upload it as is, without unzipping and re-zipping it: a zip rebuilt by hand often puts the manifest in a subfolder, where the LMS no longer finds it. If the LMS still rejects it, run the zip through the SCORM validator: it tells you within seconds whether the problem comes from the package or from the LMS.

It adapts to a phone screen, and it loads nothing from outside: no web font, no library, no analytics. Everything is in the zip. It only needs the LMS that launches it, to record the tracking.

And for your real modules?

Geduk AI Scorm writes a complete module from a brief or a document, and delivers it as a SCORM 1.2 or 2004 package, ready to upload to your LMS.

SCORM 1.2 & 2004 · Hosted in France · Human support