Docs/SCORM Integration/LMS Setup

LMS Setup

Upload the SCORM package to your Learning Management System and configure it for your learners. This guide covers generic LMS setup with notes for popular platforms.

General Setup Steps

1

Log in to your LMS as administrator

2

Create a new course or content module

3

Upload the SCORM .zip file

4

Configure launch settings (new window recommended)

5

Assign the course to your learners

6

Test by launching as a test user

Platform-Specific Notes

Moodle

  • Add activity → SCORM package → Upload ZIP
  • Display: New window
  • Force new attempt: No
  • Grade method: Highest grade

Canvas

  • Import existing content → Choose SCORM package
  • Or use External Tool for direct launch

Blackboard

  • Content → Build Content → SCORM package
  • Set to launch in new window

SAP SuccessFactors

  • Learning → Content Management → Import SCORM
  • Assign to curriculum

Learner ID Mapping

The LMS sends a cmi.core.student_id (SCORM 1.2) or cmi.learner_id (SCORM 2004). SecureCodingHub maps this to the user's ScormLearnerId. If the ID doesn't match an existing user, a new SCORM session user is created.

SCORM VersionLMS FieldSecureCodingHub Field
SCORM 1.2cmi.core.student_idScormLearnerId
SCORM 2004cmi.learner_idScormLearnerId
Popup blockers: Ensure popup blockers are disabled for your LMS domain. SCORM content launches in a new window.

Picking the right launch mode

Most LMS platforms offer two launch modes for SCORM content: a new browser window or an inline iframe inside the LMS frame. For SecureCodingHub the new-window mode is strongly preferred. The challenge environment uses keyboard shortcuts, drag-and-drop, syntax highlighting, and a code-review interaction model that all benefit from a full viewport. Inline iframes also frequently break LMS cookie scoping, which can disrupt the SCORM bridge that reports completion and score back to the LMS.

If your LMS only supports inline launch, make sure the iframe is given a minimum height of 720 pixels and the LMS does not strip SameSite=None cookies. If the SCORM bridge cannot complete its hand-off, learners see the SecureCodingHub landing page instead of the assigned challenge.

Single attempt vs. multiple attempts

SecureCodingHub challenges are designed for learning, not for high-stakes assessment. We recommend allowing multiple attempts, because the platform's value comes from learners retrying a challenge after seeing where they were wrong. In Moodle this is "Force new attempt: No" with "Grade method: Highest grade". In Cornerstone and SuccessFactors the equivalent setting is "Allow multiple completions" with "Best score" as the recorded grade.

If your compliance program demands a one-shot attempt — for example, the official PCI DSS annual training record — create a dedicated SCORM enrolment for that single attempt and keep a separate "practice" enrolment that learners can revisit freely.

Troubleshooting checklist

If learners report that completion is not being recorded, walk through the following list before opening a support ticket. First, confirm that the SCORM package was uploaded under the correct version setting (1.2 vs. 2004) — the most common configuration error is mismatch between the manifest and the LMS reader. Second, verify that the LMS is sending cmi.core.student_id or cmi.learner_id with a stable, non-empty value. If the LMS sends a different identifier on every login, SecureCodingHub will see each session as a new user.

Third, confirm that the LMS allows the SCORM SCO to call LMSCommit and LMSFinish (SCORM 1.2) or Commit and Terminate (SCORM 2004). Some LMS sandbox modes block these calls. Fourth, check the network tab for blocked third-party cookies between the LMS domain and securecodinghub.com. If everything looks healthy and completion is still missing, contact support@securecodinghub.com with the LMS name, version, and a screenshot of the manifest configuration.