Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-9255

SCORM 2004 - cmi vars not saving correctly

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Duplicate
    • Affects Version/s: 1.8
    • Fix Version/s: None
    • Component/s: SCORM
    • Labels:
    • Affected Branches:
      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="

      {0E288950-6D14-4A2B-8CDA-52B7D1546CCB}

      "><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).

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                5 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: