moodle/reportbuilder/UPGRADING.md
2024-08-16 08:37:50 +07:00

3.1 KiB

core_reportbuilder (subsystem) Upgrade notes

4.5dev+

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() method

    For 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

  • New format helper format_time method, for use in column callbacks that represent a duration of time (e.g. "3 days 4 hours")

    For more information see MDL-82466

  • Methods add_columns_from_entity(), add_filters_from_entity() and report_element_search() have been moved from \core_reportbuilder\datasource class to \core_reportbuilder\base class in order to be available also for system reports

    For more information see MDL-82529

Removed

  • The following previously deprecated local helper methods have been removed and can no longer be used:

    • audience::get_all_audiences_menu_types
    • report::get_available_columns

    For more information see MDL-76690

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 add_all_from_entities method accepts a new optional 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|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:

    • 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