Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-46805

AICC Student_ID Issue because of use of Moodle Username

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 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
    • Fix Version/s: 2.7.8, 2.8.6
    • Component/s: SCORM
    • Labels:
    • Testing Instructions:
      Hide

      MAKE SURE YOUR SERVER ALLOWS OUTGOING HTTP AND YOUR SITE USES A PUBLIC URL (not localhost or 192.168.x.x etc)
      This test also requires the use of the Java Console to verify the change.

      go to admin > plugins > activity modules > SCORM
      make sure the setting "Enable external AICC HACP" is set to "yes"
      make sure the setting "AICC pass numeric user id" is enabled.

      Create a new SCORM in your site and use this AICC Package:
      https://tracker.moodle.org/secure/attachment/40088/OLSA_AICC_FULLTESTCONTENT_HTTP.zip

      Test 1:
      make sure the setting "AICC pass numeric user id" is enabled.
      Enter the SCORM and check the Java Console and look for the data that has been passed as the "Student_ID" - make sure it shows a numerical value. (see the Capture.jpg attachment on this bug for example)

      Test 2:
      go to admin > plugins > activity modules > SCORM
      make sure the setting "AICC pass numeric user id" is disabled.
      Enter the course and check the Java Console and look for the data that has been passed as the "Student_ID" - make sure it shows the users username in the value. (see the Capture.jpg attachment on this bug for example)

      UPGRADE test.
      If you have an existing AICC package in your site and you upgrade with this patch it will set the default "AICC pass numeric user id" to 0 - otherwise it should prompt during upgrade as a new setting with a default value set to 1.

      Show
      MAKE SURE YOUR SERVER ALLOWS OUTGOING HTTP AND YOUR SITE USES A PUBLIC URL (not localhost or 192.168.x.x etc) This test also requires the use of the Java Console to verify the change. go to admin > plugins > activity modules > SCORM make sure the setting "Enable external AICC HACP" is set to "yes" make sure the setting "AICC pass numeric user id" is enabled. Create a new SCORM in your site and use this AICC Package: https://tracker.moodle.org/secure/attachment/40088/OLSA_AICC_FULLTESTCONTENT_HTTP.zip Test 1: make sure the setting "AICC pass numeric user id" is enabled. Enter the SCORM and check the Java Console and look for the data that has been passed as the "Student_ID" - make sure it shows a numerical value. (see the Capture.jpg attachment on this bug for example) Test 2: go to admin > plugins > activity modules > SCORM make sure the setting "AICC pass numeric user id" is disabled. Enter the course and check the Java Console and look for the data that has been passed as the "Student_ID" - make sure it shows the users username in the value. (see the Capture.jpg attachment on this bug for example) UPGRADE test. If you have an existing AICC package in your site and you upgrade with this patch it will set the default "AICC pass numeric user id" to 0 - otherwise it should prompt during upgrade as a new setting with a default value set to 1.
    • Affected Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE, MOODLE_26_STABLE, MOODLE_27_STABLE, MOODLE_28_STABLE
    • Fixed Branches:
      MOODLE_27_STABLE, MOODLE_28_STABLE
    • Pull Master Branch:
      master_MDL-46805

      Description

      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;

        Attachments

          Activity

            People

            • Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                11/May/15