How Tessera makes SCORM and xAPI work

SCORM and xAPI are the standards that let an LMS launch a course and record what happened. They're notoriously fiddly, and with Tessera you never touch them: the runtime translates what happens in your course into whatever dialect the LMS speaks.

What the runtime handles for you

  • The handshake. Connecting to the LMS at launch, closing the session cleanly at exit.
  • Progress and resume. Where the learner is, what they've visited, and their in-progress answers, restored when they come back tomorrow.
  • Completion and pass/fail. Decided by rules you choose (below) and reported in the form each standard expects.
  • Scores and per-question results. Quiz outcomes land in the gradebook, question by question.
  • Navigation gating. Sequential unlocking and "pass this quiz to continue" rules, enforced consistently.
  • Failing loudly. If a course is launched somewhere it can't track, learners see a clear "this course can't run here" message, never a silent failure that costs someone their completion record.

The five export targets

StandardWhat it is
SCORM 1.2The classic. The safest bet for older LMSs; nearly everything supports it.
SCORM 2004The modern SCORM (4th edition). Tracks completion and pass/fail independently and holds more saved state.
cmi5The current-generation standard: xAPI-based, made for LMSs that support it.
xAPIStatement-based tracking to a Learning Record Store, for analytics beyond completion and score.
WebNo LMS at all: a static site you can host anywhere. Progress saves in the learner's browser.

Not sure which your organisation needs? Ask whoever runs your LMS which of these it accepts; when several work, prefer SCORM 2004 or cmi5 over SCORM 1.2. And the choice isn't final: the same course source exports to any of them.

How completion is decided

Every course picks one completion rule; your assistant sets it from a sentence:

  • By pages visited (the default): complete when the learner has seen all pages, or any percentage you choose.
  • By quiz result: complete when the graded quiz average meets the passing score.
  • Manually: complete at a moment you define, like reaching the final page or clicking "I acknowledge".

Differences that actually matter

Tessera hides the protocol differences, but a few behaviours are inherently standard-specific and worth knowing:

  • SCORM 1.2 has one status field, so a course shows "incomplete" until a graded result exists; it can't say "complete but not yet passed" the way SCORM 2004 and cmi5 can.
  • SCORM 1.2 has a tiny memory (about 4 KB of saved state). Tessera budgets it automatically, but a course that saves lots of custom state per learner is happier on SCORM 2004 or cmi5.
  • SCORM 2004 and cmi5 LMSs can impose their own pass mark at launch, overriding the one set in the course. That's the standard working as designed.
  • Resume is protected. Saved progress restores automatically, but if the course's page structure changed since, it starts fresh rather than restoring wrongly. When you update a shipped course, upload it as a new version in your LMS instead of overwriting in place.

Richer analytics with xAPI

Completion and score are the floor, not the ceiling. Any component can emit custom xAPI statements: which scenario branch a learner chose, how far through the video they got, what they clicked. Statements can go to the LMS's own record store (on cmi5 and xAPI exports), to an external analytics LRS from any export, or to several destinations at once. The moving parts live in Under the hood.

Ask your assistant

"Send an xAPI statement each time a learner finishes a branch of the module 2 scenario, including which branch they took."

Copied