Moodle
  1. Moodle
  2. MDL-14276

AJAX implementation for course view relies on HTML output

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.4, 1.8.4, 1.9, 2.0
    • Fix Version/s: 2.3
    • Component/s: AJAX and JavaScript, Course
    • Labels:
      None
    • Affected Branches:
      MOODLE_17_STABLE, MOODLE_18_STABLE, MOODLE_19_STABLE, MOODLE_20_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE
    • Rank:
      2027

      Description

      See lib/ajax/section_classes.js

      When AJAX is switched on (site and course level), the course view implementation is brittle and buggy. The script waits for the whole page to be loaded, then "repaints" elements like icons and drag handles. This is causing a number of user interface bugs (see linked issues), and males the javascript a pain to maintain.

      The proposed solution is to implement code that lets the course export its state (sections, resources, blocks) as JSON data, which YUI can then use to build the interface, independent of HTML output. This forces a branching in how the interfaces are designed, and may involve some duplication of code, but should resolve most of the interface bugs, and may improve the speed and usability (especially drag and drop).

        Issue Links

          Activity

          Hide
          Nicklas Lindgren added a comment -

          I don't agree that this will resolve the specific problems described in MDL-11539 / MDL-12198. The primary problem there is the discrepancy between the visual feedback provided in the browser and the actual changes performed in the server.

          Show
          Nicklas Lindgren added a comment - I don't agree that this will resolve the specific problems described in MDL-11539 / MDL-12198 . The primary problem there is the discrepancy between the visual feedback provided in the browser and the actual changes performed in the server.
          Hide
          Nicklas Lindgren added a comment -

          MDL-11746 is unrelated to AJAX.
          MDL-12625 (aka MDL-10880) has a solution.

          There are other aspects of the AJAX implementation i think is in more need of improvement (MDL-11675).

          Show
          Nicklas Lindgren added a comment - MDL-11746 is unrelated to AJAX. MDL-12625 (aka MDL-10880 ) has a solution. There are other aspects of the AJAX implementation i think is in more need of improvement ( MDL-11675 ).
          Hide
          Wen Hao Chuang added a comment -

          any update on this one? Just curious..

          Show
          Wen Hao Chuang added a comment - any update on this one? Just curious..
          Hide
          Dan Poltawski added a comment -

          In 2.3 this is much better, but still not perfect

          Show
          Dan Poltawski added a comment - In 2.3 this is much better, but still not perfect
          Hide
          Dan Poltawski added a comment -

          Closing this as fixed in 2.3 as I beleive we have got close as we are going to get for now. We should have more specific bugs for anything remaining.

          Show
          Dan Poltawski added a comment - Closing this as fixed in 2.3 as I beleive we have got close as we are going to get for now. We should have more specific bugs for anything remaining.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: