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

Don't refresh SCORM nav when nav display is disabled

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.7.18, 2.9.9, 3.0.8, 3.1.4, 3.2.1
    • Fix Version/s: 3.1.5, 3.2.2
    • Component/s: SCORM
    • Testing Instructions:
      Hide
      1. Create a course.
      2. Upload the ProddingSCOPackageSCORM1.2.zip SCORM file as a new SCORM page
        1. Set Display course structure in player to Disabled
      3. Load up the SCORM object and open the "Scripted test" tab
      4. Paste the following into the Automated script field:
        LMSInitialize("")
        LMSCommit("")
        
      5. Inspect the page, open the network tab, and clear the history
      6. Press Play
        1. Confirm that there was one XHR request to datamodel.php
        2. Confirm that there was NO XHR request to prereqs.php
      7. Update the SCORM module settings, changing Display course structure in player to any option other than Disabled.
      8. Repeat the testing
        1. Confirm that there was one XHR request to datamodel.php
        2. Confirm that there were ONE an XHR request to prereqs.php
      Show
      Create a course. Upload the ProddingSCOPackageSCORM1.2.zip SCORM file as a new SCORM page Set Display course structure in player to Disabled Load up the SCORM object and open the "Scripted test" tab Paste the following into the Automated script field: LMSInitialize("") LMSCommit("") Inspect the page, open the network tab, and clear the history Press Play Confirm that there was one XHR request to datamodel.php Confirm that there was NO XHR request to prereqs.php Update the SCORM module settings, changing Display course structure in player to any option other than Disabled . Repeat the testing Confirm that there was one XHR request to datamodel.php Confirm that there were ONE an XHR request to prereqs.php
    • Affected Branches:
      MOODLE_27_STABLE, MOODLE_29_STABLE, MOODLE_30_STABLE, MOODLE_31_STABLE, MOODLE_32_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE, MOODLE_32_STABLE
    • Pull 3.1 Branch:
      wip-MDL-57785-31
    • Pull 3.2 Branch:
      wip-MDL-57785-32
    • Pull Master Branch:
      wip-MDL-57785-master

      Description

      We have encountered some issues in switching high-volume sites with a lot of SCORM content onto AWS. LMSCommit() appears to refresh the SCORM nav menu every time, and the several DB calls inherent in this script cause the processes to stack up and CPU credits are quickly exhausted. In our testing, response times from prereqs.php were even longer than datamodel.php. Since most SCORM packages exported from authorware are not multi-sco, and especially since there should be no need to refresh the nav menu when it is not displayed, this improvement only calls prereqs.php to refresh the nav menu if the nav menu is displayed. On the client site where this patch is applied, this has cut the CPU load per LMSCommit() call roughly in half. I'm making the fix only for SCORM 1.2 since the 1.3 api appears not to call nav refresh within commit.

        Gliffy Diagrams

          Attachments

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  13/Mar/17