This Epic is intended to support the Learning Analytics roadmap, specifically MDL-61806 Implement UI for creating and editing learning analytics models. However, there are other benefits for the Moodle community, as described below.
A general purpose reporting tool is one of the most commonly requested features in Moodle. A previous effort (MDL-30193) sought to integrate the Totara Report Builder into core. That effort was never completed. Meanwhile, development in Configurable Reports has continued, but has been slow to keep pace with new Moodle releases.
Either of these code bases could provide a good starting point for a built-in report tool. The analysis that follows is based on Configurable Reports, but the needs are similar whether or not this is the starting code base.
Configurable Reports provides both a form-based report creator and support for SQL reports. This carries some potential risks, addressed below. The form-based report tool is able to use the Moodle API to access the proper data elements, rather than relying on direct SQL which might return the wrong value (e.g. final grades). The necessary enhancements to the existing supported report structures are also addressed below and in attached issues.
Finally, Configurable Reports was originally a fork of Ad-Hoc Queries (customsql), a tool which is only available to administrators (whereas Configurable Reports allows reports to be made available based on Moodle roles and permissions). One feature of Ad-Hoc Queries that should be re-merged to Configurable Reports, however, is the ability to run a report on a schedule (e.g. off-peak hours) and archive it for immediate viewing on demand. This feature also allows reports to be sent to a distribution list via email. Again, security issues are addressed below.
The attached recommendations for enhancements are based on an analysis of existing core Moodle reports, as well as commonly used reports in the Ad-Hoc Queries Contributed Reports page (https://docs.moodle.org/en/ad-hoc_contributed_reports) and commonly asked questions on the Analytics and Reporting forum on moodle.org (https://moodle.org/mod/forum/view.php?id=8044).
Note that a previous analysis determined the following challenges to integrating Configurable Reports:
- It must be converted to an admin tool
- The underlying API should be rebuilt to do proper JOINS with tables and use existing APIs when possible
- A performance analysis must be implemented
- A plugin compatibility / API must be developed (so plugins can expose their data to the builder)
- The UX must be improved
- The current SQL queries option should be disabled by default (for security)
- According to Adrian and John analysis two years ago it would be better to just do something new following Totara approach
- Moodle for Workplace will implement a report builder (not sure about the plans for it, if its something meant for core as well or something to be delivered as an extra-value for paid subscriptions)
Some of these issues have already been noted below.