Commit | Line | Data |
---|---|---|
9c82ff2a | 1 | This files describes API changes in /mod/* - activity modules, |
2 | information provided here is intended especially for developers. | |
3 | ||
8fef061d MG |
4 | === 3.2 === |
5 | ||
6 | * Callback delete_course is deprecated and should be replaced with observer for event \core\event\course_content_deleted | |
d3932d2b JP |
7 | * update_module_button() and core_renderer::update_module_button() have been deprecated and should not be used anymore. |
8 | Activity modules should not add the edit module button, the link is already available in the Administration block. | |
9 | Themes can choose to display the link in the buttons row consistently for all module types. | |
8fef061d | 10 | |
88acc87d DM |
11 | === 3.1 === |
12 | ||
13 | * Old /mod/MODULENAME/pix/icon.gif and enrol/paypal/pix/icon.gif GIF icons have been removed. Please use pix_icon | |
14 | renderable instead. | |
9ca0420e MG |
15 | * Callback get_types() is deprecated, instead activity modules can define callback get_shortcuts(). |
16 | See source code for get_module_metadata(). | |
88acc87d | 17 | |
0b9fc18b JL |
18 | === 3.0 === |
19 | ||
01889f01 DM |
20 | * Dropped support for the $module in mod/xxx/version.php files (deprecated |
21 | since 2.7). All activity modules must use the $plugin syntax now. See | |
22 | https://docs.moodle.org/dev/version.php for details (MDL-43896). | |
731c2712 AA |
23 | * Modules using rating component must implement a callback mod_x_rating_can_see_item_ratings(). Refer |
24 | to mod_forum_rating_can_see_item_ratings() for example. | |
0b9fc18b | 25 | |
8164fad4 | 26 | === 2.9 === |
f7a84c63 | 27 | |
8164fad4 | 28 | * Added Grade to pass field to mod_form for activities that support grading. |
f7a84c63 DM |
29 | * The method moodleform_mod::add_intro_editor() used in mod_form.php form |
30 | definitions has been deprecated. Replace it with the new | |
31 | moodleform_mod::standard_intro_elements() method that takes the new site | |
32 | configuration requiremodintro into account (MDL-49101). | |
8164fad4 | 33 | |
061e6b28 | 34 | === 2.8 === |
35 | ||
36 | * Constant FEATURE_GROUPMEMBERSONLY is deprecated. Modules should remove this | |
37 | constant from their module_supports() API function. | |
38 | * $CFG->enablegroupmembersonly no longer exists. | |
39 | ||
59766233 JM |
40 | === 2.7 === |
41 | ||
42 | * modgrade form element has been redesigned and allows setting the maximum grade point higher than 100. | |
09027084 DM |
43 | * The usage of $module in mod/xxx/version.php files is now deprecated. Please use |
44 | $plugin instead. The support for the legacy notation will be dropped in Moodle 2.10. | |
b2b4ec30 RT |
45 | * xxx_get_view_actions() and xxx_get_post_actions() will be ignored by new logging system for |
46 | participation report. view_action and post_action will be detected by event's crud and edulevel. | |
70279746 MN |
47 | * The functions xxx_user_outline() and xxx_user_complete() have been removed from the majority of core modules (see MDL-41286), |
48 | except for those that require unique functionality. These functions are used by the outline report, but now if they no longer | |
49 | exist, the default behaviour is chosen, which supports the legacy and standard log storages introduced in 2.7 (see MDL-41266). | |
50 | It is highly recommended you remove these functions from your module if they are simply performing the default behaviour. | |
59766233 | 51 | |
50ae8814 MN |
52 | === 2.6 === |
53 | ||
b07ef13b DP |
54 | * Modules using the question bank MUST now declare their use of it with the xxx_supports() |
55 | flag FEATURE_USES_QUESTIONS. | |
50ae8814 MN |
56 | * xxx_get_types() module callback can now return subtypes that have |
57 | a custom help text set. Also instead of array it can now return | |
58 | MOD_SUBTYPE_NO_CHILDREN. This is optional and still defaults to prior | |
59 | behavior. See get_module_metadata() in course/lib.php for details. | |
fb032ccb DP |
60 | * shift_course_mod_dates() has been modified to accept optional mod instance id. If mod instance id is passed then |
61 | dates changed will happen only on specific module instance and not on all instances of that module in course. | |
9c82ff2a | 62 | |
0662bd67 PS |
63 | === 2.5 === |
64 | ||
65 | * support for 'mod/*' filters was removed | |
66 | ||
7d59d8da PS |
67 | === 2.4 === |
68 | ||
69 | new features: | |
70 | ||
71 | * mod/xxx/adminlib.php may now include 'plugininfo_yoursubplugintype' class definition | |
72 | used by plugin_manager; it is recommended to store extra admin settings classes in this file | |
76fb0443 | 73 | |
27affa26 AA |
74 | optional - no changes needed: |
75 | ||
76 | * mod_lesson_renderer::header() now accepts an additional parameter $extrapagetitle | |
7d59d8da | 77 | |
76fb0443 AG |
78 | * mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params. |
79 | ||
0f0c0228 TH |
80 | === 2.3 === |
81 | ||
82 | required changes in code: | |
daefd6eb | 83 | |
0f0c0228 TH |
84 | * define the capability mod/xxx:addinstance (and the corresponding lang string) |
85 | (unless your mod is a MOD_ARCHETYPE_SYSTEM). | |
261cbbac DM |
86 | * xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that |
87 | contains additional options for the file serving. The array should be re-passed | |
88 | to send_stored_file(). | |
0f0c0228 | 89 | |
daefd6eb | 90 | * most resourcelib_embed_* functions are replaced with core_media_renderer; |
91 | for an example, see mod/resource/locallib.php, resource_display_embed() | |
92 | ||
652cc648 DS |
93 | optional - no changes needed: |
94 | ||
95 | * add support for handling course drag and drop types - functions | |
96 | xxx_dndupload_register() and xxx_dndupload_handle($uploadinfo) see: | |
97 | http://docs.moodle.org/dev/Implementing_Course_drag_and_drop_upload_support_in_a_module | |
0f0c0228 | 98 | |
ee362526 PS |
99 | === 2.2 === |
100 | ||
101 | required changes in code: | |
102 | * fix missing parameter types in optional_param() and required_param() | |
103 | * use new optional_param_array(), required_param_array() or clean_param_array() when dealing with array parameters | |
2f1e464a | 104 | * core_text::asort() replaced by specialized core_collator::asort() |
ee362526 PS |
105 | * use new make_temp_directory() and make_cache_directory() |
106 | ||
107 | ||
108 | === 2.1 === | |
109 | ||
110 | required changes in code: | |
111 | * add new support for basic restore from 1.9 | |
112 | ||
113 | ||
114 | === 2.0 === | |
44f2977c | 115 | |
9c82ff2a | 116 | required changes in code: |
117 | * use new DML syntax everywhere | |
728ebac7 | 118 | (http://docs.moodle.org/dev/DML_functions) |
9c82ff2a | 119 | * use new DDL syntax in db/upgrade.php |
728ebac7 | 120 | (http://docs.moodle.org/dev/DDL_functions) |
9c82ff2a | 121 | * replace defaults.php by settings.php and db/install.php |
847400a7 | 122 | * replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php |
9cb56578 | 123 | * move post installation code from lib.php into db/install.php |
56f7ff74 | 124 | * move uninstallation code from lib.php to db/uninstall.php |
8026a943 PS |
125 | * new mandatory naming of intro and introformat table fields in module tables, |
126 | the presence of these fields is indicated in xxx_plugin_supports() | |
9c82ff2a | 127 | * completely rewrite file handling |
728ebac7 | 128 | (http://docs.moodle.org/dev/File_API) |
9c82ff2a | 129 | * rewrite backup/restore |
44f2977c | 130 | (not finished yet) |
9cb56578 PS |
131 | * rewrite trusttext support - new db table columns needed |
132 | * migrate all module features from mod_edit.php form to lib.php/modulename_supports() function | |
398a160d | 133 | * implement new gradebook support (legacy 1.8.x grading not supported anymore) |
44f2977c PS |
134 | * migrate custom resource module subtypes into separate modules, |
135 | necessary only for custom plugins in mod/resource/ | |
af34490a | 136 | * use new $PAGE and $OUTPUT instead of old weblib functions |
78946b9b PS |
137 | * theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images, |
138 | move all images into new mod/xxx/pix/ directory and use new outputlib api | |
139 | move module icon to mod/xxx/pix/icon.gif | |
cbcc9852 | 140 | old global $THEME is fully replaced by $OUTPUT |
8026a943 | 141 | create plugin renderers |
728ebac7 | 142 | (http://docs.moodle.org/dev/Theme_changes_in_2.0) |
b7534190 | 143 | * migrate all javascript new coding style using YUI3+YUI2 |
728ebac7 | 144 | (http://docs.moodle.org/dev/JavaScript_usage_guide) |
2b0e098e PS |
145 | * remove '_utf8' from lang pack names, use new {a} syntax |
146 | * replace helps with new 'xxx_hlp' strings | |
7070ca36 | 147 | * please note the $plugin->requires in version.php has to be bigger than 2010000000, |
dae88219 | 148 | otherwise the plugin is marked as outdated and upgrade is interrupted |
9c82ff2a | 149 | |
150 | optional - no changes needed in older code: | |
dbf9e4ba | 151 | * settingstree.php replaced by settings.php - just unset the $settings if you want to make custom part of settings admin tree |
ff3ad2d9 PS |
152 | * support for new mforms editor element and embedded files |
153 | (not finished yet) | |
9c82ff2a | 154 | * portfolio support |
728ebac7 | 155 | (http://docs.moodle.org/dev/Portfolio_API) |
9c82ff2a | 156 | * course completion tracking support |
8026a943 PS |
157 | * new navigation features |
158 | * new comments API | |
728ebac7 | 159 | (http://docs.moodle.org/dev/Comments_2.0) |
8026a943 | 160 | * new ratings API |
728ebac7 | 161 | (http://docs.moodle.org/dev/Ratings_2.0) |
9c82ff2a | 162 |