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

SCORM bugs when it has three or more levels

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • 4.0.6, 4.1.1
    • 3.11.7, 3.11.10, 4.0 regressions, 4.0.1, 4.0.4
    • SCORM
    • MOODLE_311_STABLE, MOODLE_400_STABLE
    • MOODLE_400_STABLE, MOODLE_401_STABLE
    • MDL-74454-master
    • Easy
    • Hide

      Setup

      1. Log in as a teacher and go to a course.
      2. Activate edit mode
      3. Create a SCORM package activity
      4. Attach the SCORM package (In the attached files you have two test packages with different levels)
      5. Change Appearance -> Display package --> Current window
      6. Save changes

      Testing instructions

      1. Check the SCORM is displayed
      2. Navigate through the nodes and click on the side menu
      3. Check the selected node is displayed properly
      4. Edit the previous activity and change Appearance -> Display package --> Open learning object in a new window.
      5. Save changes.
      6. Check the SCORM is displayed
      7. Navigate through the nodes and click on the side menu
      8. Check the selected node is displayed properly
      Show
      Setup Log in as a teacher and go to a course. Activate edit mode Create a SCORM package activity Attach the SCORM package (In the attached files you have two test packages with different levels) Change Appearance -> Display package --> Current window Save changes Testing instructions Check the SCORM is displayed Navigate through the nodes and click on the side menu Check the selected node is displayed properly Edit the previous activity and change Appearance -> Display package --> Open learning object in a new window. Save changes. Check the SCORM is displayed Navigate through the nodes and click on the side menu Check the selected node is displayed properly

      Hi.

      Bugs have been detected and fixed in SCORM module 1.2 (module.js). Tested in Moodle versions 3.9, 3.11,  4.0.1 and in Edge/Firefox/Chrome.

      The problems were:

      • the impossibility to navigate using the navigation buttons when the SCORM had three or more levels.
      • As a consequence of the previous navigation problem, the scores of the activities located in the nodes involved were not stored correctly.
      • The navigation menu disappeared when the SCORM was opened in an external window.

      I speak in the past because we have already solved it. I attach the following files:

      • Two test SCORM with 4 and 7 levels and scored quizzes
        -Explanatory videos of the problem and the solution.
      • Solved module.JS file.

      I would like the responsible to test it to start passing it to GIT.

      Thanks in advance.

      Pablo.

       

      _________________________________________________________________________________________
      This is a more detailed description of the causes of those problems:

      First problem: When clicking on navigation buttons, the tree collapses which makes some of its nodes, the ones higher than two level, disappear from the view but also from the DOM. As the navigation is based, in part, on checking the existence of these elements and their "relatives" in DOM and, in part, in checking the value of scoes_nav stored properties for these elements, when trying to access them, in one place they exist and in another they do not and an error is generated.

      • Second problem: Some of the scoes_nav object properties that represent nodes that have siblings, do not have correctly assigned values for the prevsibling and nextsibling variables that store the previous and next sibling ID, respectively.  As the navigation functions are designed, with two levels there is no problem, but when adding a third level, clicking on the navigation buttons evaluates these properties. As they are not defined, the same function is called again, entering an infinite loop.
      • Third problem: The value of the variable that stores the active node, launch_sco is not updated when the functions scorm_next and scorm_next are called to define the state of the navigation buttons.
      • Fourth problem: When the scorm resource is set to display in an external window, when clicking on the navigation tree or navigation buttons, the tree simply disappears and navigation fails. This happens because in the connectPrereqCallback success function, the pagecontent variable is assigned a DOM element (page-content or content) that is not defined in the external window. The tree is added to this element when the page is reloaded when browsing. As it does not exist, the tree disappears and the corresponding error is thrown.

       

        1. 400_step1.png
          104 kB
          Safat Shahin
        2. 400_step3.1.png
          103 kB
          Safat Shahin
        3. 400_step3.png
          116 kB
          Safat Shahin
        4. 400_step6.png
          98 kB
          Safat Shahin
        5. 400_step8.1.png
          98 kB
          Safat Shahin
        6. 400_step8.png
          100 kB
          Safat Shahin
        7. 401_step1.png
          104 kB
          Safat Shahin
        8. 401_step3.1.png
          119 kB
          Safat Shahin
        9. 401_step3.png
          111 kB
          Safat Shahin
        10. 401_step6.png
          89 kB
          Safat Shahin
        11. 401_step8.1.png
          124 kB
          Safat Shahin
        12. 401_step8.png
          91 kB
          Safat Shahin
        13. master_step1.png
          110 kB
          Safat Shahin
        14. master_step3.1.png
          131 kB
          Safat Shahin
        15. master_step3.png
          121 kB
          Safat Shahin
        16. master_step6.png
          112 kB
          Safat Shahin
        17. master_step8.1.png
          98 kB
          Safat Shahin
        18. master_step8.png
          98 kB
          Safat Shahin
        19. module.js
          41 kB
          Pablo Amaya
        20. scorm_bugs.mkv
          11.60 MB
          Pablo Amaya
        21. scorm_solved.mkv
          8.30 MB
          Pablo Amaya

            pabloamaya Pablo Amaya
            pabloamaya Pablo Amaya
            Sara Arjona (@sarjona) Sara Arjona (@sarjona)
            Andrew Lyons Andrew Lyons
            Safat Shahin Safat Shahin
            Votes:
            7 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 hours, 5 minutes
                3h 5m

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