Creating Report Builder sources in Moodle 4

Re: Creating Report Builder sources in Moodle 4

David Carrillo-mit -
Antal besvarelser: 2
Core developers-ip assinga Moodle HQ-ip assinga Moodle Workplace team-ip assinga Peer reviewers-ip assinga Plugin developers-ip assinga Testers-ip assinga
Hi Eimantas,

Yes, it is possible to create report builder sources in the new Report Builder in LMS. Here you have the documentation for the new Report Builder https://docs.moodle.org/dev/Report_builder_API.

We are still in the process of adding the "Custom reports" section, but the process of adding new sources is very similar to the way it is in Moodle Workplace.
I svar til David Carrillo

Re: Creating Report Builder sources in Moodle 4

Onno Schuit-mit -
Hi David,

I've browsed through the Report builder API documentation, but I couldn't find any info on where to put your own source. My assumption would be: extend the correct report class (e.g. system_report) and put the code in file named after your own class, and put that file a local plugin. Is that correct?

Thanks,
Onno
I svar til Onno Schuit

Re: Creating Report Builder sources in Moodle 4

Dan Marsden-mit -
Core developers-ip assinga Particularly helpful Moodlers-ip assinga Peer reviewers-ip assinga Plugin developers-ip assinga Plugins guardians-ip assinga Testers-ip assinga Translators-ip assinga
maybe it might help to see an example in a plugin?
Entity file:
https://github.com/danmarsden/moodle-mod_attendance/blob/MOODLE_401_STABLE/classes/local/entities/attendance.php

Reportsource using that entity:
https://github.com/danmarsden/moodle-mod_attendance/blob/MOODLE_401_STABLE/classes/reportbuilder/datasource/attendance.php

those 2 classes (plus the language strings used in the new files) are the only things you need to create a new custom report.

basically your entities go in your plugin under classes/local/entities and your reportbuilder datasource goes in the classes/reportbuilder/datasource/ folder in your plugin.