Online SCORM player · Version française
SCORM example files
to download
Two complete, free SCORM packages to upload as is to your LMS: one in SCORM 1.2, one in SCORM 2004. A real little module, with a quiz, a score, resume where the learner left off, and a panel showing every exchange with the LMS.
The version virtually every LMS reads. The right choice to check that a platform plays a module and records its tracking.
Download SCORM 1.2The same module, which tells "completed" apart from "passed", and sends progress and a percentage score.
Download SCORM 2004No 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.xmlThe manifest read by the LMS: title, SCORM version, page to launch. Always at the root of the zip, never in a subfolder.index.htmlThe page the LMS opens in a frame or a window.scorm.jsThe communication with the LMS: it finds theAPIobject (SCORM 1.2) orAPI_1484_11(SCORM 2004) and picks the right element names.module.jsThe flow: six screens, three questions, resume and saving.style.cssThe layout, with no external font or library.README.txtThe instructions, in ten lines.
<!-- 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 | SCORM 1.2 | SCORM 2004 | When |
|---|---|---|---|
| Status | cmi.core.lesson_status: incomplete, then passed or failed | cmi.completion_status and cmi.success_status, separately | On first launch, then when the quiz is submitted |
| Score | cmi.core.score.raw, min, max | the same, plus cmi.score.scaled | When the quiz is submitted |
| Bookmark | cmi.core.lesson_location | cmi.location | On every screen |
| Resume data | cmi.suspend_data: screen reached and answers already ticked | On every screen and every answer | |
| Progress | does not exist in 1.2 | cmi.progress_measure, from 0 to 1 | On every screen |
| Answers | cmi.interactions: one entry per question, answer given, correct answer, right or wrong | When the quiz is submitted | |
| Time spent | cmi.core.session_time | cmi.session_time | When leaving the module |
| Saving | LMSCommit | Commit | After every screen: nothing is lost if the tab closes badly |
Try it
Three ways
to open it
- 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
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
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