-
New Feature
-
Resolution: Fixed
-
Minor
-
4.0
-
MOODLE_400_STABLE
-
MOODLE_400_STABLE
-
-
WP 3.11 SP 1
Create all APIs, tests, documentation, examples to allow for the creation of system reports
For a pictorial overview of a system report please refer to reportbuilder_overview.pdf
Columns
Column instances define the data captured/displayed within a report column - typically:
- How the data is retrieved, either a simple SQL table.field fragment or an expression that returns a value
- They type of data that is being retrieved (int, text, datetime, etc)
- How that data should be presented in a report (for instance calling userdate() on datetime types)
Filters
Report filters can be defined for a report and allow users to narrow down (filter) the data that is displayed in a report
- They define the data being filtered, either a simple SQL fragment or expression
- The type of filtering being performed (int, text, datetime, etc)
Filter types are extendable, allowing for the addition of many more as suits each use case. We have provided common ones that cover most use cases
Note that filters & columns are entirely separate concepts in the report, and each can be used without a matching column/filter (that is to say, we can add a report filter for a user field without needing the column for the same field to be present in the report)
Entities
Entities are simply collections of report elements (currently columns and filters). They allow for common elements to be defined once, and then re-used in all reports - developers can choose to use as many or as few of the elements from each entity as required. We have provided user and course entities. They can be joined to reports using standard SQL query syntax
All report elements can be defined within the reports themselves - but entities mean it's much easier to create re-usable components, and will also help in the long term with custom reports
Actions
Report actions can be defined in system reports to provide CTA links for each row in the report. Using :placeholder elements in the action URLs allows them to be specific to the row content - e.g. to always provide a link to the current user/course of the current row
System reports
System reports are a consistent way of providing reporting data, with paging, filtering, exporting standardized across them. Once the groundwork is done in defining the report elements in entities, it's possible to implement them with minimal code just by adding entities to the report, and defining which elements you want to use from them
- blocks
-
MDL-71070 Convert configuration changes report to a system report
- Closed
-
MDL-71153 Convert task logs report to a system report
- Closed
- has a non-specific relationship to
-
MDL-72058 Remove HTML tags when exporting to Dataformats that don't support it
- Closed
-
MDL-26171 sql_fullname() should respect the system or language settings
- Closed
- has to be done before
-
MDL-72061 Actions should be shown in an Action menu instead of showing individually
- Closed
- is blocked by
-
MDL-64554 Add module for displaying moodleform in a modal window
- Closed