6.4 KiB
core_reportbuilder (subsystem) Upgrade notes
5.0dev
Added
-
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 base aggregation class has a new
column_groupby
method, to be implemented in aggregation types to determime whether report tables should group by the fields of the aggregated columnFor more information see MDL-83361
-
There is a new
date
aggregation type, that can be applied in custom and system reportsFor more information see MDL-83361
-
The
core_reportbuilder_testcase
class has been moved to new autoloadedcore_reportbuilder\tests\core_reportbuilder_testcase
location, affected tests no longer have to manually require/reportbuilder/tests/helpers.php
For more information see MDL-84000
Changed
-
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
-
Report table instances no longer populate the
countsql
andcountparams
class properties. Instead calling code can accesstotalrows
to obtain the same value, rather than manually counting via the prior propertiesFor more information see MDL-83718
Removed
-
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
4.5
Added
-
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
Changed
-
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
Removed
-
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