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

Add a 'maxperpage' site wide setting for mod/assign grading table size (to mitigate broken grading pages in large courses)

XMLWordPrintable

    • MOODLE_29_STABLE, MOODLE_30_STABLE
    • MOODLE_31_STABLE
    • MDL-52596-assign-maxperpage
    • Hide

      1) Create a test course with a large number of students > 100
      2) View the grading page of an assign, set the page size to all, confirm it still shows all
      3) Go to /admin/settings.php?section=modsettingassign and set the maxperpage setting to X eg 20
      4) Re-view the grading page of an assign, check that the 'All' option is no longer available in 'Assignments per page
      ' and that any options larger than X are no longer available. Also check that the current grading table is capped to X
      5) Go to /admin/settings.php?section=modsettingassign and set the maxperpage setting back to unlimited
      6) Re-view the grading page and see it has reverted to showing all, ie the users preference is still retailed

      Show
      1) Create a test course with a large number of students > 100 2) View the grading page of an assign, set the page size to all, confirm it still shows all 3) Go to /admin/settings.php?section=modsettingassign and set the maxperpage setting to X eg 20 4) Re-view the grading page of an assign, check that the 'All' option is no longer available in 'Assignments per page ' and that any options larger than X are no longer available. Also check that the current grading table is capped to X 5) Go to /admin/settings.php?section=modsettingassign and set the maxperpage setting back to unlimited 6) Re-view the grading page and see it has reverted to showing all, ie the users preference is still retailed

      We've run into this issue with a couple clients where users in course A with a small number of students view the assignment grading table and set their user preference to 'All' and then go to course B with say 2000 assignments, view the grading table which then times out.

      There will always be some functional limit given the server setup, eg in this particular clients setup somewhere around 800 assignments on one page is where it times out or explodes, but practically a limit of around 100-200 is better and returns in a couple seconds. Our simple solution is an optional site wide setting maxperpage. If this was set then the 'All' option in the dropdown would no longer be available to be chosen, and any page size options which are larger than the limit would also be removed, and additionally at runtime the perpage would be capped at maxperpage.

            brendanheywood Brendan Heywood
            brendanheywood Brendan Heywood
            Damyon Wiese Damyon Wiese
            David Monllaó David Monllaó
            Ryan Wyllie Ryan Wyllie
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

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