Merge branch 'MDL-74064-master' of https://github.com/HuongNV13/moodle
[moodle.git] / report / upgrade.txt
blob7cb53b41a19a8811592a828087a69bf3730c3035
1 This files describes API changes in /report/* - plugins,
2 information provided here is intended especially for developers.
4 === 4.0 ===
6 * The method report_helper::save_selected_report() has been been deprecated because it is no longer used.
8 === 3.11 ===
10 * The new report plugin's can have drop down, which can be included by calling static
11   methods save_selected_report and print_report_selector in lib/classes/report_helper.php.
12   The save_selected_report helps to remember the most recently accessed report plugin.
13   print_report_selector would help to show the dropdown, on the report page. Make sure
14   to call print_report_selector after the header is printed/echoed.
16 === 3.6 ===
18 * The final deprecation of xxx_delete_course callback means that this function will no longer be called.
19   Please use the observer for event \core\event\course_content_deleted instead.
21 === 3.2 ===
22 * Callback delete_course is deprecated and should be replaced with observer for event \core\event\course_content_deleted
23 * The report_log_print_graph signature and behaviour has changed to generate charts using
24   the new Chart API. The third argument has been renamed to $typeormode and it accepts
25   the type (usercourse.png, userday.png) or the mode (today, all).
27 === 2.7 ===
28 * How to migrate reports accessing table 'log':
29   http://docs.moodle.org/dev/Migrating_log_access_in_reports
30 * All reports that use logstores must implement a callback report_reportname_supports_logstore($storeinstance) in lib.php of the
31   report. Refer MDL-44596 for details.
33 === 2.2 ===
35 API changes:
36 * reports were moved from /admin/report/ to /report/
37 * new support for report settings
40 How to migrate existing admin reports:
41 # move all files to new /report/yourplugin/ location
42 # if settings.php exists add $settings=null;
43 # if settings.php does not exist create it and link the report, index.php is not linked automatically any more
44 # update require('../../config.php'); - remove one ../
45 # update all others includes and requires
46 # update all links to report pages by removing /admin/ or /$CFG->admin/
47 # add language pack with at least 'pluginname' string
48 # update CSS selectors
50 How to migrate existing course reports (optional):
51 # move all files to new /report/yourplugin/ location
52 # update require('../../config.php'); - remove one ../
53 # update all others includes and requires
54 # update all links to report pages by removing /course/ part
55 # update all language strings (use 'report_yourplugin' instead of 'coursereport_yourplugin') - use AMOS hints in commit message
56 # update all capability names
57 # grep the plugin codebase and look for any remaining 'coursereport' occurrences
58 # add new navigation hooks in lib.php - ex: report_stats_extend_navigation_course(), report_stats_extend_navigation_user()
59 # add new page types in lib.php
60 # create db/install.php migration script - delete old settings and capabilities (see converted plugins for examples)
61 # update CSS selectors
63 See http://docs.moodle.org/dev/General_report_plugins for more details and explanation.