1 This files describes API changes in /mod/* - activity modules,
2 information provided here is intended especially for developers.
7 required changes in code:
9 * define the capability mod/xxx:addinstance (and the corresponding lang string)
10 (unless your mod is a MOD_ARCHETYPE_SYSTEM).
11 * xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that
12 contains additional options for the file serving. The array should be re-passed
13 to send_stored_file().
15 * most resourcelib_embed_* functions are replaced with core_media_renderer;
16 for an example, see mod/resource/locallib.php, resource_display_embed()
18 optional - no changes needed:
20 * add support for handling course drag and drop types - functions
21 xxx_dndupload_register() and xxx_dndupload_handle($uploadinfo) see:
22 http://docs.moodle.org/dev/Implementing_Course_drag_and_drop_upload_support_in_a_module
24 * mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params.
29 required changes in code:
30 * fix missing parameter types in optional_param() and required_param()
31 * use new optional_param_array(), required_param_array() or clean_param_array() when dealing with array parameters
32 * textlib->asort() replaced by specialized collatorlib::asort()
33 * use new make_temp_directory() and make_cache_directory()
35 optional - no changes needed:
37 * mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params.
42 required changes in code:
43 * add new support for basic restore from 1.9
45 optional - no changes needed:
47 * mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params.
52 required changes in code:
53 * use new DML syntax everywhere
54 (http://docs.moodle.org/dev/DML_functions)
55 * use new DDL syntax in db/upgrade.php
56 (http://docs.moodle.org/dev/DDL_functions)
57 * replace defaults.php by settings.php and db/install.php
58 * replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php
59 * move post installation code from lib.php into db/install.php
60 * move uninstallation code from lib.php to db/uninstall.php
61 * new mandatory naming of intro and introformat table fields in module tables,
62 the presence of these fields is indicated in xxx_plugin_supports()
63 * completely rewrite file handling
64 (http://docs.moodle.org/dev/File_API)
65 * rewrite backup/restore
67 * rewrite trusttext support - new db table columns needed
68 * migrate all module features from mod_edit.php form to lib.php/modulename_supports() function
69 * implement new gradebook support (legacy 1.8.x grading not supported anymore)
70 * migrate custom resource module subtypes into separate modules,
71 necessary only for custom plugins in mod/resource/
72 * use new $PAGE and $OUTPUT instead of old weblib functions
73 * theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images,
74 move all images into new mod/xxx/pix/ directory and use new outputlib api
75 move module icon to mod/xxx/pix/icon.gif
76 old global $THEME is fully replaced by $OUTPUT
77 create plugin renderers
78 (http://docs.moodle.org/dev/Theme_changes_in_2.0)
79 * migrate all javascript new coding style using YUI3+YUI2
80 (http://docs.moodle.org/dev/JavaScript_usage_guide)
81 * remove '_utf8' from lang pack names, use new {a} syntax
82 * replace helps with new 'xxx_hlp' strings
83 * please note the $plugin->requires in version.php has to be bigger than 2010000000,
84 otherwise the plugin is marked as outdated and upgrade is interrupted
86 optional - no changes needed in older code:
87 * settingstree.php replaced by settings.php - just unset the $settings if you want to make custom part of settings admin tree
88 * support for new mforms editor element and embedded files
91 (http://docs.moodle.org/dev/Portfolio_API)
92 * course completion tracking support
93 * new navigation features
95 (http://docs.moodle.org/dev/Comments_2.0)
97 (http://docs.moodle.org/dev/Ratings_2.0)