MDL-65788 tool_policy: Prevent two modals rendering for guests.
[moodle.git] / blocks / upgrade.txt
1 This files describes API changes in /blocks/* - activity modules,
2 information provided here is intended especially for developers.
4 === 3.7 ===
5 * The block:addinstance capability is no longer required if the block can only be added to a dashboard.
7 === 3.6 ===
9 * The timeline view from block_myoverview has been split out into block_timeline.
10 * External function core_blocks::get_course_blocks now returns the block visible status and weight for ordering.
11 * New method added block_base::get_content_for_external(). It will return all the block contents rendered for external functions.
12   If your block is returning formatted content or provide files for download, you should override this method to use the
13   external_format_text, external_format_string functions for formatting or external_util::get_area_files for files.
14   See block_html as example.
15 * External functions core_block::get_course_blocks and core_block::get_dashboard_blocks have a new parameter to indicate if
16   you want to receive the block contents.
18 === 3.4 ===
20 * The block_instances table now contains fields timecreated and timemodified. If third-party code
21   creates or updates these rows (without using the standard API), it should be modified to set
22   these fields as appropriate.
23 * Blocks can now be included in Moodle global search, with some limitations (at present, the search
24   works only for blocks located directly on course pages or site home page). See the HTML block for
25   an example.
26 * Block block_messages is no longer a part of core.
28 === 3.3 ===
30 * block_manager::get_required_by_theme_block_types() is no longer static.
31 * The plugin block_course_overview has been removed from core and is being replaced by block_myoverview.
32   During the upgrade process the block_course_overview block will be uninstalled and all its settings will be deleted.
33   If you wish to keep the block_course_overview block and its settings, download it from moodle.org and put it back in
34   the blocks/ directory BEFORE UPGRADING.
36 === 3.1 ===
38 * The collapsed class was removed from the navigation block to make it compatible with aria.
39 * New aria attributes were added on the navigation block [aria-expanded="false"].
40 * The tree JS handling were moved from YUI to AMD module (Jquery).
42 === 2.9 ===
44 * The obsolete method preferred_width() was removed (it was not doing anything)
45 * Deprecated block_base::config_save as is not called anywhere and should not be used.
46 * Added instance_copy() function to the block_base class. This function allows for block
47   specific data to be copied when a block is copied.
49 === 2.8 ===
51 * The instance_config_print() function was removed. It was deprecated in
52   Moodle 2.0, but without debugging notices. Since it was no longer a part
53   of the code path, debugging notices would not have been displayed.
54 * Deprecated functions were removed from the block_base class:
55 ** _print_block()
56 ** _print_shadow()
57 ** _title_html()
58 ** _add_edit_controls()
59 ** config_print()
61 === 2.6 ===
63 * Deprecated /admin/block.php was removed, make sure blocks are using settings.php instead.
65 === 2.4 ===
67 Created new capability 'blocks/xxx:myaddinstance' that determines whether a user can add
68 a specific block to their My Home page. This capability was only defined for blocks where
69 the applicable_formats function does not include "'my' => false" in the returned array,
70 allowing it be added to the My Home page.
72 === 2.3 ===
74 required changes in code:
75 * block_xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that
76   contains additional options for the file serving. The array should be re-passed
77   to send_stored_file().
79 === 2.0 ===
81 required changes in code:
82 * use new DML syntax everywhere
83 * use new DDL syntax in db/upgrade.php
84 * replace defaults.php by settings.php and db/install.php
85 * replace STATEMENTS section in db/install.xml by db/install.php
86 * move post instalation code from install() method into db/install.php
87 * completely rewrite file handling
88 * rewrite backup/restore
89 * theme changes: move plugin styles into blocks/xxx/styles.css and use new css markers for images,
90                  move all images into new blocks/xxx/pix/ directory and use new outputlib api
91                  old global $THEME is fully replaced by $OUTPUT
92 * remove '_utf8' from language pack names, use new {$a} syntax in language packs
93 * use 'pluginname' lang pack identifier instead of 'blockname'
94 * move cron and version number into standard version.php
95 * removed support for old config_global.html, use settings.php