Merge branch 'MDL-79610-main' of https://github.com/roland04/moodle
[moodle.git] / availability / upgrade.txt
blob87898eef25d1d24f80622220a8e46bb01eb55c71
1 This files describes API changes in /availability/*.
3 The information here is intended only for developers.
5 === 4.3 ===
6 * The `availability_info templatable` no longer exports 'showmore' information, and any component rendering avaialable_info
7   should handle showmore/showless behaviour by itself.
8   That means that 'showmorelink', 'hidden' and 'abbreviate' won't be exported for template in the root element neither its child items,
9   and `core_availability/availability_more` module has beed deprecated
11 === 4.2 ===
13 * The form for editing availability conditions now supports "private" conditions, that should not be shown
14   to users. If a "private" condition is selected (as determined by the condition plugin), the whole ruleset
15   will be forcibly set to "Hidden entirely if student doesn't meet the conditions".
16 * The group condition plugin will now treat any rule containing a group with a visibility setting other than
17   `visibility:ALL` as private.
19 === 4.0 ===
21 * Method render_core_availability_multiple_messages() is deprecated. Please use core_availability\\output\\multiple_messages
22   The new rendereable will produce output with a 'more' link when there is lots of availability information.
23 * There were existing restrictions on what condition plugins can do in the get_description
24   method (for example they mustn't call format_string), which were not well documented.
25   New functions description_cm_name(), description_format_string(), description_callback()
26   can be used so that condition plugins to behave correctly in all situations.
28 === 3.2 ===
30 * Condition plugins must replace the CSS selector "#fitem_id_availabilityconditionsjson" with ".availability-field".
31   This selector is often used in your plugin's yui/src/form/js/form.js file.
33 === 2.9 ===
35 * Condition plugins can now implement a new include_after_restore function to
36   indicate that they should be removed during the restore process. (This is
37   implemented so that group and grouping conditions are removed if groups are
38   not restored.)
40 === 2.8 ===
42 * There is a new API function in the info_module/info_section objects (and
43   related functions in internal API): get_user_list_sql. This returns SQL code
44   that does roughly the same as filter_user_list to return a list of users who
45   should be shown as having access to the module or section.
47 * Any third-party availability plugins which return true to
48   is_applied_to_user_lists (and therefore previously implemented
49   filter_user_list) should now also implement get_user_list_sql. If not
50   implemented, a debugging warning will occur when anybody calls
51   get_user_list_sql if the affected plugin is in use, and that user list will
52   not be filtered by the plugin.