upgrade.txt 4.55 KB
Newer Older
1
2
3
This files describes API changes in /mod/* - activity modules,
information provided here is intended especially for developers.

4
5
=== 2.6 ===

6
7
* Modules using the question bank MUST now declare their use of it with the xxx_supports()
  flag FEATURE_USES_QUESTIONS.
8
9
10
11
* xxx_get_types() module callback can now return subtypes that have
  a custom help text set. Also instead of array it can now return
  MOD_SUBTYPE_NO_CHILDREN. This is optional and still defaults to prior
  behavior. See get_module_metadata() in course/lib.php for details.
12

13
14
15
16
=== 2.5 ===

* support for 'mod/*' filters was removed

17
18
19
20
21
22
=== 2.4 ===

new features:

* mod/xxx/adminlib.php may now include 'plugininfo_yoursubplugintype' class definition
  used by plugin_manager; it is recommended to store extra admin settings classes in this file
23

24
25
26
optional - no changes needed:

* mod_lesson_renderer::header() now accepts an additional parameter $extrapagetitle
27

28
29
* mod/data/lib.php data_get_all_recordids() now has two new optional variables:  $selectdata and $params.

30
31
32
=== 2.3 ===

required changes in code:
33

34
35
* define the capability mod/xxx:addinstance (and the corresponding lang string)
  (unless your mod is a MOD_ARCHETYPE_SYSTEM).
36
37
38
* xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that
  contains additional options for the file serving. The array should be re-passed
  to send_stored_file().
39

40
41
42
* most resourcelib_embed_* functions are replaced with core_media_renderer;
  for an example, see mod/resource/locallib.php, resource_display_embed()

43
44
45
46
47
optional - no changes needed:

* add support for handling course drag and drop types - functions
  xxx_dndupload_register() and xxx_dndupload_handle($uploadinfo) see:
  http://docs.moodle.org/dev/Implementing_Course_drag_and_drop_upload_support_in_a_module
48

49
50
51
52
53
=== 2.2 ===

required changes in code:
* fix missing parameter types in optional_param() and required_param()
* 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
56
57
58
59
60
61
62
63
64
* use new make_temp_directory() and make_cache_directory()


=== 2.1 ===

required changes in code:
* add new support for basic restore from 1.9


=== 2.0 ===
Petr Skoda's avatar
Petr Skoda committed
65

66
67
required changes in code:
* 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
Petr Skoda's avatar
Petr Skoda committed
72
* replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php
Petr Skoda's avatar
Petr Skoda committed
73
* move post installation code from lib.php into db/install.php
74
* move uninstallation code from lib.php to db/uninstall.php
Petr Skoda's avatar
Petr Skoda committed
75
76
* new mandatory naming of intro and introformat table fields in module tables,
  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
Petr Skoda's avatar
Petr Skoda committed
80
  (not finished yet)
Petr Skoda's avatar
Petr Skoda committed
81
82
* rewrite trusttext support - new db table columns needed
* 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)
Petr Skoda's avatar
Petr Skoda committed
84
85
* migrate custom resource module subtypes into separate modules,
  necessary only for custom plugins in mod/resource/
86
* use new $PAGE and $OUTPUT instead of old weblib functions
87
88
89
* theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images,
                 move all images into new mod/xxx/pix/ directory and use new outputlib api
                 move module icon to mod/xxx/pix/icon.gif
90
                 old global $THEME is fully replaced by $OUTPUT
Petr Skoda's avatar
Petr Skoda committed
91
                 create plugin renderers
92
  (http://docs.moodle.org/dev/Theme_changes_in_2.0)
Petr Skoda's avatar
Petr Skoda committed
93
* migrate all javascript new coding style using YUI3+YUI2
94
  (http://docs.moodle.org/dev/JavaScript_usage_guide)
Petr Skoda's avatar
Petr Skoda committed
95
96
* remove '_utf8' from lang pack names, use new {a} syntax
* replace helps with new 'xxx_hlp' strings
Petr Skoda's avatar
Petr Skoda committed
97
* please note the $plugin->requires in version.php has to be bigger than 2010000000,
Petr Skoda's avatar
Petr Skoda committed
98
  otherwise the plugin is marked as outdated and upgrade is interrupted
99
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
Petr Skoda's avatar
Petr Skoda committed
102
103
* support for new mforms editor element and embedded files
  (not finished yet)
104
* portfolio support
105
  (http://docs.moodle.org/dev/Portfolio_API)
106
* course completion tracking support
Petr Skoda's avatar
Petr Skoda committed
107
108
* new navigation features
* new comments API
109
  (http://docs.moodle.org/dev/Comments_2.0)
Petr Skoda's avatar
Petr Skoda committed
110
* new ratings API
111
  (http://docs.moodle.org/dev/Ratings_2.0)
112