Skip to content

Open edX SCORM XBlock

Upload a SCORM package into an Open edX course and grade it like any other block

Active Last commit Checked · 24 Aug 2026

The facts

Licence
AGPL-3.0
Pricing
Open source
Deployment
Self-hosted
Platforms
LMS plugin · Web
Vendor
Overhang.IO

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for Open edX SCORM XBlock, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Yes editor-checked · 24 Aug 2026— source, opens in a new tabThe block reads schemaversion from imsmanifest.xml and treats "1.2" as SCORM 1.2, storing cmi.core.* elements and mapping cmi.core.lesson_status to the Open edX grade.
SCORM 2004 Yes editor-checked · 24 Aug 2026— source, opens in a new tabAnything whose schemaversion is not "1.2" is handled as SCORM 2004 and served an API_1484_11 object; completion_status, success_status, score.scaled and progress_measure are persisted. Editions are not distinguished, and sequencing is not implemented — a multi-SCO package with sequencing rules will not behave as it would in a full LMS.
xAPI No editor-checked · 24 Aug 2026Not in this block. Open edX emits xAPI through the separate event-routing-backends package.
cmi5 No editor-checked · 24 Aug 2026
AICC No editor-checked · 24 Aug 2026
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

This is the block that makes Open edX able to hold SCORM content at all. You add a Scorm module in Studio, upload a zip with an imsmanifest.xml at its root, and the package is extracted to the platform's storage backend and rendered in an iframe with a Python-backed API shim behind it. Learner state persists on the block, the score feeds the normal Open edX grading machinery including rescoring, and staff get a full data report of the stored CMI elements.

It is for Open edX operators who have bought or inherited SCORM courseware and need it inside an existing programme. The Django Storages integration is what makes it viable at scale — packages land on S3 or a configured bucket, and the storage function is overridable per organisation.

What it does not do is behave like a dedicated SCORM runtime. There is no sequencing or rollup, editions of SCORM 2004 are not distinguished, and complex multi-SCO packages built around navigation rules will disappoint. Test a specific package before promising a client it will work.

Maintenance is good by the standards of this category: Overhang.IO maintain it as part of the Tutor ecosystem, the last push was August 2026, and version 19.0.4 in June 2026 decoupled the block's version from the Open edX release train — which means you can now upgrade the block without waiting for a platform release. Sixty-three forks against thirty-eight stars is the usual signature of a plugin people patch for their own deployment.

Alternatives to Open edX SCORM XBlock

Chosen by hand because they solve the same problem, not because they share a keyword.

Open edX
The large self-hosted learning platform, with SCORM and xAPI arriving via plugins

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code