moodle/reportbuilder/UPGRADING.md
2024-11-01 14:29:15 +07:00

4.4 KiB

core_reportbuilder (subsystem) Upgrade notes

4.5+

Changed

  • The get_active_conditions method of the base report class has a new $checkavailable parameter to determine whether to check the returned conditions availability

    For more information see MDL-82809

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

  • 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 optional array $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