Skip to main content

How to upload a SCORM package to Moodle

This guide walks through uploading and configuring a SCORM package in a current Moodle course (4.x and 5.x), with the exact menu paths an admin needs today. For Moodle specifically, upload the SCORM 1.2 package: Moodle's 1.2 runtime is fully conformant, while its native SCORM 2004 support is only partial and sequencing and navigation were never finished. Every Intle generation gives you both the SCORM 1.2 and SCORM 2004 4th Edition download from the same content, so you can pick 1.2 here without regenerating.

Which SCORM version to use

Use the SCORM 1.2 package as the first Moodle test. Moodle's documentation describes its SCORM 1.2 path as conformant and its native SCORM 2004 support as incomplete, particularly for Sequencing and Navigation. Intle packages are single-SCO and target both standards, but this does not replace a Moodle import and runtime test. SCORM 1.2 has the tighter 4,096-character suspend-data budget, so confirm resume behaviour with the sample and your generated package in the exact Moodle configuration. Both downloads come from the same generation, allowing you to compare them without regenerating.

Uploading a SCORM package to Moodle

  1. 1

    Turn on Edit mode

    Open your course and switch on the 'Edit mode' toggle at the top-right of the course page.

  2. 2

    Add the SCORM activity

    In the topic/week where you want it, click 'Add an activity or resource' to open the activity chooser, then choose 'SCORM package'.

  3. 3

    Name it and add a description

    Enter a Name (this becomes the link learners click) and, if you want, a Description. Tick 'Display description on course page' to show your instructions on the course page.

  4. 4

    Upload the zip in the Package section

    In the 'Package' section, drag the .zip into the file area, or click the file-picker icon and choose 'Upload a file'. Upload the zip exactly as downloaded from Intle — do NOT unzip it first. Moodle reads imsmanifest.xml from inside the zip, and it must sit at the zip root.

  5. 5

    Set the grade and attempts

    Expand 'Grade' and set the 'Grading method' (Highest grade suits a single scored assessment) and 'Maximum grade'. Expand 'Attempts management' to set 'Number of attempts' and 'Attempts grading' (first / last / highest / average attempt). Note: per Moodle's docs, 'Number of attempts' works only with SCORM 1.2 and AICC packages.

  6. 6

    Set appearance

    Under 'Appearance', leave 'Display package' on 'Current window' — Intle packages run inside the Moodle frame and never open a popup — and set 'Display course structure on entry page' and 'Show Navigation' (No / Under content / Floating) to taste. For a single-SCO package the table of contents is minimal.

  7. 7

    Save

    Click 'Save and display' to launch the package immediately, or 'Save and return to course' to go back to the course page.

  8. 8

    Set activity completion and test

    Under 'Activity completion', set 'Require status' to accept 'Passed' and/or 'Completed' so it matches what the package reports (and only tick 'Require minimum score' if you want a score gate). Then complete the activity once with a test-student account to confirm the grade and completion flow through.

Settings that affect SCORM behaviour

  • Grade > Grading method: choose 'Highest grade' for a single scored assessment so the gradebook reflects the highest score achieved (the other options are Average grade, Sum grade and Learning objects).
  • Attempts management > Number of attempts and Attempts grading (first/last/highest/average): Moodle's documentation states 'Number of attempts' works only with SCORM 1.2 and AICC packages, so it has no effect on a SCORM 2004 package — another reason 1.2 behaves predictably in Moodle.
  • Appearance > Display package = 'Current window': keeps the package in the Moodle frame. Intle packages never call window.open, so learners don't hit a popup blocker and you don't need 'New window'.
  • Activity completion > Require status (Passed / Completed) and Require minimum score: these must match what the package reports. Intle packages report both a pass/fail status and a completion status, so accepting either avoids the classic 'finished but not marked complete'.
  • Advanced: leave 'Force new attempt' off so a learner's bookmark and answers resume on relaunch, and leave 'Force completed' off unless a package never reports completion (Intle packages report it themselves).

Troubleshooting

Upload or launch fails with 'Package is invalid' or imsmanifest.xml not found.

imsmanifest.xml must sit at the root of the zip. Upload the Intle .zip exactly as downloaded — never unzip it and re-zip the folder, which pushes the manifest into a sub-directory. On case-sensitive (Linux) servers the file must be lowercase imsmanifest.xml, which Intle packages already use, so re-download rather than rebuild the zip.

Learner finishes the package but the activity stays incomplete / doesn't count toward course completion.

Moodle's Activity completion 'Require status' doesn't match the status the package reported. Open the activity's Reports and check whether it recorded 'Passed' or 'Completed', then set 'Require status' to accept both. Re-test with a demo-student account before rollout.

On a SCORM 2004 package, navigation misbehaves or the next screen relaunches the same content.

This is Moodle's known, unfinished SCORM 2004 sequencing/navigation support — a completed SCO can relaunch itself instead of advancing. Upload the SCORM 1.2 package instead; Intle produces both from the same content, so no regeneration is needed.

Upload is rejected as 'exceeds the maximum file size'.

Moodle's ceiling is set by the server (PHP upload_max_filesize / post_max_size) and by the site and course 'Maximum uploaded file size'. Raise the course limit in course settings, or ask your Moodle admin to raise the server/site limit. Intle packages are self-contained and small, so this is uncommon.

Frequently asked questions

Does Moodle fully support SCORM 2004?

No. Per Moodle's documentation, its SCORM 1.2 support is fully conformant (it passes the ADL Conformance Test Suite 1.2.7), but native SCORM 2004 is only partly implemented — Sequencing and Navigation were never completed and development on native 2004 support has stopped. Full 2004 compliance would require a third-party Rustici plugin (their SCORM Cloud connector). Because Intle packages are single, self-contained SCOs, upload the SCORM 1.2 version and you stay on Moodle's fully-conformant path.

Which Intle download should I upload to Moodle?

Start by testing the SCORM 1.2 package for the vendor-support reasons above. Every generation gives you both SCORM 1.2 and SCORM 2004 4th Edition from the same content, so you can compare them without regenerating. The /lms-compatibility page separates dated package-level evidence from pending Moodle validation.

My SCORM shows a grade but the activity isn't marked complete — why?

Moodle's Activity completion condition doesn't match the status the package reports. Set 'Require status' to accept both 'Passed' and 'Completed', and make sure 'Require minimum score' isn't demanding a score the package doesn't send, then re-test with a student account. You can confirm the recorded status under the activity's Reports.

Do learners need to allow popups?

No. Intle packages run inside the Moodle frame and never call window.open, so you can leave 'Display package' on 'Current window' and default browser popup-blocker settings are fine.

intle packages target SCORM 2004 4th Edition and SCORM 1.2. Package-structure and local resume evidence was recorded against the dated build shown on the compatibility page; it does not verify a later release or a named LMS. For the current per-platform validation status — including Moodle — see the LMS compatibility evidence page.

Generate a package to test in Moodle

Describe what you want to teach, download both standards-targeted SCORM versions, then validate the one your Moodle configuration accepts. Free to start, no card required.

Generate a package free