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

SCORM bugs when it has three or more levels

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • 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

    Description

      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.

       

      Attachments

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

        Issue Links

          Activity

            People

              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

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

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

                  Clockify

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