-
New
get_deprecated_tables
method in base entity, to be overridden when an entity no longer uses a table (due to column/filter re-factoring, etc) in order to avoid breaking third-party reportsFor more information see MDL-78118
-
The
get_active_conditions
method of the base report class has a new$checkavailable
parameter to determine whether to check the returned conditions availabilityFor more information see MDL-82809
-
The following deprecated report entity elements have been removed:
comment:context
comment:contexturl
enrolment:method
(plus enrolment formatterenrolment_name
method)- 'enrolment:role`
file:context
file:contexturl
instance:context
(tag)instance:contexturl
(tag)
Use of the
context
table is also deprecated in thefile
andinstance
(tag) entitiesFor more information see MDL-78118
-
Final removal of support for
get_default_table_aliases
method. Entities must now implementget_default_tables
, which is now abstract, to define the tables they useFor more information see MDL-80430
-
The return type of the
set_checkbox_toggleall
callback, defined by system reports, can now be null. Use if the checkbox should not be shown for the row.For more information see MDL-52046
-
System reports now support native entity column aggregation via each columns
set_aggregation()
methodFor more information see MDL-76392
-
The following external methods now return tags data relevant to each custom report:
core_reportbuilder_list_reports
core_reportbuilder_retrieve_report
For more information see MDL-81433
-
Added a new database helper method
sql_replace_parameters
to help ensure uniqueness of parameters within a SQL expression.For more information see MDL-81434
-
A new static method,
\core_reportbuilder\local\helpers\format::format_time()
, has been added for use in column callbacks that represent a duration of time (for example "3 days 4 hours").For more information see MDL-82466
-
The following methods have been moved from
\core_reportbuilder\datasource
class to its parent class\core_reportbuilder\base
to make them available for use in system reports:add_columns_from_entity()
add_filters_from_entity()
report_element_search()
For more information see MDL-82529
-
In order to better support float values in filter forms, the following filter types now cast given SQL prior to comparison:
duration
filesize
number
For more information see MDL-81168
-
The base datasource
\core_reportbuilder\datasource::add_all_from_entities()
method accepts a new optionalarray $entitynames
parameter to specify which entities to add elements from.For more information see MDL-81330
-
All time-related code has been updated to the PSR-20 Clock interface, as such the following methods no longer accept a
$timenow
parameter (instead please use\core\clock
dependency injection):core_reportbuilder_generator::create_schedule
core_reportbuilder\local\helpers\schedule::create_schedule()
core_reportbuilder\local\helpers\schedule::calculate_next_send_time()
For more information see MDL-82041
-
The following classes have been moved to use the new exception API as a L2 namespace:
Old class New class \core_reportbuilder\report_access_exception
\core_reportbuilder\exception\report_access_exception
\core_reportbuilder\source_invalid_exception
\core_reportbuilder\exception\source_invalid_exception
\core_reportbuilder\source_unavailable_exception
\core_reportbuilder\exception\source_unavailable_exception
For more information see MDL-82133
-
Support for the following entity classes, renamed since 4.1, have now been removed completely:
\core_admin\local\entities\task_log
\core_cohort\local\entities\cohort
\core_cohort\local\entities\cohort_member
\core_course\local\entities\course_category
\report_configlog\local\entities\config_change
For more information see MDL-74583
-
The following previously deprecated local helper methods have been removed and can no longer be used:
\core_reportbuilder\local\helpers\audience::get_all_audiences_menu_types()
\core_reportbuilder\local\helpers\report::get_available_columns()
For more information see MDL-76690