Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

reportbuilder/Work outline: Difference between revisions

From MoodleDocs
(Note about plan not to migrate this page to the new developer resources. See template for more info.)
 
Line 1: Line 1:
{{Template:WillNotMigrate}}
==Introduction==
==Introduction==
This page is a list of work required for the porting of the [[reportbuilder | Report Builder]] into Moodle.
This page is a list of work required for the porting of the [[reportbuilder | Report Builder]] into Moodle.

Latest revision as of 14:08, 24 June 2022


Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.


Introduction

This page is a list of work required for the porting of the Report Builder into Moodle.

Reasons for incorporating the report builder

Different options were considered for custom reports in Moodle and it was decided that integrating Totara's report builder into Moodle was the best option. Some of the reasons for this decision are as follows:

  • A lot of the community is already familiar with Totara's system.
  • Work on porting Totara's system to Moodle has been attempted by external developers.
  • The report builder interface is the most user friendly, with no need to create (or understand) SQL.
  • Users do not need to understand the database structure of Moodle to create appropriate reports.
  • General opinion is that Totara's report builder has a more Moodle feel compared to other solutions. (See MDL-30193 for comments)


To do list

This list has been arranged into roughly the order that they should be started / completed. These issues are all part of the "Integrate report builder into core" epic (MDL-30193).

Create and update reportbuilder unit and behat tests (MDL-45700)

  • Update Unit tests (Then keep them updated and passing throughout development)
  • Add behat tests

Structural changes to reportbuilder (MDL-45702)

  • Change namespace & Frankenstyle name
  • Use automatic class loading.
  • Fix existing classes
  • Work out what is commented out and why (git diff ~/git/totara/mod/scorm/rb_sources/rb_source_scorm.php mod/scorm/rb_sources/rb_source_scorm.php)
  • Fix warnings
  • Remove irrelevant totara data from:
    • main plugin
    • child classes
  • Totara_report_manager block needs to be included (or some other way for students and teachers needs to be found to access the reports).
  • Move language strings to plugin files
  • Fix navigation tree for viewing reports.
  • Change ‘Global settings’ to a more intuitive name

Replace calls to custom totara functions.(MDL-45703)

  • totara_set_notification()
  • file_postupdate_standard_editor() needs to be replaced (reportbuilder/general.php)
  • totara_feature_visable()
  • totara_get_manager()
  • Other yet undiscovered functions…

Update and create "sources" for the report builder. (MDL-45704)

  • Port over sources from Totara
  • Remove totara specific fields (diff between the database schemas in Totara and Moodle to see what fields to remove)
  • Remove totara specific functions
  • Add more classes to useful areas of Moodle (More than just SCORM).
    • Assign (submissions, summary, final grades)
    • Site log (exists in Totara, but need to upgrade to new log system)
    • Quiz
    • Forum
  • Make sure theses sources are indexed for performance

Formatting issues in the reportbuilder (MDL-45705)

  • Clean up formatting.
    • Fix capitalisations.
    • Doc blocks.
    • Comments.
    • multiple parameters on one line.
  • Possibly split up report forms - Not sure that they will get through all in one file.
  • Make a separate page for viewing the list of reports from creating reports
  • Move add button to the next row so that it’s clear that you already are adding a field

Update javascript for the reportbuilder (MDL-45706)

  • Disable javascript calls (currently jquery).
  • Create YUI/Moodle Table (Talk to Frontend)
  • reportbuilder/filters/ remove jquery from hierarchy.php if not the whole file.
  • reportbuilder/showhide.php remove jquery and replace with yui.

Create / update embedded reports (MDL-45707)

  • reportbuilder/embedded/ all files need to be reviewed to determine if they are useful / relevant.

Replace add_to_log calls to event classes. (MDL-45708)

  • update report
  • view report
  • dailyreport
  • delete
  • $type . ‘ report’ - reportbuilder/index.php line 56 (deletion of report)
  • new report
  • export report

Update cron functions to use the new cron system.(MDL-45709)

Other miscellaneous jobs.

  • accessibility check.
  • Review all code 50+ files, thousands of lines of code.
  • Finish Report Builder documentation
  • Investigate in detail the file totara/reportbuilder/db/install.php. This changes the database structure which I am sure that integrators would have some hard questions about.
  • Review reportbuilder/Totara_thoughts_on_integration