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

Improve the status / performance / security check reports to render incrementally

    • MDL-79127-stream-check-reports
    • Hide

      1) Temp hack this file to simulate each check being slightly slow

      diff --git a/lib/classes/check/table.php b/lib/classes/check/table.php
      index 8e459428bd4..a979662448a 100644
      --- a/lib/classes/check/table.php
      +++ b/lib/classes/check/table.php
      @@ -164,6 +164,8 @@ class table implements \renderable {
            */
           public function run_checks($output) {
               foreach ($this->checks as $check) {
      +
      +sleep(1);
                   $ref = $check->get_ref();
                   $id = 'row_' . $ref;
                   $result = $check->get_result();
      

      2) Visit report/status/index.php

      3)  Confirm that the page is fully rendered with the footer immediately

      4) Confirm that as each check is run it updates the table with its status and details

      5) Drill down into the details of a check eg  Tasks max fail delay report/status/index.php?detail=tool_task_maxfaildelay

      6) Confirm that the layout of the table does not substantially change (ie no re-layout jank) as it is progressively filled with content

      7) Confirm that the check details section under the table it also loaded

      Show
      1) Temp hack this file to simulate each check being slightly slow diff --git a/lib/classes/check/table.php b/lib/classes/check/table.php index 8e459428bd4..a979662448a 100644 --- a/lib/classes/check/table.php +++ b/lib/classes/check/table.php @@ -164,6 +164,8 @@ class table implements \renderable {       */      public function run_checks($output) {          foreach ($this->checks as $check) { + +sleep(1);              $ref = $check->get_ref();              $id = 'row_' . $ref;              $result = $check->get_result(); 2) Visit report/status/index.php 3)   Confirm that the page is fully rendered with the footer immediately 4)  Confirm that as each check is run it updates the table with its status and details 5) Drill down into the details of a check eg  Tasks max fail delay report/status/index.php?detail=tool_task_maxfaildelay 6)  Confirm that the layout of the table does not substantially change (ie no re-layout jank) as it is progressively filled with content 7)  Confirm that the check details section under the table it also loaded
    • Hide

      Code verified against automated checks.

      Checked MDL-79127 using repository: https://github.com/brendanheywood/moodle

      More information about this report

      Built on: Tue Feb 11 05:36:32 AM UTC 2025

      Show
      Code verified against automated checks. Checked MDL-79127 using repository: https://github.com/brendanheywood/moodle main (0 errors / 0 warnings) [branch: MDL-79127-stream-check-reports | CI Job ] More information about this report Built on: Tue Feb 11 05:36:32 AM UTC 2025

      The various check report pages can take a long time to render. Proposing to make this render the whole page first and then update each check as it finishes so we have a progressive and nicer experience for people using the reports.

            brendanheywood Brendan Heywood
            brendanheywood Brendan Heywood
            Daniel Ziegenberg Daniel Ziegenberg
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

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