Creating Report Builder sources in Moodle 4

Creating Report Builder sources in Moodle 4

Eimantas Jakas - келді
Number of replies: 3

Hi,

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

In reply to Eimantas Jakas

Re: Creating Report Builder sources in Moodle 4

David Carrillo - келді
Core developers қатысушының суреті Moodle HQ қатысушының суреті Moodle Workplace team қатысушының суреті Peer reviewers қатысушының суреті Plugin developers қатысушының суреті 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.
In reply to David Carrillo

Re: Creating Report Builder sources in Moodle 4

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
In reply to Onno Schuit

Re: Creating Report Builder sources in Moodle 4

Dan Marsden - келді
Core developers қатысушының суреті Particularly helpful Moodlers қатысушының суреті Peer reviewers қатысушының суреті Plugin developers қатысушының суреті Plugins guardians қатысушының суреті Testers қатысушының суреті 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.