-
Bug
-
Resolution: Fixed
-
Major
-
2.4.11, 2.5.5, 2.5.6, 2.5.7, 2.6.2, 2.6.3, 2.6.4, 2.7, 2.7.1, 2.7.7, 2.8.5
-
MOODLE_24_STABLE, MOODLE_25_STABLE, MOODLE_26_STABLE, MOODLE_27_STABLE, MOODLE_28_STABLE
-
MOODLE_27_STABLE, MOODLE_28_STABLE
-
master_
MDL-46805 -
The standard SCORM module aicc code is based on 3.5 version of AICC.
The module use the Moodle Username as the AICC student_id value
The issue is that the student_id can only be alphanumeric characters and - (dash or hyphen) character and the _ (underscore) character, From the AICC v3.5 spec:
Up to 255 alpha-numeric characters with no spaces.
Additional legal characters in a student_id are the dash
(or hyphen) and the underscore. Periods are illegal
characters. Case insensitive.
A number of Moodle instances use email, or allow extended characters in the Moodle username, thus breaking the AICC spec.
My recommendation is:
1. Add new config option in SCORM module settings (true/false) to enable a "compliant" mode of operation. Default is false, so Moodle works as is for existing users.
2. in mod/scorm/aicc.php based on the switch set the student id to the moodle id (i.e. numeric) or the moodle username as appropriate
//Martin Holden - USE NUMERIC ID NOT USERNAME
//$userdata->student_id = $aiccuser->username;
$userdata->student_id = $aiccuser->id;