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

Allow masteryscore handling similar to Rustici Cloud

    XMLWordPrintable

    Details

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

      With the SCORM debugger enabled and the masteryoverride set to No
      Use a SCORM package that sets a "masteryscore" in the imsmanifest.xml
      Enter the SCORM package as a student and get a score lower than the masteryscore. Exit the SCORM package - make sure the lesson_status in the scorm debugger is set to "incomplete" on exit.
      Check the report for the attempt (track details) and make sure the lesson_status hasn't been changed to "passed" or "failed"

      Run the test case above using Diagnostic SCO for SCORM runtime by Claude Ostyn

      1. Set masteryoverride to No
      2. Download the Diagnostic SCO from here: http://www.ostyn.com/standards/scorm/samples/ProddingSCOPackageSCORM1.2.zip
      3. Expand the archive and open the imsmanifest.xml file
      4. Add the Mastery Score i.e change:

              <item identifier="ITEM1" identifierref="SCOPROD">
                <title>SCORM Diagnostic SCO</title>
              </item>
        

        to read:

              <item identifier="ITEM1" identifierref="SCOPROD">
                <title>SCORM Diagnostic SCO</title>
                <!-- Set a mastery score e.g. 50 -->
                <adlcp:masteryscore>50</adlcp:masteryscore>
              </item>
        

      5. Re-package the files to create a new archive now including a Mastery Score of 50
      6. Publish this package into a course as a SCORM Activity
      7. Attend to it as a Student, select the Scripted test tab and use the testing script below:

        LMSInitialize("")
        SetValue("cmi.core.lesson_status","incomplete")
        // Set a score lower than the Mastery Score above (50).
        SetValue("cmi.core.score.raw","20")
        // Mastery Score should normally change the status after the call to LMSFinish, here into 'failed'.
        LMSFinish("")
        

      8. Use 50 as Interval between calls and then press Play
      9. Check the SCORM report to read still 'incomplete' instead of the expected 'failed'
      10. Try to re-launch this Activity but use 80 as the value for cmi.core.score.raw
      11. Check the SCORM report to read still 'incomplete' instead of the expected 'passed'
      12. Repeat the steps above configuring masteryoverride to Yes (the default value): the expected result should be 'failed' as per the comment above and as per the expected BC behaviour
      Show
      With the SCORM debugger enabled and the masteryoverride set to No Use a SCORM package that sets a "masteryscore" in the imsmanifest.xml Enter the SCORM package as a student and get a score lower than the masteryscore. Exit the SCORM package - make sure the lesson_status in the scorm debugger is set to "incomplete" on exit. Check the report for the attempt (track details) and make sure the lesson_status hasn't been changed to "passed" or "failed" Run the test case above using Diagnostic SCO for SCORM runtime by Claude Ostyn Set masteryoverride to No Download the Diagnostic SCO from here : http://www.ostyn.com/standards/scorm/samples/ProddingSCOPackageSCORM1.2.zip Expand the archive and open the imsmanifest.xml file Add the Mastery Score i.e change: <item identifier="ITEM1" identifierref="SCOPROD"> <title>SCORM Diagnostic SCO</title> </item> to read: <item identifier="ITEM1" identifierref="SCOPROD"> <title>SCORM Diagnostic SCO</title> <!-- Set a mastery score e.g. 50 --> <adlcp:masteryscore>50</adlcp:masteryscore> </item> Re-package the files to create a new archive now including a Mastery Score of 50 Publish this package into a course as a SCORM Activity Attend to it as a Student, select the Scripted test tab and use the testing script below: LMSInitialize("") SetValue("cmi.core.lesson_status","incomplete") // Set a score lower than the Mastery Score above (50). SetValue("cmi.core.score.raw","20") // Mastery Score should normally change the status after the call to LMSFinish, here into 'failed'. LMSFinish("") Use 50 as Interval between calls and then press Play Check the SCORM report to read still 'incomplete' instead of the expected 'failed' Try to re-launch this Activity but use 80 as the value for cmi.core.score.raw Check the SCORM report to read still 'incomplete' instead of the expected 'passed' Repeat the steps above configuring masteryoverride to Yes (the default value): the expected result should be 'failed' as per the comment above and as per the expected BC behaviour
    • Affected Branches:
      MOODLE_29_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      master_MDL-50620

      Description

      It would be good to allow Moodle to operate similar to the Rustici Cloud when managing the masteryscore:

      http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/

      Moodle follows the "narrow" view mentioned on that post, we should add a setting that allows this to be controlled but we should leave the default behaviour to operate as-is so we don't run into the same mistake that Rustici did by switching the default to ignore the masteryscore.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

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