Merge branch 'MDL-26408-master' of git://github.com/danpoltawski/moodle
[moodle.git] / mod / upgrade.txt
blobdaff6327e84b981fb4c039ba15e42ff0b574bd22
1 This files describes API changes in /mod/* - activity modules,
2 information provided here is intended especially for developers.
4 === 2.6 ===
6 * Modules using the question bank MUST now declare their use of it with the xxx_supports()
7   flag FEATURE_USES_QUESTIONS.
8 * xxx_get_types() module callback can now return subtypes that have
9   a custom help text set. Also instead of array it can now return
10   MOD_SUBTYPE_NO_CHILDREN. This is optional and still defaults to prior
11   behavior. See get_module_metadata() in course/lib.php for details.
13 === 2.5 ===
15 * support for 'mod/*' filters was removed
17 === 2.4 ===
19 new features:
21 * mod/xxx/adminlib.php may now include 'plugininfo_yoursubplugintype' class definition
22   used by plugin_manager; it is recommended to store extra admin settings classes in this file
24 optional - no changes needed:
26 * mod_lesson_renderer::header() now accepts an additional parameter $extrapagetitle
28 * mod/data/lib.php data_get_all_recordids() now has two new optional variables:  $selectdata and $params.
30 === 2.3 ===
32 required changes in code:
34 * define the capability mod/xxx:addinstance (and the corresponding lang string)
35   (unless your mod is a MOD_ARCHETYPE_SYSTEM).
36 * xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that
37   contains additional options for the file serving. The array should be re-passed
38   to send_stored_file().
40 * most resourcelib_embed_* functions are replaced with core_media_renderer;
41   for an example, see mod/resource/locallib.php, resource_display_embed()
43 optional - no changes needed:
45 * add support for handling course drag and drop types - functions
46   xxx_dndupload_register() and xxx_dndupload_handle($uploadinfo) see:
47   http://docs.moodle.org/dev/Implementing_Course_drag_and_drop_upload_support_in_a_module
49 === 2.2 ===
51 required changes in code:
52 * fix missing parameter types in optional_param() and required_param()
53 * use new optional_param_array(), required_param_array() or clean_param_array() when dealing with array parameters
54 * core_text::asort() replaced by specialized core_collator::asort()
55 * use new make_temp_directory() and make_cache_directory()
58 === 2.1 ===
60 required changes in code:
61 * add new support for basic restore from 1.9
64 === 2.0 ===
66 required changes in code:
67 * use new DML syntax everywhere
68   (http://docs.moodle.org/dev/DML_functions)
69 * use new DDL syntax in db/upgrade.php
70   (http://docs.moodle.org/dev/DDL_functions)
71 * replace defaults.php by settings.php and db/install.php
72 * replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php
73 * move post installation code from lib.php into db/install.php
74 * move uninstallation code from lib.php to db/uninstall.php
75 * new mandatory naming of intro and introformat table fields in module tables,
76   the presence of these fields is indicated in xxx_plugin_supports()
77 * completely rewrite file handling
78   (http://docs.moodle.org/dev/File_API)
79 * rewrite backup/restore
80   (not finished yet)
81 * rewrite trusttext support - new db table columns needed
82 * migrate all module features from mod_edit.php form to lib.php/modulename_supports() function
83 * implement new gradebook support (legacy 1.8.x grading not supported anymore)
84 * migrate custom resource module subtypes into separate modules,
85   necessary only for custom plugins in mod/resource/
86 * use new $PAGE and $OUTPUT instead of old weblib functions
87 * theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images,
88                  move all images into new mod/xxx/pix/ directory and use new outputlib api
89                  move module icon to mod/xxx/pix/icon.gif
90                  old global $THEME is fully replaced by $OUTPUT
91                  create plugin renderers
92   (http://docs.moodle.org/dev/Theme_changes_in_2.0)
93 * migrate all javascript new coding style using YUI3+YUI2
94   (http://docs.moodle.org/dev/JavaScript_usage_guide)
95 * remove '_utf8' from lang pack names, use new {a} syntax
96 * replace helps with new 'xxx_hlp' strings
97 * please note the $plugin->requires in version.php has to be bigger than 2010000000,
98   otherwise the plugin is marked as outdated and upgrade is interrupted
100 optional - no changes needed in older code:
101 * settingstree.php replaced by settings.php - just unset the $settings if you want to make custom part of settings admin tree
102 * support for new mforms editor element and embedded files
103   (not finished yet)
104 * portfolio support
105   (http://docs.moodle.org/dev/Portfolio_API)
106 * course completion tracking support
107 * new navigation features
108 * new comments API
109   (http://docs.moodle.org/dev/Comments_2.0)
110 * new ratings API
111   (http://docs.moodle.org/dev/Ratings_2.0)