Details
Description
In the AICC.PHP code there is logic to allow the CMI to judge lesson_status (passed/failed) if the course does not send these values but only sends completed. The logic is based on the CMI system been allowed by AICC guidelines to judge pass/fail IF it has a mastery_score set for the content.
This issue only came about due to correctly fixing the logic for retrieving the mastery_score in AICC.PHP page see MDL-14485
The logic in the page is flawed because of two reasons:
1. It does not retrieve the SCO information.
2. It does not correctly reference the datamodel element.
The impact if you make the changes in MDL-14485 and do not fix this issue is that the CMI ALWAYS judges the course failed.
if ($mode == 'normal') {
//Martin Holden, SkillSoft
//Corrected logic for LMS to determine passed/failed status
//Failing previously as masteryscore should be mastery_score
//Also there was no call to retrieve $sco
//22nd April 2008
//
//if ($lessonstatus == 'completed') {
// if (!empty($sco->masteryscore) && !empty($score) && ($score >= $sco->masteryscore)) {
// $lessonstatus = 'passed';
// } else {
// $lessonstatus = 'failed';
// }
// $id = scorm_insert_track($USER->id, $scorm->id, $sco->id, $attempt, 'cmi.core.lesson_status', $lessonstatus);
//}
if ($lessonstatus == 'completed') {
if ($sco = scorm_get_sco($scoid)) {
if (!empty($sco->mastery_score) && !empty($score) && ($score >= $sco->mastery_score)) {
$lessonstatus = 'passed';
} else {
$lessonstatus = 'failed';
}
$id = scorm_insert_track($USER->id, $scorm->id, $sco->id, $attempt, 'cmi.core.lesson_status', $lessonstatus);
}
}
// END
}
Issue Links
| This issue has a non-specific relationship to: | ||||
| MDL-14485 | AICC - Mastery_Score, Max_Time_Allowed and Time_Limit_Action not correctly returned to courses |
|
|
|
| This issue has been marked as being related by: | ||||
| MDL-14455 | AICC Tracking Issues (SkillSoft content and others utilising multi line suspend data) |
|
|
|
| MDL-18148 | AICC Tracking Issues (SkillSoft content and others utilising multi line suspend data) - UPDATE |
|
|
|
collection of AICC bugs with easy patches provided from Martin
assigning to Piers.
Dan