Merge branch 'w18_MDL-26028_m23_xsendfile' of git://github.com/skodak/moodle
[moodle.git] / mod / upgrade.txt
blob3419e8200a74364e86ba9ec195f56ca7cbc58918
1 This files describes API changes in /mod/* - activity modules,
2 information provided here is intended especially for developers.
5 === 2.3 ===
7 required changes in code:
8 * define the capability mod/xxx:addinstance (and the corresponding lang string)
9   (unless your mod is a MOD_ARCHETYPE_SYSTEM).
10 * xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that
11   contains additional options for the file serving. The array should be re-passed
12   to send_stored_file().
15 === 2.2 ===
17 required changes in code:
18 * fix missing parameter types in optional_param() and required_param()
19 * use new optional_param_array(), required_param_array() or clean_param_array() when dealing with array parameters
20 * textlib->asort() replaced by specialized collatorlib::asort()
21 * use new make_temp_directory() and make_cache_directory()
24 === 2.1 ===
26 required changes in code:
27 * add new support for basic restore from 1.9
30 === 2.0 ===
32 required changes in code:
33 * use new DML syntax everywhere
34   (http://docs.moodle.org/dev/DML_functions)
35 * use new DDL syntax in db/upgrade.php
36   (http://docs.moodle.org/dev/DDL_functions)
37 * replace defaults.php by settings.php and db/install.php
38 * replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php
39 * move post installation code from lib.php into db/install.php
40 * move uninstallation code from lib.php to db/uninstall.php
41 * new mandatory naming of intro and introformat table fields in module tables,
42   the presence of these fields is indicated in xxx_plugin_supports()
43 * completely rewrite file handling
44   (http://docs.moodle.org/dev/File_API)
45 * rewrite backup/restore
46   (not finished yet)
47 * rewrite trusttext support - new db table columns needed
48 * migrate all module features from mod_edit.php form to lib.php/modulename_supports() function
49 * implement new gradebook support (legacy 1.8.x grading not supported anymore)
50 * migrate custom resource module subtypes into separate modules,
51   necessary only for custom plugins in mod/resource/
52 * use new $PAGE and $OUTPUT instead of old weblib functions
53 * theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images,
54                  move all images into new mod/xxx/pix/ directory and use new outputlib api
55                  move module icon to mod/xxx/pix/icon.gif
56                  old global $THEME is fully replaced by $OUTPUT
57                  create plugin renderers
58   (http://docs.moodle.org/dev/Theme_changes_in_2.0)
59 * migrate all javascript new coding style using YUI3+YUI2
60   (http://docs.moodle.org/dev/JavaScript_usage_guide)
61 * remove '_utf8' from lang pack names, use new {a} syntax
62 * replace helps with new 'xxx_hlp' strings
63 * please note the $plugin->requires in version.php has to be bigger than 2010000000,
64   otherwise the plugin is marked as outdated and upgrade is interrupted
66 optional - no changes needed in older code:
67 * settingstree.php replaced by settings.php - just unset the $settings if you want to make custom part of settings admin tree
68 * support for new mforms editor element and embedded files
69   (not finished yet)
70 * portfolio support
71   (http://docs.moodle.org/dev/Portfolio_API)
72 * course completion tracking support
73 * new navigation features
74 * new comments API
75   (http://docs.moodle.org/dev/Comments_2.0)
76 * new ratings API
77   (http://docs.moodle.org/dev/Ratings_2.0)