Issue Details (XML | Word | Printable)

Key: MDL-21299
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Dan Marsden
Reporter: Neil Streeter
Votes: 0
Watchers: 1
Operations

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

cmi.core.lesson_location incorrectly set upon exiting second attempt resulting in improper initilization on entry to third attempt

Created: 11/Jan/10 01:03 PM   Updated: 16/Jan/10 11:19 AM
Component/s: SCORM
Affects Version/s: 1.9.7
Fix Version/s: None

File Attachments: 1. Zip Archive lesson_location_issue_files.zip (396 kB)

Environment: RHEL 5 base packages w/ mysql on innodb engine.

Database: MySQL
Participants: Dan Marsden and Neil Streeter
Security Level: None
Affected Branches: MOODLE_19_STABLE


 Description  « Hide
Sorry for the long description... but I don't see any other way

See attached zip file for package, complete logs, and text versions of 'track detail report'...

Here are the steps to reproduce this issue...

As an instructor - deploy the scorm package

Now as a student log in and run through the package... max score is 40 in this case.. answering everything correctly results in score of 40 and status of 'completed' just as it should.

Instructor can verify this using the 'track detail report' (see report in zip)
The report correctly indicates 'lesson_location' of 4... score 40 and status complete...

Go back in as a student and enter the LO again...
The LO correctly initializes and jumps to 'lesson location' of '4' - which is the quiz results summary showing 40 points and completed status... Just as it should...
Do nothing at this point except exit the LO... Upon exiting, the debug output correctly shows the following....

Sat, 09 Jan 2010 15:55:03 GMT: LMSSetValue("cmi.core.score.raw", "40") => 0
Sat, 09 Jan 2010 15:55:03 GMT: LMSSetValue("cmi.core.lesson_status", "completed") => 0
Sat, 09 Jan 2010 15:55:03 GMT: LMSSetValue("cmi.core.lesson_location", "4") => 0
Sat, 09 Jan 2010 15:55:03 GMT: LMSSetValue("cmi.core.session_time", "00:02:11") => 0
Sat, 09 Jan 2010 15:55:03 GMT: LMSSetValue("cmi.suspend_data", "E0Enone$nP1Enone$nP1Enone$nP1Enone$nP1Enone$nP1Enone$nP001BA001EAA~$YS*qdzwT110BEB0H3;2;1;0DnilDnilDnilBDB1BCB0BBB0BAB0BB~$YS*ED7wT110BCB1DnilDnilDnilDnilBBB0BAB1CC~$YS*LB_wT110BBB2DnilDnilDnilDnilB0FsmartDD~$YS*wKBxT110BDB4DnilDnilDnilDnilB1BbB0BaB2BcA") => 0
Sat, 09 Jan 2010 15:55:04 GMT: Commit("", "") => 0
Sat, 09 Jan 2010 15:55:04 GMT: Commit("", "") => 0
Sat, 09 Jan 2010 15:55:04 GMT: LMSFinish("", "") => 0

At this point everything still looks good to the student.. the summary page shows the score as 40 and status is completed..

Now go back in as the instructor and pay close attention to the 'lesson location' line of the track detail... It shows as follows...

Completed 00:04:07.00
Score: 40
Raw score 40
Status completed
Time 00:04:07.00
cmi.core.lesson_location 0 << WHOOPS - the prior attempt clearly shows we should have set this to '4' - somehow that didn't happen.


Now if you go back in as a student and enter the LO again, it initializes incorrectly and upon moving to 'lesson location 0' this particular LO (made with captivate) sets your status to incomplete and your score back to zero... Thus 'undoing' your prior work...

I've had similar results with LOs made in softchalk as well. We would really like to get this resolved and I think this may fix some of the other posts I see in the forums about captivate LOs losing their status on subsequent attempts.

Thanks - and let me know what I can do to help!
Neil



 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Neil Streeter added a comment - 16/Jan/10 11:19 AM
This discussion is very likely related to this issue.

http://moodle.org/mod/forum/discuss.php?d=124531

I've started digging through the scorm module to try to figure out what's happening when and where but it's fairly complex to read through... Any hints as to where to look would be very greatly appreciated.

Even using the debug screens to set cmi.core.lesson_location does not result in the correct value being stored - It seems to want to stay 'zero' once you enter for a second time.

Cheers,
Neil