-
Epic
-
Resolution: Done
-
Minor
-
None
-
3.5
-
MOODLE_35_STABLE
-
Custom Reports
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.
- has a non-specific relationship to
-
MDL-45702 Make structual changes to the reportbuilder
- Closed
-
MDL-45703 Replace calls to custom totara functions in the report builder.
- Closed
-
MDL-45704 Create and update report builder "sources"
- Closed
-
MDL-45705 Fix up formatting issues in the report builder
- Closed
-
MDL-45706 Update javascript for the report builder.
- Closed
-
MDL-45707 Create / update embedded reports in the report builder
- Closed
-
MDL-45708 Replace add_to_log calls to event classes in the report builder.
- Closed
-
MDL-45709 Update cron function in the report builder to use the new cron system.
- Closed
- has been marked as being related by
-
MDL-57893 Course Activity Report: Add trend chart
- Closed
-
MDL-63233 MUA customizable report builder proposal
- Closed
-
MDL-50951 POLICY: Accepting new plugins into Moodle and removing unpopular ones
- Closed
- will be (partly) resolved by
-
MDL-70343 Integrate Moodle Workplace Report builder for Moodle 4.0
- Closed
- will help resolve
-
MDL-62166 Project Inspire Phase II proposal
- Closed
-
MDL-18323 interface for creating custom reports
- Closed
-
MDL-35552 Item Analysis of Advanced Grading Methods
- Closed
-
MDL-46410 Event monitor: Implement a notification sent history report
- Closed
-
MDL-8 Forum: Report for analysis of discussions
- Closed
-
MDL-46566 Clone the Netspot's history report
- Closed
-
MDL-39347 Select several activities that I would like to create reports from the course logs
- Closed
-
MDL-40941 Advanced Reporting
- Closed
-
MDL-46581 Add Course size, Backup size and Private files size reports
- Closed
-
MDL-56663 Notify the site administrator about attempts to use the app in sites without mobile services enabled
- Closed
-
MDL-58509 Report to show key dates server-wide (e.g. quiz close, assignment due) to help admins plan
- Closed