How do you publish SCORM to Cornerstone?
To publish SCORM to Cornerstone, upload the zip in Content Uploader, assign it a provider, then find the resulting online course in the catalogue, complete its required details, set availability, and publish it. The upload is the easy half. The half that generates tickets is versioning and how Cornerstone decides a transcript is Completed.
Cornerstone draws a hard line between a piece of content and a training record. The package reports what it reports; the transcript is a separate object with its own statuses and its own versioning rules. Most Cornerstone SCORM problems live in that gap rather than in the package.
What Cornerstone expects
Content Uploader accepts SCORM, AICC and xAPI (Tin Can) packages, so unlike platforms that support only SCORM 1.2 you have a real choice of version. Published guidance for Cornerstone portals commonly points at SCORM 2004 3rd Edition, for a practical reason: 2004 reports completion and success as two separate fields, which matches how the transcript wants to think.
Four things to confirm before you upload anything:
imsmanifest.xmlsits at the root of the zip. If you zipped the folder instead of its contents, the manifest is one level down and the upload is rejected or lands as an unreadable package.- The zip is inside the portal's upload cap. Cornerstone caps the size of a single uploaded zip, and the figure is a portal setting. A video-heavy build is the usual casualty; check the limit before you spend a day rendering.
- You know which provider the content belongs to. Content Uploader asks for one after the file lands, and the course does not reach the catalogue until you pick it.
- You know how many SCOs the manifest declares. One SCO maps cleanly to one transcript row; if the manifest declares several, confirm how your portal rolls them into a single record before you build reporting on it.
Loading and versioning a course
The upload path is short. From the main menu, go to Content > Content Uploader, choose Select a File, pick the zip, and wait for the status to read Uploaded Successfully. Then choose Select Provider and use View Catalog to jump to the new course.
What exists at that point is content, not a course anyone can take. In Course Console, open More Options > Edit and fill in what the portal requires: Title, Keywords and Description on the General tab, the Subjects tab, and Training Hours. Then set Availability — Select Users, plus the Include Subordinates, Pre-Approved and Register Upon Approval checkboxes if they apply — save, and press Publish.
A course that uploaded perfectly and has no availability set is invisible to every learner in the portal. This reads exactly like a failed upload, and is the most common false alarm on a first Cornerstone publish. Before assigning anything, use Preview from the More Options menu to confirm the content runs, resumes, and exits.
How completion is handled
SCORM carries two ideas that people say with one word. Completion status answers "did the learner reach the end". Success status answers "did they pass". They are independent: a learner can fail the assessment and still be completed, because they did finish. Completion vs success unpacks the data model behind this.
Cornerstone then maps what arrives onto a transcript status. The ones you will meet on an online course:
| Transcript status | What it means |
|---|---|
| Not Started | The training has not been launched or opened by the user. |
| Registered | The training is on the transcript and nothing further is needed before taking it. |
| In Progress | The training item is currently in progress. |
| Completed | The training is complete and all required evaluations and acknowledgments are complete. |
| Completed Equivalent | The user completed equivalent training before requesting this training. |
| Incomplete | A test was failed but more attempts are allowed. |
| Pending Acknowledgment | The training is complete but an acknowledgment form is still outstanding. |
| Old Version | The user was registered for an online course that was reversioned in the content upload tool. |
Two of those cause most of the confusion. A learner who failed the quiz can land on Completed, because the package reported completion and the failure lived in the success field — making that visible is a portal configuration question, not something you fix by rebuilding. And Pending Acknowledgment means the content did its job and a form is holding the row open; relaunching the course will never clear it.
Republishing without losing data
This is where Cornerstone differs most from other platforms, and where one click rewrites a whole population's training record.
When you version an online course, the portal's Online Course Versioning preferences govern the outcome. Append Enablement allows two versions of the course to exist in the portal at the same time, with both assignable to users. Version Equivalence decides what happens to people who already completed the old one:
- Requires retraining — the new version registers as Registered, and users have to complete it again.
- Completed Equivalent — the previous completion carries across and the new version shows as Completed Equivalent.
An administrator can lock either setting as read-only by toggling its Editable switch, so what you see at version time may already have been decided for you. Users who were registered on the course when it was reversioned pick up the Old Version status, which is informational rather than a fault.
Two build habits keep the technical side clean. Keep the SCO and resource identifiers in imsmanifest.xml stable between versions — a rebuild that renames them can strand attempts in flight. And keep suspend data inside the cap, because the old build's resume state is what the new build has to read: 4 KB in SCORM 1.2, 64 KB in 2004.
Behaviours to test first
Cornerstone's own troubleshooting guidance puts the emphasis on the content side: always give the learner an obvious way to exit, and make sure anything that must happen on the current page happens when they leave it. The behaviours worth proving before delivery:
- The session initialises exactly once. If the content cannot find the API object because of the launch method or a blocked popup, every later call is void and the portal records nothing while the learner has a normal experience.
- Progress commits as it goes. A package that only saves on a clean exit loses everything when someone closes the tab, which they will.
- Score is written before status. Some platforms freeze the record at the first completion they see; a score that arrives afterwards is discarded.
- Resume works after an abrupt close. Close the tab without using the exit button, relaunch, and confirm the bookmark and the status both survived.
- Failure is distinguishable. Deliberately fail the assessment and confirm the transcript says something other than a clean Completed.
A healthy 2004 sequence at the end of an attempt looks like this, in this order:
SetValue("cmi.score.raw", "82")
SetValue("cmi.success_status", "passed")
SetValue("cmi.completion_status", "completed")
Commit("")
Terminate("")
Testing before upload covers running that sequence outside the LMS, and why completions go missing covers each failure mode in detail.
Verifying learner records
Preview proves the content runs. It does not prove the transcript path works, because that path only exists for a real registration. Verify with a test user genuinely assigned the course.
Complete the course properly as that user, then close the tab abruptly rather than using the exit button — that one step catches the most common failure. Now open the user's transcript and confirm four things:
- A record exists and is not still Not Started. Nothing at all means the runtime never initialised.
- The status is what the attempt deserved — not In Progress on a course you finished, and not Completed on one you abandoned.
- The score arrived, and matches what the content displayed on screen.
- Relaunching resumes where you stopped, if resume is what you intend.
For a population rather than one person, the Online Training Status Report gives status and progress across users — the quickest way to spot a package that works for you and fails for everyone launching it differently. What it shows is the honest record: what Cornerstone received, not what the course appeared to do. If a value is not there, the content never sent it, and no portal setting will conjure it.
Where SCORM Central fits
SCORM Central converts files you already have — PDF, PowerPoint, Word, or video — into SCORM 1.2, SCORM 2004, cmi5, or xAPI, and shows you the manifest, the full runtime log, and a conformance report on every build, so you can see exactly what a package will report before an LMS does. See how it works, or start with one file.