Merge branch 'MDL-78435' of https://github.com/paulholden/moodle
[moodle.git] / availability / upgrade.txt
blob2df60112297debe7bb5f4e96e06b46569b2a7b0e
1 This files describes API changes in /availability/*.
3 The information here is intended only for developers.
5 === 4.2 ===
7 * The form for editing availability conditions now supports "private" conditions, that should not be shown
8   to users. If a "private" condition is selected (as determined by the condition plugin), the whole ruleset
9   will be forcibly set to "Hidden entirely if student doesn't meet the conditions".
10 * The group condition plugin will now treat any rule containing a group with a visibility setting other than
11   `visibility:ALL` as private.
13 === 4.0 ===
15 * Method render_core_availability_multiple_messages() is deprecated. Please use core_availability\\output\\multiple_messages
16   The new rendereable will produce output with a 'more' link when there is lots of availability information.
17 * There were existing restrictions on what condition plugins can do in the get_description
18   method (for example they mustn't call format_string), which were not well documented.
19   New functions description_cm_name(), description_format_string(), description_callback()
20   can be used so that condition plugins to behave correctly in all situations.
22 === 3.2 ===
24 * Condition plugins must replace the CSS selector "#fitem_id_availabilityconditionsjson" with ".availability-field".
25   This selector is often used in your plugin's yui/src/form/js/form.js file.
27 === 2.9 ===
29 * Condition plugins can now implement a new include_after_restore function to
30   indicate that they should be removed during the restore process. (This is
31   implemented so that group and grouping conditions are removed if groups are
32   not restored.)
34 === 2.8 ===
36 * There is a new API function in the info_module/info_section objects (and
37   related functions in internal API): get_user_list_sql. This returns SQL code
38   that does roughly the same as filter_user_list to return a list of users who
39   should be shown as having access to the module or section.
41 * Any third-party availability plugins which return true to
42   is_applied_to_user_lists (and therefore previously implemented
43   filter_user_list) should now also implement get_user_list_sql. If not
44   implemented, a debugging warning will occur when anybody calls
45   get_user_list_sql if the affected plugin is in use, and that user list will
46   not be filtered by the plugin.