Situation:
Occasionally, a student finishes a scorm activity successfully but in gradebook the grade turns out to be set to 0.0.
Occurrence:
It turns out that this will happen when
- The setting 'Auto-update frequency' for the scorm instance is set to 'every time it's used'
- A second user opens the same scorm activity while the first user is still using it
After finishing the scorm the grade for the first user will be set to 0.0 regardless of the actual grade passed by the scorm
Analysis
when 'Auto-update frequency' is set to 'every time it's used', the scorm player in Moodle will update scoid values in the scorm_scoes and scorm_scoes_track tables every time a user opens the activity.
- user#1 starts the scorm, scoids get updated to scold#1
- user#2 starts the scorm a little later and all scoids get updated to scoid#2 including all entries already in scorm_scoes_track for user#1
- user#1 continues but all new entries in scorm_scoes_track for this scorm session will still have the value for scoid set to the original scold#1
Result of all this is that only the steps user#1 has done before user#2 started will be considered when user#1 is graded. Later steps stored in scorm_scoes_track have an outdated scoid and will be ignored. Effectively, user#1 ends up with an incomplete attempt.
Refer to forum post: http://moodle.org/mod/forum/discuss.php?d=173471#p845325 for an illustration
- has been marked as being related by
-
MDL-31652 SCORM updatefreq setting shouldn't allow use when only uploaded files being used
-
- Closed
-
- is a regression caused by
-
MDL-13904 Scorm structure isn't respected after an update of the package
-
- Closed
-
- will be (partly) resolved by
-
MDL-41434 SCORM - implement better sorting of scos
-
- Closed
-