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