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

Add score and status submission events to SCORM activity

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.7.1, 3.1
    • Fix Version/s: 3.1
    • Component/s: SCORM
    • Testing Instructions:
      Hide

      (difficulty: easy, requires teacher access to a course)

      1. Add a new SCORM activity using the Prodding SCO, the 1.2 package: http://www.ostyn.com/standards/scorm/samples/ProddingSCOPackageSCORM1.2.zip
      2. Enable API debugging, including debugging at DEVELOPER level
      3. Attend to it as a student using FF cleaning its cache first - Note: CR has sometime issues with giving the right room to visualize the SCO in the Moodle player - , the prodding SCO will appear. Select the Scripted test tab and run - i.e. press Play after copying - the script below:

        LMSInitialize("")
         
        // Could be: 0, 10, 100.
        LMSSetValue("cmi.core.score.raw","10")
        // Could be: incomplete, completed, failed, passed.
        LMSSetValue("cmi.core.lesson_status","completed")
         
        LMSFinish("")
        

      4. Ensure that everything is fine e.g. no debugging messages on the API logging windows; then go to the Activity logs
      5. Check for the scoreraw_submitted and status_submitted event being there and properly populated with correct details, with the event name linked to the user tracking report for that attempt.
      6. Re-enter with the same student, and submit a new Scripted test:
        1. changing "10" with "0" and then with "100"
        2. changing "completed" with "passed" and then with "failed". Even "incomplete" but the expected result will change: no related Submitted SCORM status will be recorded
        3. starting a new attempt - or deleting the current one(s) - and applying the script with the permutations above

      If you want to extend the test with SCORM 2004, download the SCORM 2004 package and use the Scripted test below, expecting now two status_submitted events:

      Initialize("")
       
      // Could be: 0, 10, 100.
      SetValue("cmi.score.raw","10")
      // Could be: incomplete, completed.
      SetValue("cmi.completion_status","completed")
      // Could be: passed, failed.
      SetValue("cmi.success_status","passed")
       
      Terminate("")
      

      Show
      (difficulty: easy, requires teacher access to a course) Add a new SCORM activity using the Prodding SCO , the 1.2 package: http://www.ostyn.com/standards/scorm/samples/ProddingSCOPackageSCORM1.2.zip Enable API debugging, including debugging at DEVELOPER level Attend to it as a student using FF cleaning its cache first - Note: CR has sometime issues with giving the right room to visualize the SCO in the Moodle player - , the prodding SCO will appear. Select the Scripted test tab and run - i.e. press Play after copying - the script below: LMSInitialize("")   // Could be: 0, 10, 100. LMSSetValue("cmi.core.score.raw","10") // Could be: incomplete, completed, failed, passed. LMSSetValue("cmi.core.lesson_status","completed")   LMSFinish("") Ensure that everything is fine e.g. no debugging messages on the API logging windows; then go to the Activity logs Check for the scoreraw_submitted and status_submitted event being there and properly populated with correct details, with the event name linked to the user tracking report for that attempt. Re-enter with the same student, and submit a new Scripted test : changing "10" with "0" and then with "100" changing "completed" with "passed" and then with "failed" . Even "incomplete" but the expected result will change: no related Submitted SCORM status will be recorded starting a new attempt - or deleting the current one(s) - and applying the script with the permutations above If you want to extend the test with SCORM 2004, download the SCORM 2004 package and use the Scripted test below, expecting now two status_submitted events: Initialize("")   // Could be: 0, 10, 100. SetValue("cmi.score.raw","10") // Could be: incomplete, completed. SetValue("cmi.completion_status","completed") // Could be: passed, failed. SetValue("cmi.success_status","passed")   Terminate("")
    • Affected Branches:
      MOODLE_27_STABLE, MOODLE_31_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      m31_MDL-48680_Add_Score_Status_Events

      Description

      It would be great if Moodle could fire an event whenever a SCORM activity was scored, completed (or passed). This would be similar to the already existing "attempt_submitted" trigger in the quiz module.

      This should be a quick add (will provide a patch/unified diff), and seems to be low risk.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  23/May/16