Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Report builder API

From MoodleDocs

Report Builder API overview

System Reports

Introduction

Column

Column types

Creating columns

Filter

Filter types

  • Text (reportbuilder/classes/local/filters/text.php)
  • Date (reportbuilder/classes/local/filters/date.php)
  • Number (reportbuilder/classes/local/filters/number.php)
  • Boolean Select (reportbuilder/classes/local/filters/boolean_select.php)
  • Select (reportbuilder/classes/local/filters/select.php)
  • Course selector (reportbuilder/classes/local/filters/course_selector.php)

Creating filters

Entity

An Entity is a collection of elements where an element is a column or a filter. An entity is re-usable across many system reports and we can add only the entity columns or filters that we need on each report.

Create an entity

To create an entity, the new entity class must extend /reportbuilder/classes/local/entities/base.php class and must include these methods:

get_default _table_aliases() get_default_entity_title() get_default_entity_name() initialise() get_all_columns() get_all_filters()

get_default _table_aliases()

Defines the SQL alias for the database tables the entity uses.

get_default_entity_title()

Defines the default title for this entity.

get_default_entity_name()

Defines the default internal name for this entity that will be used to manage columns and filters.

initialise()

This is where we add the entity columns and filters.

get_all_columns() and get_all_filters()

This is where we define the entity columns and filters.

Examples

Report Builder has two entities as an example to start building reports:

User entity: reportbuilder/classes/local/entities/user.php
Course entity: reportbuilder/classes/local/entities/course.php

Actions

System reports

Use an entity