-
Bug
-
Resolution: Fixed
-
Major
-
4.4.1, 4.5
When the compatibility setting "Force complete" is enabled, and the SCORM package has not yet set the complete status to "complete" saving the raw_score is currently failing. due the line:
https://github.com/moodle/moodle/blob/master/mod/scorm/locallib.php#L476
– Original reported details below –
When a quiz inside a scorm package ends the score should be transmitted but is missing.
Navigating to "Grades" inside a course, the score should be displayed. Users will have no Score.
Also in the log (in the course -> Scorm Package -> more -> log) there should be an entry saying
"The user with the id '2' submitted the element 'cmi.core.score.raw' with the value of '20' for the attempt with the id '9' for a scorm activity with the course module id '30'." but is also missing
The http request at the end of a scorm quiz /mod/scorm/datamodel.php containing the cmi_corescore_raw parameter with the value is returning a 404 code.
In the apache error logs there are the following messages:
[Fri Jun 28 10:32:37.673125 2024] [php:warn] [pid 89161] [client 10.10.117.3:45830] PHP Warning: Undefined variable $track in /var/www/html/agkamed/mod/scorm/locallib.php on line 476, referer: https://xxxx/mod/scorm/player.php?a=12¤torg=articulate_rise&scoid=37&sesskey=OfuqXj37sC&display=popup&mode=normal
[Fri Jun 28 10:32:37.673255 2024] [php:warn] [pid 89161] [client 10.10.117.3:45830] PHP Warning: Attempt to read property "valueid" on null in /var/www/html/agkamed/mod/scorm/locallib.php on line 476, referer: https://xxxx/mod/scorm/player.php?a=12¤torg=articulate_rise&scoid=37&sesskey=OfuqXj37sC&display=popup&mode=normal
[Fri Jun 28 10:32:37.677786 2024] [php:notice] [pid 89161] [client 10.10.117.3:45830] Default exception handler: Fehler in der Kodierung gefunden, den nur Programmierer/innen korrigieren k\xc3\xb6nnen: moodle_database::update_record_raw() id field must be specified. Debug: \nError code: codingerror\n* line 1695 of /lib/dml/mysqli_native_moodle_database.php: coding_exception thrown\n* line 1753 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->update_record_raw()\n* line 478 of /mod/scorm/locallib.php: call to mysqli_native_moodle_database->update_record()\n* line 70 of /mod/scorm/datamodel.php: call to scorm_insert_track()\n, referer: https:/xxxx/mod/scorm/player.php?a=12¤torg=articulate_rise&scoid=37&sesskey=OfuqXj37sC&display=popup&mode=normal
However, the Error does not occur when Changing the $track variable to $tracktest in mod/scorm/locallib.php line 476. After changing the code, the score will be transmitted from now on.