Moodle

SCORM 2004 - cmi vars not saving correctly

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical 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).

Issue Links

Activity

Hide
Tom Hauser added a comment -

I'd just like to quickly add that the SCORM package used for testing the above naturally passed the ADL SCORM 2004 Test Suite without a hitch.

Show
Tom Hauser added a comment - I'd just like to quickly add that the SCORM package used for testing the above naturally passed the ADL SCORM 2004 Test Suite without a hitch.
Hide
Martin Dougiamas added a comment -

Excellent report, thanks Tom.

Bobo, is this something you can fix or should Sadiel do it?

Show
Martin Dougiamas added a comment - Excellent report, thanks Tom. Bobo, is this something you can fix or should Sadiel do it?
Hide
Martin Dougiamas added a comment -

Tom, can you provide a link to the scorm package to aid testing?

Show
Martin Dougiamas added a comment - Tom, can you provide a link to the scorm package to aid testing?
Hide
Roberto Pinna added a comment -

SCORM Module API still in development.

We are fixing all bugs.

Bobo

Show
Roberto Pinna added a comment - SCORM Module API still in development. We are fixing all bugs. Bobo
Hide
Martin Dougiamas added a comment -

Jennifer this info may help you.

Show
Martin Dougiamas added a comment - Jennifer this info may help you.
Hide
Dan Marsden added a comment -

shifting fix version.

Show
Dan Marsden added a comment - shifting fix version.
Hide
Martin Dougiamas added a comment -

Is anyone ever going to deal with this? Should we just close it?

Show
Martin Dougiamas added a comment - Is anyone ever going to deal with this? Should we just close it?
Hide
Dan Marsden added a comment -

well - it's one among the many SCORM 2004 bugs we have open - and there's no funding currently allocated to SCORM 2004 compliance work - we could just keep one SCORM 2004 bug open (unless the user provides a patch as well?)

Show
Dan Marsden added a comment - well - it's one among the many SCORM 2004 bugs we have open - and there's no funding currently allocated to SCORM 2004 compliance work - we could just keep one SCORM 2004 bug open (unless the user provides a patch as well?)
Hide
Dan Marsden added a comment -

removing "fix versions" as there is no current plan to fix

Show
Dan Marsden added a comment - removing "fix versions" as there is no current plan to fix
Hide
Dan Marsden added a comment -

updating title - SCORM 2004 work still requires funding - for more info please see: http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/

Show
Dan Marsden added a comment - updating title - SCORM 2004 work still requires funding - for more info please see: http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/
Hide
Helen Foster added a comment -

Adding fix version of STABLE backlog as part of our triaging process.

Show
Helen Foster added a comment - Adding fix version of STABLE backlog as part of our triaging process.
Hide
Dan Marsden added a comment -

closing this one off as duplicate - we are now tracking SCORM 2004 improvements based on the failures of ADL tests linked as subtasks on MDL-7068

Some of the issues in this report may have already been fixed in 2.2 but if not we will get to them as part of the ADL tests

If this is still an issue (and we haven't yet got to the ADL test that checks this functionality - I'd be happy for someone to create a new bug - but only one issue per bug please (theres 3 on this one) and please reference which ADL test allows us to check the functionality at the same time.

thanks!

Show
Dan Marsden added a comment - closing this one off as duplicate - we are now tracking SCORM 2004 improvements based on the failures of ADL tests linked as subtasks on MDL-7068 Some of the issues in this report may have already been fixed in 2.2 but if not we will get to them as part of the ADL tests If this is still an issue (and we haven't yet got to the ADL test that checks this functionality - I'd be happy for someone to create a new bug - but only one issue per bug please (theres 3 on this one) and please reference which ADL test allows us to check the functionality at the same time. thanks!

People

Vote (5)
Watch (10)

Dates

  • Created:
    Updated:
    Resolved: