Issue Details (XML | Word | Printable)

Key: MDL-9255
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Dan Marsden
Reporter: Tom Hauser
Votes: 5
Watchers: 9
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle

Moodle's SCORM 2004 RTE deviates from standard, potentially causing loss of information

Created: 09/Apr/07 01:21 AM   Updated: 24/May/09 08:03 AM
Return to search
Component/s: SCORM
Affects Version/s: 1.8
Fix Version/s: None

Issue Links:
Dependency
 
Relates
 

Participants: Dan Marsden, Martin Dougiamas, Roberto Pinna and Tom Hauser
Security Level: None
Affected Branches: MOODLE_18_STABLE

Sub-Tasks  All   Open   
 Sub-Task Progress: 

 Description  « Hide
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).


 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Tom Hauser added a comment - 09/Apr/07 01:50 AM
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.

Martin Dougiamas added a comment - 09/Apr/07 11:21 AM
Excellent report, thanks Tom.

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


Martin Dougiamas added a comment - 09/Apr/07 11:22 AM
Tom, can you provide a link to the scorm package to aid testing?

Roberto Pinna added a comment - 07/Jun/07 04:51 AM
SCORM Module API still in development.

We are fixing all bugs.

Bobo


Martin Dougiamas added a comment - 16/Apr/08 12:16 PM
Jennifer this info may help you.

Dan Marsden added a comment - 24/Sep/08 03:11 PM
shifting fix version.

Martin Dougiamas added a comment - 07/May/09 04:11 PM
Is anyone ever going to deal with this? Should we just close it?

Dan Marsden added a comment - 07/May/09 05:23 PM
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?)

Dan Marsden added a comment - 07/May/09 05:37 PM
removing "fix versions" as there is no current plan to fix