Creating Report Builder sources in Moodle 4

Creating Report Builder sources in Moodle 4

autor Eimantas Jakas -
Počet odpovedí: 3

Hi,

is it possible to create new report builder source? in Moodle Workplace developer can create report source but how about Moodle?

Priemer hodnotení : -
V odpovedi na Eimantas Jakas

Re: Creating Report Builder sources in Moodle 4

autor David Carrillo -
Obrázok: Core developers Obrázok: Moodle HQ Obrázok: Moodle Workplace team Obrázok: Peer reviewers Obrázok: Plugin developers Obrázok: Testers
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.
V odpovedi na David Carrillo

Re: Creating Report Builder sources in Moodle 4

autor Onno Schuit -
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
V odpovedi na Onno Schuit

Re: Creating Report Builder sources in Moodle 4

autor Dan Marsden -
Obrázok: Core developers Obrázok: Particularly helpful Moodlers Obrázok: Peer reviewers Obrázok: Plugin developers Obrázok: Plugins guardians Obrázok: Testers Obrázok: Translators
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.