Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Duplicate
-
1.8
-
None
-
MOODLE_18_STABLE
Description
These problems exist at least on 1.8, prior versions have not been tested, but it's safe to assume that they are misbehaving as wel.
Problem #1: cmi.interactions.N.correct_responses.M.pattern cannot be set.
==========================================================
Note the following SCORM communications log:
-snip-
SetVariable called for: cmi.interactions.0.id, with value: urn:composica:Regular-Interaction--UID-page-ehnitdzv1-html
SetVariable result: true
SetVariable called for: cmi.interactions.0.timestamp, with value: 2007-04-08T19:16:56
SetVariable result: true
SetVariable called for: cmi.interactions.0.weighting, with value: 0
SetVariable result: true
SetVariable called for: cmi.interactions.0.type, with value: choice
SetVariable result: true
SetVariable called for: cmi.interactions.0.correct_responses.0.pattern, with value: Yes
SetVariable result: false
LMS reported an error, details: #408, Data Model Dependency Not Established, 408
SetVariable called for: cmi.interactions.0.latency, with value: PT97S
SetVariable result: true
SetVariable called for: cmi.interactions.0.result, with value: incorrect
SetVariable result: true
SetVariable called for: cmi.interactions.0.learner_response, with value: No
SetVariable result: true
-snip-
Moodle responds with error 408 to the SetVariable attempt on said property. This is what the standard has to say about this: "If either cmi.interactions.n.id or cmi.interactions.n.type are not set prior to the request to set the cmi.interactions.n.correct_responses.n.pattern, then the LMS shall set the error code to 408". Now go back to the log and note that both cmi.interactions.n.id and cmi.interactions.n.type were set and accepted well before the call.
Problem #2: cmi.interactions.N.objectives.M.id cannot be set
===============================================
Note the following SCORM communications log:
-snip-
SetVariable called for: cmi.interactions.1.id, with value: urn:composica:Roads--UID-page-ehnitdzv4-html
SetVariable result: true
SetVariable called for: cmi.interactions.1.timestamp, with value: 2007-04-08T19:30:18
SetVariable result: true
SetVariable called for: cmi.interactions.1.objectives.0.id, with value: urn:composica:Philosophy-101--UID-test-ehnitdzv2-html
SetVariable result: false
LMS reported an error, details: #408, Data Model Dependency Not Established, 408
SetVariable called for: cmi.interactions.1.weighting, with value: 50
SetVariable result: true
SetVariable called for: cmi.interactions.1.type, with value: choice
SetVariable result: true
-snip-
Moodle responds with error 408 to the SetVariable attempt on said property. This is what the standard has to say about this: "If the cmi.interactions.n.id has not been set prior to the request to set the cmi.interactions.n.objectives.m.id, then the LMS shall set the error code to 408". Now go back to the log and note that both cmi.interactions.n.id was set and accepted well before the call. Also note that an objective with the value of the id does not need to exist at the time of setting this property.
Problem #3: cmi.suspend_data won't accpet certain chars/cannot be set
=========================================================
Note the following SCORM communications log:
-snip-
SetVariable called for: cmi.suspend_data, with value: <project title="LMS Assessment" description="" version="0.1" windowWidth="686" windowHeight="414" id="Res" theme="../../Themes/blueHorizon.css" master="master/ehniqxlj1.html" skip="true" windowResizable="true" menu="@NONE" courseMode="scorm2004" publicId="
"><config><theme title="Blue Horizon" id="../../Themes/blueHorizon.css"/><master title="Compact (Blue Horizon)" theme="../../Themes/blueHorizon.css" desc="" id="master/ehniqxlj1.html"/></config><structure visited="true"><page title="Regular Interaction" id="page/ehnitdzv1.html" persist="true" pageNum="1" visited="true" done="true"/><test title="Philosophy 101" id="test/ehnitdzv2.html" passScore="50" skip="true"><section title="Assessment" id="section/ehnitdzv3.html" weight="100" skip="true"><page title="Roads" id="page/ehnitdzv4.html" maxScore="50" pageNum="2"/><page title="Woodchucks" id="page/ehnitdzv5.html" maxScore="50" pageNum="3"/></section></test><page title="Final Results" id="page/ehnitdzv6.html" pageNum="4"/></structure></project>
SetVariable result: false
LMS reported an error, details: #406, Data Model Element Type Mismatch, 406
-snip-
Moodle responds with error 406 to the SetVariable attempt on said property. This is what the standard has to say about this: "The format of this characterstring is left to the discretion of the SCO developer. The LMS simply stores the data, if requested to by the SCO". The standard doesn't even talk about responding with 406 to setting of this property. Note also that this string did not pass the maximum allowed length in characters for this property (64K).