Issue Details (XML | Word | Printable)

Key: MDL-19283
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Piers Harding
Reporter: Paul E
Votes: 1
Watchers: 1
Operations

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

SCORMs setting cmi.core.exit on initialization and on completion are not updated

Created: 23/May/09 04:54 AM   Updated: 09/Nov/09 04:42 PM
Return to search
Component/s: SCORM
Affects Version/s: 1.8.3, 1.9.6
Fix Version/s: None

Issue Links:
Cloners
 

Database: MySQL
Participants: Dan Marsden, Paul E, Piers Harding and Ronnie King
Security Level: None
Affected Branches: MOODLE_18_STABLE, MOODLE_19_STABLE


 Description  « Hide
Hi all,

I have been been able to reproduce the following issue on a MOODLE_19_WEEKLY CVS build updated every Thursday as well as another installation of Moodle hosted by Articulate technical support.

SCORMs are generated using Articulate Presenter '09 Update 4 (most recent released version) and consist of 10-15 slides with an embedded Quizmaker quiz on the last slide.

Articulate Presenter/Quizmaker attempts to set cmi.core.exit immediately upon starting the SCORM to "suspend". If cmi.core.exit is not already set to suspend (from stopping and restarting the SCORM), then any new attempts to set the value of cmi.core.exit will not be recorded by Moodle.

Viewing the SCORM in debug mode shows that the SCORM is sending the right value and that Moodle is not returning an error, however the database is not updated and the user is presented with a "suspended" graphic icon.

Altering the SCORM to not set cmi.core.exit to suspend upon initialization appears to have corrected the issue of SCORMs that are played from start to finish without exiting getting stuck in suspended mode. Comments in the lms/SCORMFunctions.js included with Articulate SCORMs indicate that they are setting the value initially to suspend as some LMSs will not store suspend_data otherwise.

This appears to be an implementation issue with Articulate's software, however as this is a popular software package, I'd recommend investigating this issue within Moodle to see if cmi.core.exit can be set to a changed value during playback of the SCORM.

I'm not familiar enough with the SCORM guidelines to know whether or not Moodle's response is correct--at the very least, Moodle should report an error in debug mode to let SCORM developers know that attempting to change the value during playback will not work.

Best,
Paul

 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Paul E added a comment - 23/May/09 04:59 AM
This is what I am commenting out from lms/SCORMFunctions.js to get Moodle to display the expected results (set at exit):

//we want to set the exit type to suspend immediately because some LMS's only store data if they get a suspend request
//blnResult = blnResult && SCORM_CallLMSSetValue("cmi.core.exit", SCORM_TranslateExitTypeToSCORM(DEFAULT_EXIT_TYPE));

The comment above the line of code, again, seems to indicate that this may be something the Articulate developers are doing to address inconsistencies with other LMS software.


Dan Marsden added a comment - 23/May/09 08:42 AM
thanks for the report Paul - assigning this to Piers - could you please comment/have a look at this when you get a chance?

Paul - it might take a bit of time for us to get to this as all SCORM work is done in our very limited free time.

thanks.


Ronnie King added a comment - 09/Nov/09 04:42 PM
Hi Paul,

I run into the same problem that you reported in this issue. But I can't find the file SCORMFunctions.js for short term fix this issue, I'm using Moodle-latest-19.zip right now.

BTW, do you know the steps how to reproduce this issue (cmi.core.exit not updated)?

Thanks,
Ronnie