What does SCORM compliant content actually mean?
SCORM compliant content is a course that meets two requirements of the SCORM specification. It is packaged as a zip with a valid imsmanifest.xml at the root, and each launchable page, called a SCO, finds the LMS API and calls Initialize and Terminate. A complete claim also names the SCORM version.
The phrase is used loosely. On a product page, "SCORM compliant" can mean "our tool exports a zip", "our LMS imports one", or simply "we have heard of SCORM". The specification is more exact. Its own word is conformant, and the rules behind it are written in separate books, each covering one part of the job:
| Requirement | Specification book | What it governs |
|---|---|---|
| Packaging | Content Aggregation Model | The zip, the manifest, and how the course structure and files are described |
| Runtime | Run-Time Environment | How a SCO finds the API, which calls it makes, and which data model values it may read and write |
| Sequencing (SCORM 2004 only) | Sequencing and Navigation | Optional rules in the manifest that let the LMS control the order of activities |
Content is compliant when it breaks none of the rules that apply to it. For most courses, that comes down to the first two rows.
The packaging requirement
The packaging rules describe what an LMS can expect to find when it opens the file it was given. A compliant package meets all of these:
- It is a single zip file. The specification calls this a Package Interchange File.
- A file named exactly
imsmanifest.xmlsits at the root of the zip, not inside a subfolder. - The manifest is well-formed XML and is valid against the schemas for the SCORM version it declares.
- It describes an organization (the course outline, as a tree of items) and the resources those items point to.
- Every file reference resolves to a real file inside the zip, and every identifier is unique.
The manifest also states which version of SCORM the package claims to follow. That statement is the first thing to look for when someone tells you a package is compliant:
<metadata> <schema>ADL SCORM</schema> <schemaversion>2004 4th Edition</schemaversion> </metadata>
A SCORM 1.2 package says 1.2 here and uses different namespaces throughout. The two are separate formats, so a package is compliant with one version, never with "SCORM" in general.
Packaging compliance is a statement about structure only. A zip can meet every rule above and still contain nothing that reports to the LMS. That is the job of the second requirement.
The runtime requirement
The runtime rules apply to each SCO, the launchable unit described in what a SCO is. A SCO has two mandatory duties: find the API object the LMS provides, and open and close a session with it. Everything else is optional, but anything the SCO does choose to use must be used correctly.
| Duty | SCORM 1.2 | SCORM 2004 |
|---|---|---|
| Find the API object | API | API_1484_11 |
| Open the session (required) | LMSInitialize("") | Initialize("") |
| Close the session (required) | LMSFinish("") | Terminate("") |
| Read and write values (optional) | LMSGetValue, LMSSetValue | GetValue, SetValue |
| Save (optional) | LMSCommit("") | Commit("") |
The smallest compliant SCORM 2004 session is therefore two calls:
Initialize("") → "true"
Terminate("") → "true"
"Used correctly" covers the data model. A compliant SCO only reads and writes elements that exist in its version, respects which ones are read-only, and writes values the element allows. Writing "complete" where the vocabulary says "completed", or setting a learner name the content is only allowed to read, are compliance failures even though the course looks fine on screen.
Is a video or PDF ever SCORM by itself?
No. SCORM does not define media formats, so there is no such thing as a SCORM video format or a SCORM PDF. An MP4 or a PDF cannot search for the LMS API or call Initialize, which means it cannot meet the runtime requirement however it is named or exported.
A media file gets into a SCORM package in one of two ways:
- As an asset. The manifest lists the file as a resource that does not talk to the LMS. The package can be valid, but nothing comes back from the content, so whatever the LMS records for it is the LMS's own decision.
- Inside a SCO. An HTML page displays the video or document and makes the SCORM calls on its behalf. The page decides what "finished" means, such as a percentage watched or the last page reached, and reports it.
Only the second gives you tracking that means something. The file type is not the compliance question; the page wrapped around it is. The steps for one file type are in how to convert a video to SCORM.
How to check a compliance claim
When a vendor, an authoring tool or a content supplier says "SCORM compliant", four questions turn the phrase into something you can test:
- Which version? SCORM 1.2 or SCORM 2004, and for 2004, which edition. A claim with no version is incomplete, and your LMS may support one and not the other.
- Which side? Content and LMSs are tested against different rules. A compliant LMS can import and run packages. A compliant authoring tool produces packages that follow the rules. Neither claim covers the other.
- What is the evidence? ADL published a conformance test suite for each version that checks content and LMSs against the specification. Ask whether the claim rests on a test run and whether you can see the log. Compliant and conformant are normally self-declared, so neither word by itself means an independent party checked.
- Can you verify it yourself? For content, usually yes, in a few minutes.
A quick check of a package you have been handed:
- Unzip it and confirm
imsmanifest.xmlis at the top level. - Open the manifest and read
schemaversion. It should match the version you were promised. - Find the resource the course launches and confirm it is marked as a SCO (
adlcp:scormType="sco"in SCORM 2004,adlcp:scormtype="sco"in 1.2). - Launch it in a player that logs API calls. Look for one initialise call that returns
"true", values written without errors, and a terminate or finish call at the end.
If all four hold, the claim is at least plausible. Then test on the LMS the course is going to, because compliance is measured against the specification and not against any one platform. What the formal suites check, and why a package that passes can still misbehave, is covered in SCORM conformance testing explained.
Where SCORM Central fits
SCORM Central turns PowerPoint, PDF, and video files into SCORM 1.2 or SCORM 2004 4th Edition packages you can edit in its course builder, and its free tester shows the manifest checks and every runtime call a package makes before an LMS sees it. See how it works, or test a package free.