Issue Details (XML | Word | Printable)

Key: MDL-18756
Type: Bug Bug
Status: Open Open
Priority: Blocker Blocker
Assignee: Dan Marsden
Reporter: Andres Melguizo Velez
Votes: 0
Watchers: 0
Operations

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

SCORM 1.3 does not load all tracking data elements, but 1.2 does.

Created: 31/Mar/09 03:55 PM   Updated: 08/Jul/09 10:00 AM
Return to search
Component/s: SCORM
Affects Version/s: 1.9.4
Fix Version/s: None

File Attachments: 1. File api.php (3 kB)

Environment: Tester platform is currently Windows Vista.
Issue Links:
Relates
 

Database: MySQL
Participants: Andres Melguizo Velez, Dan Marsden and Josh
Security Level: None
Difficulty: Moderate
Affected Branches: MOODLE_19_STABLE


 Description  « Hide
The problem was detected because no data was readed into cmi.suspend_data when in SCORM 1.3 mode (but it was well loaded in SCORM 1.2), and the LMS returned correctly error 403 (value not initialized), but the data was in the table of the database (mdl_scorm_scoes_track) and was valid, but was not loaded.

I really don't understand the if() at line 39 of /mod/scorm/api.php, but this is exactly the place to start the fix.

I made a fast solution so I can test if that behavior was or not an error of mine:

Insert into /mod/scorm/api.php at line 44:

            foreach ($usertrack as $key => $value) {
                $userdata->$key = addslashes_js($value);
            }

This code ensures that all the data comes where it should be!

All the data was read ok from database, but the if() says that it should be dropped and I don't understand what are you trying to do in that case.

I really hope that it can help you to fix the error!

Thanks a lot!



 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Dan Marsden added a comment - 23/May/09 08:40 AM
thanks for the report - SCORM 2004 isn't complete in Moodle and has a range of bugs - we are currently attempting to source funding that would allow us to spend focused time on it.

Dan Marsden made changes - 24/May/09 08:05 AM
Field Original Value New Value
Link This issue has a non-specific relationship to MDL-7068 [ MDL-7068 ]
Josh added a comment - 08/Jul/09 09:45 AM
The if statement that you refer to looks close to right to me. From the scorm 2004 spec:

If the cmi.exit is set to "suspend" then the SCOs current learner attempt does
not end. The SCOs Run-Time Environment data model element values for the
current learner session will be available to the SCO if the SCO is relaunched in a
subsequent learner session.

If the cmi.exit is set to "normal", "logout","time-out" or "" (empty
characterstring) then the SCOs learner attempt ends. The SCOs Run-Time
Environment data model element values of the current learner session will NOT
be available if the SCO is relaunched.


The SCO is responsible for setting the value of cmi.exit.


Dan Marsden added a comment - 08/Jul/09 10:00 AM
thanks for the update Josh - we're well aware that there are a large range of issues with SCORM 2004 in moodle - this blog post summarises our current position:
http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/