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