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

SCORM update + completion options locked = error/moodle/dmlwriteexception

XMLWordPrintable

    • MOODLE_25_STABLE
    • MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE
    • m26_MDL-40095_Completion_locked_Error_on_save
    • Hide
      1. Enable Site administration ► Advanced features ► Completion tracking
      2. Enable completion tracking on one of your courses or create a new one from scratch
      3. Add a SCORM package into that course, using DnD. In case you're missing a working SCORM package, you can use the Prodding SCO and paste the script below in the Scripted test tab, selecting 200 for Interval between calls:

        LMSInitialize("")
        SetValue("cmi.core.session_time","00:04:59")
        SetValue("cmi.core.lesson_status","completed")
        LMSFinish("")
        

        More detail about this testing&debugging tool here.

      4. Edit the SCORM activity adding the required description (missing here due to DnD), changing Completion tracking into Show activity as complete when conditions are met and checking Passed in Require status. Click Save and return to course
      5. Attend to it and pass it. Completing it will be OK only if you have selected Completed in the step above
      6. Edit the activity settings again, check that Completion options locked will appear, add some text to the description and click save without any further change: no error should appear
      Show
      Enable Site administration ► Advanced features ► Completion tracking Enable completion tracking on one of your courses or create a new one from scratch Add a SCORM package into that course, using DnD. In case you're missing a working SCORM package, you can use the Prodding SCO and paste the script below in the Scripted test tab, selecting 200 for Interval between calls : LMSInitialize("") SetValue("cmi.core.session_time","00:04:59") SetValue("cmi.core.lesson_status","completed") LMSFinish("") More detail about this testing&debugging tool here . Edit the SCORM activity adding the required description (missing here due to DnD), changing Completion tracking into Show activity as complete when conditions are met and checking Passed in Require status . Click Save and return to course Attend to it and pass it. Completing it will be OK only if you have selected Completed in the step above Edit the activity settings again, check that Completion options locked will appear, add some text to the description and click save without any further change: no error should appear

      When a scorm package is set with activity completion based on "Require status" condition and this activity completion is locked (a student marked this activity as completed) it is impossible to update the activity.
      Indeed, in this conditions any parameter modification (even minor as the description) generate an error (error/moodle/dmlwriteexception) when you save it.
      When debugging is activated, it seems that is the DB update request which is malformed.
      The "completionstatusrequired" field is set with an array instead an integer.

      See the screen shot in attachment for more details.

      Note that if you lock the activity completion settings with a condition on a note for example there is no problem.

            matteo Matteo Scaramuccia
            toinoo antoine faget
            Dan Marsden Dan Marsden
            Sam Hemelryk Sam Hemelryk
            Petr Skoda Petr Skoda
            Votes:
            5 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved:

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