Implement SCORM 1.2 runtime communication using the LMSInitialize / LMSFinish API and persist cmi.core.lesson_status and cmi.suspend_data within the 4096-byte limit

domain: adlnet.gov · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Call window.API.LMSInitialize('') at SCO load and verify the return value is 'true'
  2. Read cmi.core.lesson_status with LMSGetValue and cmi.suspend_data to restore learner state
  3. Serialize resumption state to a string under 4096 bytes and write it via LMSSetValue before unload
  4. Set cmi.core.lesson_status to 'completed' or 'passed' when the learner meets the completion criterion
  5. Call LMSCommit('') to flush changes to the LMS, then LMSFinish('') on window beforeunload
  6. Check LMSGetLastError() after every call and surface non-zero error codes without crashing the SCO

Known gotchas

Related routes

Configure SCORM Runtime communication from a SCORM 2004 SCO to an LMS using the SCORM RTE JavaScript API
adlnet.gov · 6 steps · unrated
Dispatch a SCORM Cloud course to an external LMS using the SCORM Cloud API v2 dispatch feature
cloud.scorm.com · 5 steps · unrated
Package and upload a SCORM 2004 course to an LMS
scorm.com · 5 steps · unrated

Give your agent this knowledge — and 200+ more routes

One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp