SCORM (Sharable Content Object Reference Model) is a packaging standard for e-learning content. This article explains which SCORM versions Enabley supports, how to recognize a SCORM package, how it communicates progress and scores, and the settings we recommend for the best learner experience.
Supported Versions
Enabley supports the two most widely used SCORM versions:
| Version | Notes |
|---|---|
| SCORM 1.2 | Legacy version, still widely used |
| SCORM 2004 | Newer version, supports more advanced resources |
What a SCORM Package Looks Like
A SCORM package is a set of HTML pages bundled into a single .zip file. Inside that zip, a file called imsmanifest.xml acts as the package's "ID card" — it tells the platform how the content is structured and how to launch it.
On the platform: once uploaded, a SCORM is easy to recognize because it displays inside an iFrame with a scrollbar on the right side of the screen. This scrollbar is added automatically by the platform and is a normal part of how SCORM content is displayed.
Recommended Settings
For the smoothest experience — especially on mobile — we recommend building or exporting your SCORM with:
- Screen orientation: 16:9 (landscape)
- Responsive layout: the SCORM should adapt to the screen size/resolution it's viewed on
- Completion timing: only send the "completed" status once the learner has actually fulfilled the SCORM's objectives (see Important note below — sending it too early can block score reporting)
How SCORM Reports Progress and Scores
SCORM content communicates with the platform using a defined set of parameters. These report the learner's progress, performance (score), and last position (bookmark), so the platform can track completion and results correctly.
SCORM 1.2 Parameters
| Purpose | Parameter | Supported and expected values |
|---|---|---|
| Progress | cmi.core.lesson_status |
not_attempted, incomplete, completed / passed
|
| Score (actual) | cmi.core.score.raw |
Integer, e.g. 80
|
| Score (max) | cmi.core.score.max |
Integer = 100
|
| Score (min) | cmi.core.score.min |
Integer = 0
|
| Bookmark | cmi.suspend_data |
Stores the learner's last position |
SCORM 2004 Parameters
| Purpose | Parameter | Supported and expected values |
|---|---|---|
| Progress | cmi.completion_status |
not_attempted, incomplete, completed
|
| Score (actual, raw) | cmi.core.score.raw |
Integer, e.g. 60
|
| Score (actual, scaled) | cmi.score.scaled |
Decimal from 0 to 1, e.g. 0.6 = 60% |
| Score (max) | cmi.core.score.max |
Integer = 100
|
| Score (min) | cmi.core.score.min |
Integer = 0
|
| Bookmark | cmi.suspend_data |
Stores the learner's last position |
Note: All applicable score parameters are required for the platform to register a learner's performance correctly — a SCORM missing one of these may complete without a recorded score.
How SCORM Behaves on the Platform
Enabley plays SCORM content inside a sandboxed iFrame. This has a few practical implications:
- The platform does not allow the SCORM to access sensitive learner data (email, username, etc.), and blocks external interference with the SCORM.
- For security reasons, the platform blocks the SCORM from calling external/online scripts or using undeclared variables that live outside the SCORM's own root folder.
- The SCORM can use any data the learner enters directly into it (for example, typing a nickname when prompted).
Important note about the "completed" status
Once a SCORM sends the "completed" status to the platform, the content is marked as completed, and no further data—including scores—will be recorded afterward. This applies specifically to standalone SCORM content items (not to platform-native interactions like quiz questions built outside the SCORM). Because of this, it's important that "completed" is only sent after all scoring is finished — see Recommended Settings above.
Reading SCORM Results in Reports
In the multi-learner report, you can identify how a SCORM is reporting data:
-
Progress only: the SCORM reports completion status but no score.
-
Progress + performance: the SCORM reports both completion status and score data.
If a SCORM should be reporting a score but only progress appears in the report, this usually points to a configuration issue in the SCORM package itself—see our article, Troubleshooting SCORM Upload, Completion, and Scoring Issues.
Related Articles
- Troubleshooting SCORM Upload, Completion, and Scoring Issues