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

SCORM - increase 1.2 datamodel lengths

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Major Major
    • 2.7
    • 2.6
    • SCORM
    • MOODLE_26_STABLE
    • MOODLE_27_STABLE
    • Hide

      Log as Administrator and activate SCORM API Debugging
      Add this SCORM package to a course: https://tracker.moodle.org/secure/attachment/36979/Golf%20Example.zip

      Test 1:

      1. Make sure the checkbox admin > plugins > activities > SCORM "scorm12standard" is ticked (enabled by default)
      2. Enter the SCORM activity (a new popup|tab will be opened too with the SCORM API Activity Log)
      3. On the SCORM API Debugger window
      4. Selec the datamodel element cmi.suspend_data and set some text bigger than 4096 characters and hit the LMSSetValue() button.
      5. The data should appear in red with the number "405" at the end.

      Test 2:

      1. Make sure the checkbox admin > plugins > activities > SCORM "scorm12standard" is unticked
      2. Clear all caches - browser and Moodle (just to be safe)
      3. Delete all Attempts to this SCORM before entering.
      4. Enter the SCORM activity (a new popup|tab will be opened too with the SCORM API Activity Log)
      5. On the SCORM API Debugger window
      6. Select the datamodel element cmi.suspend_data and set some text bigger than 4096 characters and hit the LMSSetValue() button.
      7. The data should appear in black as a normal succesful save with the number "0" (no error) at the end.
      Show
      Log as Administrator and activate SCORM API Debugging Add this SCORM package to a course: https://tracker.moodle.org/secure/attachment/36979/Golf%20Example.zip Test 1: Make sure the checkbox admin > plugins > activities > SCORM "scorm12standard" is ticked (enabled by default) Enter the SCORM activity (a new popup|tab will be opened too with the SCORM API Activity Log) On the SCORM API Debugger window Selec the datamodel element cmi.suspend_data and set some text bigger than 4096 characters and hit the LMSSetValue() button. The data should appear in red with the number "405" at the end. Test 2: Make sure the checkbox admin > plugins > activities > SCORM "scorm12standard" is unticked Clear all caches - browser and Moodle (just to be safe) Delete all Attempts to this SCORM before entering. Enter the SCORM activity (a new popup|tab will be opened too with the SCORM API Activity Log) On the SCORM API Debugger window Select the datamodel element cmi.suspend_data and set some text bigger than 4096 characters and hit the LMSSetValue() button. The data should appear in black as a normal succesful save with the number "0" (no error) at the end.

      SCORM 1.2 spec states that suspend_data should be no more than 4096 characters - problem is that many SCORM authoring tools create packages that go over this limit and fail in various ways. (SCORM 2004 spec allows a higher number of chars)

      People have previously published their packages as SCORM 2004 to get around this limit but as we are no longer continuing to develop SCORM 2004 in Moodle I think it would be useful to add a setting for people to allow 1.2 packages to store more data.

      We also enforce 1.2 limits on other areas like student response:
      https://moodle.org/mod/forum/discuss.php?d=216092

      I'd like to add an admin level setting "SCORM 1.2 standards mode" that is enabled by default (eg compliant with the standard) - if people want to allow their packages to break the standard they can untick the box. - unticking this box would increase the CMIString4096 and CMIString256 in mod/scorm/datamodels/scorm_12.js.php to a higher value.

            danmarsden Dan Marsden
            danmarsden Dan Marsden
            Dan Marsden Dan Marsden
            Marina Glancy Marina Glancy
            Ankit Agarwal Ankit Agarwal
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.