Has anyone else run Evolve’s SCORM 2004 interaction tracking on Moodle and checked what actually gets stored?
We publish SCORM 2004 4th Edition with Use Advanced Tracking enabled. Interaction tracking works, but two fields are rejected by the LMS on every MCQ and GMCQ submission. Tested on both Moodle 3.11 and Moodle 5.1, same result on each.
MCQ:
setValue: cmi.interactions.4.learner_response=1%3ATrue
Course could not set cmi.interactions.4.learner_response to 1%3ATrue Error Info: Data Model Element Type Mismatch Additional LMS Error Info: 406
setValue: cmi.interactions.4.correct_responses.0.pattern=2%3AFalse
Course could not set cmi.interactions.4.correct_responses.0.pattern to 2%3AFalse Error Info: Data Model Element Type Mismatch Additional LMS Error Info: 406
GMCQ (question text redacted):
setValue: cmi.interactions.0.learner_response=1%3ADepressive%20disorders
Course could not set cmi.interactions.0.learner_response to 1%3ADepressive%20disorders Error Info: Data Model Element Type Mismatch Additional LMS Error Info: 406
setValue: cmi.interactions.0.correct_responses.0.pattern=1%3ADepressive%20disorders[,]3%3AAnxiety%20disorders[,]4%3ASubstance%20use%20disorders
Course could not set cmi.interactions.0.correct_responses.0.pattern to (as above) Error Info: Data Model Element Type Mismatch Additional LMS Error Info: 406
Everything else lands fine — id, type, description (full question text, which is great), result and timestamp are all stored, and reattempts are journalled as separate records.
The cause looks like the values being URL-encoded, and carrying the full option text rather than an identifier (1%3ADepressive%20disorders being “1:Depressive disorders” encoded). For choice-type interactions the spec restricts these fields to short identifiers, so percent signs and colons aren’t valid. Moodle validates strictly and refuses them. The [,] delimiter between multiple responses looks correct, so it seems to be only the identifier content that’s the problem. SCORM Cloud appears to be lenient about this, which may be why it hasn’t come up before.
Practical effect: we can see that a learner got a question wrong, but not which option they picked. On a four-option MCQ that rules out any distractor analysis, which was the main reason we turned interaction tracking on.
A couple of questions:
- Has anyone else hit this, on Moodle or another spec-strict LMS?
- @Matt_Leathes — is emitting spec-conformant short identifiers here something that could be looked at for Legacy? Happy to send debug logs or a sample package, and we can test a fix on our LMS.
Also raised with support so there’s a ticket on record.
Thanks,
Shaun
