Commit | Line | Data |
---|---|---|
690a55f6 | 1 | This files describes API changes in core libraries and APIs, |
ee362526 PS |
2 | information provided here is intended especially for developers. |
3 | ||
9a36be73 MG |
4 | === 2.5 === |
5 | ||
cedc656b EL |
6 | * The cron output has been changed to include time and memory usage (see cron_trace_time_and_memory()), |
7 | so any custom utility relying on the old output may require modification. | |
6b219310 DW |
8 | * Function get_max_file_sizes now returns an option for (for example) "Course limit (500MB)" or |
9 | "Site limit (200MB)" when appropriate with the option set to 0. This function no longer returns | |
10 | an option for 0 bytes. Existing code that was replacing the 0 option in the return | |
11 | from this function with a more sensible message, can now use the return from this function directly. | |
9a36be73 | 12 | * Functions responsible for output in course/lib.php are deprecated, the code is moved to |
b1c2fc65 MG |
13 | appropriate renderers: print_section(), print_section_add_menus(), get_print_section_cm_text(), |
14 | make_editing_buttons() | |
9a36be73 MG |
15 | See functions' phpdocs in lib/deprecatedlib.php |
16 | * Function get_print_section_cm_text() is deprecated, replaced with methods in cm_info | |
3cb856c7 PS |
17 | * zip_packer may create empty zip archives, there is a new option to ignore |
18 | problematic files when creating archive | |
93cc145f MN |
19 | * The function delete_course_module was deprecated and has been replaced with |
20 | course_delete_module. The reason for this was because the function delete_course_module | |
21 | only partially deletes data, so wherever it was called extra code was needed to | |
22 | perform the whole deletion process. The function course_delete_module now takes care | |
23 | of the whole process. | |
91c8cf99 F |
24 | * curl::setopt() does not accept constant values any more. As it never worked properly, |
25 | we decided to make the type check stricter. Now, the keys of the array pass must be a string | |
26 | corresponding to the curl constant name. | |
043f1005 RT |
27 | * Function get_users_listing now return list of users except guest and deleted users. Previously |
28 | deleted users were excluded by get_users_listing. As guest user is not expected while browsing users, | |
29 | and not included in get_user function, it will not be returned by get_users_listing. | |
1c14b1c1 DW |
30 | * The add_* functions in course/dnduploadlib.php have been deprecated. Plugins should be using the |
31 | MODNAME_dndupload_register callback instead. | |
690a55f6 DM |
32 | * The signature of the add() method of classes implementing the parentable_part_of_admin_tree |
33 | interface (such as admin_category) has been extended. The new parameter allows the caller | |
34 | to prepend the new node before an existing sibling in the admin tree. | |
87b6981e EL |
35 | * condition_info:get_condition_user_fields($formatoptions) now accepts the optional |
36 | param $formatoptions, that will determine if the field names are processed by | |
37 | format_string() with the passed options. | |
689096bc | 38 | * remove all references to $CFG->gdversion, GD PHP extension is now required |
b45ba7f6 DP |
39 | * Formslib will now throw a developer warning if a PARAM_ type hasn't been set for elements which |
40 | need it. Please set PARAM_RAW explicitly if you do not want any cleaning. | |
4e0b6025 | 41 | * Functions responsible for managing and accessing course categories are moved to class coursecat |
09ae7ee0 MG |
42 | in lib/coursecatlib.php, functions responsible for rendering courses and categories lists are |
43 | moved to course/renderer.php. The following global functions are deprecated: make_categories_list(), | |
6e1d1ee0 | 44 | category_delete_move(), category_delete_full(), move_category(), course_category_hide(), |
8db5dcb7 | 45 | course_category_show(), get_course_category(), create_course_category(), get_all_subcategories(), |
09ae7ee0 MG |
46 | get_child_categories(), get_categories(), print_my_moodle(), print_remote_course(), |
47 | print_remote_host(), print_whole_category_list(), print_category_info(), get_course_category_tree(), | |
48 | print_courses(), print_course(), get_category_courses_array(), get_category_courses_array_recursively(), | |
49 | get_courses_wmanagers() | |
50 | See http://docs.moodle.org/dev/Courses_lists_upgrade_to_2.5 | |
0e2ca62e | 51 | * $core_renderer->block_move_target() changed to support more verbose move-block-here descriptions. |
38c1dd19 RT |
52 | * Additional (optional) param $onlyactive has been added to get_enrolled_users, count_enrolled_users |
53 | functions to get information for only active (excluding suspended enrolments) users. Included two | |
54 | helper functions extract_suspended_users, get_suspended_userids to extract suspended user information. | |
d7d48b40 DM |
55 | * The plugin_manager class now provides two new helper methods for getting information |
56 | about known plugins: get_plugins_of_type() and get_subplugins_of_plugin(). | |
73658371 DM |
57 | * The get_uninstall_url() method of all subclasses of plugininfo_base class is now expected |
58 | to always return moodle_url. Subclasses can use the new method is_uninstall_allowed() | |
59 | to control the availability of the 'Uninstall' link at the Plugins overview page (previously | |
60 | they would do it by get_uninstall_url() returning null). By default, URL to a new general plugin | |
61 | uninstall tool is returned. Unless the plugin type needs extra steps that can't be handled by | |
62 | plugininfo_xxx::uninstall() method or xmldb_xxx_uninstall() function, this default URL should | |
63 | satisfy all plugin types. | |
9a36be73 | 64 | |
4efcfaa3 | 65 | Database (DML) layer: |
77a5c093 PS |
66 | * $DB->sql_empty() is deprecated, you have to use sql parameters with empty values instead, |
67 | please note hardcoding of empty strings in SQL queries breaks execution in Oracle database. | |
2d97513d PS |
68 | * Indexes must not be defined on the same columns as keys, this is now reported as fatal problem. |
69 | Please note that internally we create indexes instead of foreign keys. | |
9a36be73 | 70 | |
238b8bc9 ARN |
71 | YUI changes: |
72 | * M.util.help_icon has been deprecated. Code should be updated to use moodle-core-popuphelp | |
73 | instead. To do so, remove any existing JS calls to M.util.help_icon from your PHP and ensure | |
74 | that your help link is placed in a span which has the class 'helplink'. | |
75 | ||
6c2be903 DP |
76 | === 2.4 === |
77 | ||
78 | * Pagelib: Numerous deprecated functions were removed as classes page_base, page_course | |
79 | and page_generic_activity. | |
704533fc | 80 | * use $CFG->googlemapkey3 instead of removed $CFG->googlemapkey and migrate to Google Maps API V3 |
b874d5c6 | 81 | * Function settings_navigation::add_course_editing_links() is completely removed |
ee7084e9 MG |
82 | * function global_navigation::format_display_course_content() is removed completely (the |
83 | functionality is moved to course format class) | |
84 | * in the function global_navigation::load_generic_course_sections() the argument $courseformat is | |
85 | removed | |
7881024e PS |
86 | * New component and itemid columns in groups_members table - this allows plugin to create protected |
87 | group memberships using 'xx_yy_allow_group_member_remove' callback and there is also a new restore | |
88 | callback 'xx_yy_restore_group_member()'. | |
89 | * New general role assignment restore plugin callback 'xx_yy_restore_role_assignment()'. | |
97960146 MG |
90 | * functions get_generic_section_name(), get_all_sections(), add_mod_to_section(), get_all_mods() |
91 | are deprecated. See their phpdocs in lib/deprecatedlib.php on how to replace them | |
ee362526 | 92 | |
d2a27ab0 ARN |
93 | YUI changes: |
94 | * moodle-enrol-notification has been renamed to moodle-core-notification | |
3542e01a | 95 | * YUI2 code must now use 2in3, see http://yuilibrary.com/yui/docs/yui/yui-yui2.html |
7266bd3e ARN |
96 | * M.util.init_select_autosubmit() and M.util.init_url_select() have been deprecated. Code using this should be updated |
97 | to use moodle-core-formautosubmit | |
d2a27ab0 | 98 | |
94c9db54 PS |
99 | Unit testing changes: |
100 | * output debugging() is not sent to standard output any more, | |
101 | use $this->assertDebuggingCalled(), $this->assertDebuggingNotCalled(), | |
102 | $this->getDebuggingMessages() or $this->assertResetDebugging() instead. | |
103 | ||
e618cdf3 PS |
104 | === 2.3 === |
105 | ||
106 | Database layer changes: | |
107 | * objects are not allowed in paramters of DML functions, use explicit casting to strings if necessary | |
108 | ||
19526d91 DP |
109 | Note: |
110 | * DDL and DML methods which were deprecated in 2.0 have now been removed, they will no longer produce | |
111 | debug messages and will produce fatal errors | |
e618cdf3 | 112 | |
796495fe | 113 | API changes: |
daefd6eb | 114 | |
796495fe | 115 | * send_stored_file() has changed its interface |
daefd6eb | 116 | * deleted several resourcelib_embed_* functions from resourcelib.php |
796495fe | 117 | |
ee362526 PS |
118 | === 2.2 === |
119 | ||
120 | removed unused libraries: | |
121 | * odbc, base32, CodeSniffer, overlib, apd profiling, kses, Smarty, PEAR Console, swfobject, cssshover.htc, md5.js | |
122 | ||
123 | API changes: | |
124 | * new admin/tool plugin type | |
125 | * new context API - old API is still available | |
8e470797 | 126 | * deleted users do not have context any more |
ee362526 PS |
127 | * removed global search |
128 | ||
129 | ||
130 | === 2.1 === | |
131 | ||
132 | API changes: | |
133 | * basic suport for restore from 1.9 | |
134 | * new mobile devices API | |
135 | * new questions API | |
136 | ||
137 | ||
138 | === 2.0 === | |
139 | ||
140 | API changes: | |
141 | * new DML API - http://docs.moodle.org/dev/DML_functions | |
142 | * new DDL API - http://docs.moodle.org/dev/DDL_functions | |
143 | * new file API - http://docs.moodle.org/dev/File_API | |
144 | * new $PAGE and $OUTPUT API | |
145 | * new navigation API | |
146 | * new theme API - http://docs.moodle.org/dev/Theme_changes_in_2.0 | |
147 | * new javascript API - http://docs.moodle.org/dev/JavaScript_usage_guide | |
148 | * new portfolio API | |
149 | * new local plugin type | |
150 | * new translation support - http://lang.moodle.org | |
151 | * new web service API | |
152 | * new cohorts API | |
153 | * new messaging API | |
154 | * new rating API | |
155 | * new comment API | |
156 | * new sessions API | |
157 | * new enrolment API | |
158 | * new backup/restore API | |
159 | * new blocks API | |
160 | * new filters API | |
161 | * improved plugin support (aka Frankenstyle) | |
162 | * new registration and hub API | |
163 | * new course completion API | |
164 | * new plagiarism API | |
165 | * changed blog API | |
166 | * new text editor API | |
19526d91 | 167 | * new my moodle and profiles API |