2013-03-15 00:59:26 +01:00
|
|
|
This files describes API changes in core libraries and APIs,
|
2011-10-30 09:28:20 +01:00
|
|
|
information provided here is intended especially for developers.
|
|
|
|
|
2013-06-07 18:15:28 +02:00
|
|
|
=== 2.6 ===
|
2013-07-04 11:07:12 +08:00
|
|
|
|
2013-07-16 22:16:58 +02:00
|
|
|
* Use new methods from core_component class instead of get_core_subsystems(), get_plugin_types(),
|
2013-08-09 11:31:40 +08:00
|
|
|
get_plugin_list(), get_plugin_list_with_class(), get_plugin_directory(), normalize_component(),
|
|
|
|
get_component_directory() and get_plugin_list_with_file(). The names of the new methods are
|
|
|
|
exactly the same, the only differences are that core_component::get_plugin_types() now always returns
|
|
|
|
full paths and core_component::get_plugin_list() does not accept empty parameter any more.
|
2013-06-24 12:39:32 +02:00
|
|
|
* Use core_text::* instead of textlib:: and also core_collator::* instead of collatorlib::*.
|
2013-07-09 15:55:20 +08:00
|
|
|
* Use new function moodleform::mock_submit() to simulate form submission in unit tests (backported).
|
2013-07-07 21:42:03 +02:00
|
|
|
* New $CFG->localcachedir setting useful for cluster nodes. Admins have to update X-Sendfile aliases if used.
|
2013-07-23 14:43:47 +02:00
|
|
|
* MS SQL Server drivers are now using NVARCHAR(MAX) instead of NTEXT and VARBINARY(MAX) instead of IMAGE,
|
|
|
|
this change should be fully transparent and it should help significantly with add-on compatibility.
|
2013-08-04 00:01:58 +02:00
|
|
|
* The string manager classes were renamed. Note that they should not be modified or used directly,
|
|
|
|
always use get_string_manager() to get instance of the string manager.
|
2013-08-13 14:55:48 +08:00
|
|
|
* The ability to use an 'insecure' rc4encrypt/rc4decrypt key has been removed.
|
2013-08-10 22:46:49 +02:00
|
|
|
* Use $CFG->debugdeveloper instead of debugging('', DEBUG_DEVELOPER).
|
|
|
|
* Use set_debugging(DEBUG_xxx) when changing debugging level for current request.
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
DEPRECATIONS:
|
|
|
|
Various previously deprecated functions have now been altered to throw DEBUG_DEVELOPER debugging notices
|
|
|
|
and will be removed in a future release (target: 2.8), a summary follows:
|
|
|
|
|
|
|
|
Accesslib:
|
2013-08-22 13:29:46 +08:00
|
|
|
* get_context_instance() -> context_xxxx::instance()
|
|
|
|
* get_context_instance_by_id() -> context::instance_by_id($id)
|
|
|
|
* get_system_context() -> context_system::instance()
|
|
|
|
* context_moved() -> context::update_moved()
|
|
|
|
* preload_course_contexts() -> context_helper::preload_course()
|
|
|
|
* context_instance_preload() -> context_helper::preload_from_record()
|
|
|
|
* context_instance_preload_sql()-> context_helper::get_preload_record_columns_sql()
|
|
|
|
* get_contextlevel_name() -> context_helper::get_level_name()
|
|
|
|
* create_contexts() -> context_helper::create_instances()
|
|
|
|
* cleanup_contexts() -> context_helper::cleanup_instances()
|
|
|
|
* build_context_path() -> context_helper::build_all_paths()
|
|
|
|
* print_context_name() -> $context->get_context_name()
|
|
|
|
* mark_context_dirty() -> $context->mark_dirty()
|
|
|
|
* delete_context() -> $context->delete_content() or context_helper::delete_instance()
|
|
|
|
* get_context_url() -> $context->get_url()
|
|
|
|
* get_course_context() -> $context->get_course_context()
|
|
|
|
* get_parent_contexts() -> $context->get_parent_context_ids()
|
|
|
|
* get_parent_contextid() -> $context->get_parent_context()
|
|
|
|
* get_child_contexts() -> $context->get_child_contexts()
|
|
|
|
* rebuild_contexts() -> $context->reset_paths()
|
|
|
|
* get_user_courses_bycap() -> enrol_get_users_courses()
|
|
|
|
* get_courseid_from_context() -> $context->get_course_context(false)
|
|
|
|
* get_role_context_caps() -> (no replacement)
|
|
|
|
* load_temp_role() -> (no replacement)
|
|
|
|
* remove_temp_roles() -> (no replacement)
|
|
|
|
* get_related_contexts_string() -> $context->get_parent_context_ids(true)
|
|
|
|
* get_recent_enrolments() -> (no replacement)
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
Enrollment:
|
2013-08-22 13:29:46 +08:00
|
|
|
* get_course_participants() -> get_enrolled_users()
|
|
|
|
* is_course_participant() -> is_enrolled()
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
Output:
|
2013-08-22 13:29:46 +08:00
|
|
|
* current_theme() -> $PAGE->theme->name
|
|
|
|
* skip_main_destination() -> $OUTPUT->skip_link_target()
|
|
|
|
* print_container() -> $OUTPUT->container()
|
|
|
|
* print_container_start() -> $OUTPUT->container_start()
|
|
|
|
* print_container_end() -> $OUTPUT->container_end()
|
|
|
|
* print_continue() -> $OUTPUT->continue_button()
|
|
|
|
* print_header() -> $PAGE methods
|
|
|
|
* print_header_simple() -> $PAGE methods
|
|
|
|
* print_side_block() -> $OUTPUT->block()
|
|
|
|
* print_arrow() -> $OUTPUT->arrow()
|
|
|
|
* print_scale_menu_helpbutton() -> $OUTPUT->help_icon_scale($courseid, $scale)
|
|
|
|
* print_checkbox() -> html_writer::checkbox()
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
Navigation:
|
2013-08-22 13:29:46 +08:00
|
|
|
* print_navigation() -> $OUTPUT->navbar()
|
|
|
|
* build_navigation() -> $PAGE->navbar methods
|
|
|
|
* navmenu() -> (no replacement)
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
Calendar:
|
2013-08-22 13:29:46 +08:00
|
|
|
* add_event() -> calendar_event::create()
|
|
|
|
* update_event() -> calendar_event->update()
|
|
|
|
* delete_event() -> calendar_event->delete()
|
|
|
|
* hide_event() -> calendar_event->toggle_visibility(false)
|
|
|
|
* show_event() -> calendar_event->toggle_visibility(true)
|
2013-07-10 11:00:19 +08:00
|
|
|
|
|
|
|
Misc:
|
2013-08-22 13:29:46 +08:00
|
|
|
* filter_text() -> format_text(), format_string()...
|
|
|
|
* httpsrequired() -> $PAGE->https_required()
|
|
|
|
* detect_munged_arguments() -> clean_param([...], PARAM_FILE)
|
|
|
|
* mygroupid() -> groups_get_all_groups()
|
|
|
|
* js_minify() -> core_minify::js_files()
|
|
|
|
* css_minify_css() -> core_minify::css_files()
|
2013-06-07 18:15:28 +02:00
|
|
|
|
2013-07-15 23:44:17 +01:00
|
|
|
YUI:
|
|
|
|
* moodle-core-notification has been deprecated with a recommendation of
|
2013-07-30 08:55:35 +12:00
|
|
|
using its subclasses instead. This is to allow for reduced page
|
2013-07-15 23:44:17 +01:00
|
|
|
transport costs. Current subclasses include:
|
|
|
|
* dialogue
|
|
|
|
* alert
|
|
|
|
* confirm
|
|
|
|
* exception
|
|
|
|
* ajaxexception
|
|
|
|
|
2013-07-26 12:06:20 +02:00
|
|
|
Event triggering and event handlers:
|
|
|
|
* All existing events and event handlers should be replaced by new
|
|
|
|
event classes and matching new event observers.
|
|
|
|
* See http://docs.moodle.org/dev/Event_2 for more information.
|
|
|
|
|
2013-05-17 16:43:51 +01:00
|
|
|
=== 2.5.1 ===
|
|
|
|
|
|
|
|
* New get_course() function for use when obtaining the course record from database. Will
|
|
|
|
reuse existing $COURSE or $SITE globals if possible to improve performance.
|
|
|
|
|
2012-12-14 11:32:21 +08:00
|
|
|
=== 2.5 ===
|
|
|
|
|
2013-04-28 18:33:33 +02:00
|
|
|
* The database drivers (moodle_database and subclasses) aren't using anymore the ::columns property
|
|
|
|
for caching database metadata. MUC (databasemeta) is used instead. Any custom DB driver should
|
|
|
|
apply for that change.
|
2013-03-12 16:08:49 +01:00
|
|
|
* The cron output has been changed to include time and memory usage (see cron_trace_time_and_memory()),
|
|
|
|
so any custom utility relying on the old output may require modification.
|
2013-01-21 14:36:57 +08:00
|
|
|
* Function get_max_file_sizes now returns an option for (for example) "Course limit (500MB)" or
|
|
|
|
"Site limit (200MB)" when appropriate with the option set to 0. This function no longer returns
|
|
|
|
an option for 0 bytes. Existing code that was replacing the 0 option in the return
|
|
|
|
from this function with a more sensible message, can now use the return from this function directly.
|
2012-12-14 11:32:21 +08:00
|
|
|
* Functions responsible for output in course/lib.php are deprecated, the code is moved to
|
2013-04-15 16:46:42 +10:00
|
|
|
appropriate renderers: print_section(), print_section_add_menus(), get_print_section_cm_text(),
|
|
|
|
make_editing_buttons()
|
2012-12-14 11:32:21 +08:00
|
|
|
See functions' phpdocs in lib/deprecatedlib.php
|
|
|
|
* Function get_print_section_cm_text() is deprecated, replaced with methods in cm_info
|
2013-01-15 20:45:36 +01:00
|
|
|
* zip_packer may create empty zip archives, there is a new option to ignore
|
|
|
|
problematic files when creating archive
|
2013-01-23 15:48:50 +08:00
|
|
|
* The function delete_course_module was deprecated and has been replaced with
|
|
|
|
course_delete_module. The reason for this was because the function delete_course_module
|
|
|
|
only partially deletes data, so wherever it was called extra code was needed to
|
|
|
|
perform the whole deletion process. The function course_delete_module now takes care
|
|
|
|
of the whole process.
|
2013-02-19 13:01:21 +08:00
|
|
|
* curl::setopt() does not accept constant values any more. As it never worked properly,
|
|
|
|
we decided to make the type check stricter. Now, the keys of the array pass must be a string
|
|
|
|
corresponding to the curl constant name.
|
2013-03-12 10:00:55 +08:00
|
|
|
* Function get_users_listing now return list of users except guest and deleted users. Previously
|
|
|
|
deleted users were excluded by get_users_listing. As guest user is not expected while browsing users,
|
|
|
|
and not included in get_user function, it will not be returned by get_users_listing.
|
2013-03-19 09:55:39 +08:00
|
|
|
* The add_* functions in course/dnduploadlib.php have been deprecated. Plugins should be using the
|
|
|
|
MODNAME_dndupload_register callback instead.
|
2013-03-15 00:59:26 +01:00
|
|
|
* The signature of the add() method of classes implementing the parentable_part_of_admin_tree
|
|
|
|
interface (such as admin_category) has been extended. The new parameter allows the caller
|
|
|
|
to prepend the new node before an existing sibling in the admin tree.
|
2013-03-20 00:09:43 +01:00
|
|
|
* condition_info:get_condition_user_fields($formatoptions) now accepts the optional
|
|
|
|
param $formatoptions, that will determine if the field names are processed by
|
|
|
|
format_string() with the passed options.
|
2013-03-22 16:51:18 +01:00
|
|
|
* remove all references to $CFG->gdversion, GD PHP extension is now required
|
2013-03-22 16:38:10 +08:00
|
|
|
* Formslib will now throw a developer warning if a PARAM_ type hasn't been set for elements which
|
|
|
|
need it. Please set PARAM_RAW explicitly if you do not want any cleaning.
|
2013-02-21 10:37:52 +11:00
|
|
|
* Functions responsible for managing and accessing course categories are moved to class coursecat
|
2013-03-26 16:20:22 +11:00
|
|
|
in lib/coursecatlib.php, functions responsible for rendering courses and categories lists are
|
|
|
|
moved to course/renderer.php. The following global functions are deprecated: make_categories_list(),
|
2013-02-21 10:55:35 +11:00
|
|
|
category_delete_move(), category_delete_full(), move_category(), course_category_hide(),
|
2013-02-22 12:24:40 +11:00
|
|
|
course_category_show(), get_course_category(), create_course_category(), get_all_subcategories(),
|
2013-03-26 16:20:22 +11:00
|
|
|
get_child_categories(), get_categories(), print_my_moodle(), print_remote_course(),
|
|
|
|
print_remote_host(), print_whole_category_list(), print_category_info(), get_course_category_tree(),
|
|
|
|
print_courses(), print_course(), get_category_courses_array(), get_category_courses_array_recursively(),
|
|
|
|
get_courses_wmanagers()
|
|
|
|
See http://docs.moodle.org/dev/Courses_lists_upgrade_to_2.5
|
2013-03-27 10:16:09 +08:00
|
|
|
* $core_renderer->block_move_target() changed to support more verbose move-block-here descriptions.
|
2013-03-27 10:14:10 +08:00
|
|
|
* Additional (optional) param $onlyactive has been added to get_enrolled_users, count_enrolled_users
|
|
|
|
functions to get information for only active (excluding suspended enrolments) users. Included two
|
|
|
|
helper functions extract_suspended_users, get_suspended_userids to extract suspended user information.
|
2013-04-11 17:13:18 +02:00
|
|
|
* The plugin_manager class now provides two new helper methods for getting information
|
|
|
|
about known plugins: get_plugins_of_type() and get_subplugins_of_plugin().
|
2013-04-12 01:00:51 +02:00
|
|
|
* The get_uninstall_url() method of all subclasses of plugininfo_base class is now expected
|
|
|
|
to always return moodle_url. Subclasses can use the new method is_uninstall_allowed()
|
|
|
|
to control the availability of the 'Uninstall' link at the Plugins overview page (previously
|
|
|
|
they would do it by get_uninstall_url() returning null). By default, URL to a new general plugin
|
|
|
|
uninstall tool is returned. Unless the plugin type needs extra steps that can't be handled by
|
|
|
|
plugininfo_xxx::uninstall() method or xmldb_xxx_uninstall() function, this default URL should
|
|
|
|
satisfy all plugin types.
|
2012-12-14 11:32:21 +08:00
|
|
|
|
2013-03-26 23:04:48 +01:00
|
|
|
Database (DML) layer:
|
2013-01-28 18:57:46 +01:00
|
|
|
* $DB->sql_empty() is deprecated, you have to use sql parameters with empty values instead,
|
|
|
|
please note hardcoding of empty strings in SQL queries breaks execution in Oracle database.
|
2013-04-17 16:08:16 +02:00
|
|
|
* Indexes must not be defined on the same columns as keys, this is now reported as fatal problem.
|
|
|
|
Please note that internally we create indexes instead of foreign keys.
|
2012-12-14 11:32:21 +08:00
|
|
|
|
2012-10-10 11:03:00 +01:00
|
|
|
YUI changes:
|
|
|
|
* M.util.help_icon has been deprecated. Code should be updated to use moodle-core-popuphelp
|
|
|
|
instead. To do so, remove any existing JS calls to M.util.help_icon from your PHP and ensure
|
|
|
|
that your help link is placed in a span which has the class 'helplink'.
|
|
|
|
|
2012-07-23 13:16:42 +08:00
|
|
|
=== 2.4 ===
|
|
|
|
|
|
|
|
* Pagelib: Numerous deprecated functions were removed as classes page_base, page_course
|
|
|
|
and page_generic_activity.
|
2012-08-19 20:07:27 +02:00
|
|
|
* use $CFG->googlemapkey3 instead of removed $CFG->googlemapkey and migrate to Google Maps API V3
|
2012-09-25 14:42:25 +08:00
|
|
|
* Function settings_navigation::add_course_editing_links() is completely removed
|
2012-09-18 09:57:37 +08:00
|
|
|
* function global_navigation::format_display_course_content() is removed completely (the
|
|
|
|
functionality is moved to course format class)
|
|
|
|
* in the function global_navigation::load_generic_course_sections() the argument $courseformat is
|
|
|
|
removed
|
2012-09-26 17:13:42 +02:00
|
|
|
* New component and itemid columns in groups_members table - this allows plugin to create protected
|
|
|
|
group memberships using 'xx_yy_allow_group_member_remove' callback and there is also a new restore
|
|
|
|
callback 'xx_yy_restore_group_member()'.
|
|
|
|
* New general role assignment restore plugin callback 'xx_yy_restore_role_assignment()'.
|
2012-09-26 14:11:41 +08:00
|
|
|
* functions get_generic_section_name(), get_all_sections(), add_mod_to_section(), get_all_mods()
|
|
|
|
are deprecated. See their phpdocs in lib/deprecatedlib.php on how to replace them
|
2011-10-30 09:28:20 +01:00
|
|
|
|
2012-07-07 11:31:55 +01:00
|
|
|
YUI changes:
|
|
|
|
* moodle-enrol-notification has been renamed to moodle-core-notification
|
2012-08-14 15:31:52 +08:00
|
|
|
* YUI2 code must now use 2in3, see http://yuilibrary.com/yui/docs/yui/yui-yui2.html
|
2012-09-21 15:17:22 +01:00
|
|
|
* M.util.init_select_autosubmit() and M.util.init_url_select() have been deprecated. Code using this should be updated
|
|
|
|
to use moodle-core-formautosubmit
|
2012-07-07 11:31:55 +01:00
|
|
|
|
2012-09-17 12:09:25 +02:00
|
|
|
Unit testing changes:
|
|
|
|
* output debugging() is not sent to standard output any more,
|
|
|
|
use $this->assertDebuggingCalled(), $this->assertDebuggingNotCalled(),
|
|
|
|
$this->getDebuggingMessages() or $this->assertResetDebugging() instead.
|
|
|
|
|
2012-03-17 18:42:30 +01:00
|
|
|
=== 2.3 ===
|
|
|
|
|
|
|
|
Database layer changes:
|
|
|
|
* objects are not allowed in paramters of DML functions, use explicit casting to strings if necessary
|
|
|
|
|
2012-03-21 09:28:02 +08:00
|
|
|
Note:
|
|
|
|
* DDL and DML methods which were deprecated in 2.0 have now been removed, they will no longer produce
|
|
|
|
debug messages and will produce fatal errors
|
2012-03-17 18:42:30 +01:00
|
|
|
|
2012-04-17 15:05:33 +02:00
|
|
|
API changes:
|
MDL-29624 Media embedding system, part 1: new API and filter changes
Includes new API in medialib.php and core_media_renderer in outputrenderers.php.
Enable/disable settings moved from filter to systemwide appearance page.
Filter changed to use new API.
AMOS BEGIN
MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media]
MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media]
MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media]
MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media]
MOV [html5audio,filter_mediaplugin],[html5audio,core_media]
MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media]
MOV [html5video,filter_mediaplugin],[html5video,core_media]
MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media]
MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media]
MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media]
MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media]
MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media]
MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media]
MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media]
MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media]
MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media]
MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media]
MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media]
MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media]
MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media]
MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media]
MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media]
AMOS END
2011-12-13 17:08:34 +00:00
|
|
|
|
2012-04-17 15:05:33 +02:00
|
|
|
* send_stored_file() has changed its interface
|
MDL-29624 Media embedding system, part 1: new API and filter changes
Includes new API in medialib.php and core_media_renderer in outputrenderers.php.
Enable/disable settings moved from filter to systemwide appearance page.
Filter changed to use new API.
AMOS BEGIN
MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media]
MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media]
MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media]
MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media]
MOV [html5audio,filter_mediaplugin],[html5audio,core_media]
MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media]
MOV [html5video,filter_mediaplugin],[html5video,core_media]
MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media]
MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media]
MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media]
MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media]
MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media]
MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media]
MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media]
MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media]
MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media]
MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media]
MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media]
MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media]
MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media]
MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media]
MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media]
AMOS END
2011-12-13 17:08:34 +00:00
|
|
|
* deleted several resourcelib_embed_* functions from resourcelib.php
|
2012-04-17 15:05:33 +02:00
|
|
|
|
2011-10-30 09:28:20 +01:00
|
|
|
=== 2.2 ===
|
|
|
|
|
|
|
|
removed unused libraries:
|
|
|
|
* odbc, base32, CodeSniffer, overlib, apd profiling, kses, Smarty, PEAR Console, swfobject, cssshover.htc, md5.js
|
|
|
|
|
|
|
|
API changes:
|
|
|
|
* new admin/tool plugin type
|
|
|
|
* new context API - old API is still available
|
2011-11-26 09:07:23 +01:00
|
|
|
* deleted users do not have context any more
|
2011-10-30 09:28:20 +01:00
|
|
|
* removed global search
|
|
|
|
|
|
|
|
|
|
|
|
=== 2.1 ===
|
|
|
|
|
|
|
|
API changes:
|
|
|
|
* basic suport for restore from 1.9
|
|
|
|
* new mobile devices API
|
|
|
|
* new questions API
|
|
|
|
|
|
|
|
|
|
|
|
=== 2.0 ===
|
|
|
|
|
|
|
|
API changes:
|
|
|
|
* new DML API - http://docs.moodle.org/dev/DML_functions
|
|
|
|
* new DDL API - http://docs.moodle.org/dev/DDL_functions
|
|
|
|
* new file API - http://docs.moodle.org/dev/File_API
|
|
|
|
* new $PAGE and $OUTPUT API
|
|
|
|
* new navigation API
|
|
|
|
* new theme API - http://docs.moodle.org/dev/Theme_changes_in_2.0
|
|
|
|
* new javascript API - http://docs.moodle.org/dev/JavaScript_usage_guide
|
|
|
|
* new portfolio API
|
|
|
|
* new local plugin type
|
|
|
|
* new translation support - http://lang.moodle.org
|
|
|
|
* new web service API
|
|
|
|
* new cohorts API
|
|
|
|
* new messaging API
|
|
|
|
* new rating API
|
|
|
|
* new comment API
|
|
|
|
* new sessions API
|
|
|
|
* new enrolment API
|
|
|
|
* new backup/restore API
|
|
|
|
* new blocks API
|
|
|
|
* new filters API
|
|
|
|
* improved plugin support (aka Frankenstyle)
|
|
|
|
* new registration and hub API
|
|
|
|
* new course completion API
|
|
|
|
* new plagiarism API
|
|
|
|
* changed blog API
|
|
|
|
* new text editor API
|
2012-03-21 09:28:02 +08:00
|
|
|
* new my moodle and profiles API
|