MDL-52209 webservice: upgrade.txt tweak
[moodle.git] / webservice / upgrade.txt
1 This files describes API changes in /webservice/*
2 information provided here is intended especially for developers.
4 This information is intended for authors of webservices, not people writing webservice clients.
6 === 3.1 ===
8 * The xmlrpc backend has changed, Zend_XmlRpc has been dropped and there might be slight differences in
9   responses. Fault strings that were generated by Zend_XmlRpc_XXX_Exception exceptions (i.e. 'Method
10   "[methodname]" does not exist') are no longer used which may display a different error message depending
11   on the string returned by the getMessage() method of the thrown exception.
13 === 3.0 ===
15 * WS protocols webservice/myprotocol:use capabilities were defined with a high riskbitmask value
16   when the fact that a user has that capability does not imply any risk, but other capabilities
17   that the user may have do. If your ws protocol does not imply and risk by itself, you can remove the
18   riskbitmask from your $capabilities array in webservice/myprotocol/db/access.php
19 * New function for formatting external strings: external_format_strings, it should be used as a replacement of format_string in
20   external functions.
21   All the occurrences of format_strings have been replaced with this new function.
23 === 2.9 ===
25 * The deprecated functions can not be added to services anymore and
26   a debugging message for developers is triggered when viewing an existing
27   services using them. It is recommended to replace calls to the deprecated
28   functions for calls to the proposed replacements. If you are using a moodle
29   mobile app fork, it is recommended to update your customisations on top of
30   the latest moodle mobile app version.
32   The web services functions that will be finally deprecated in the next
33   moodle version are:
34     - moodle_course_create_courses
35     - moodle_course_get_courses
36     - moodle_enrol_get_enrolled_users
37     - moodle_enrol_get_users_courses
38     - moodle_enrol_manual_enrol_users
39     - moodle_file_get_files
40     - moodle_file_upload
41     - moodle_group_add_groupmembers
42     - moodle_group_create_groups
43     - moodle_group_delete_groupmembers
44     - moodle_group_delete_groups
45     - moodle_group_get_course_groups
46     - moodle_group_get_groupmembers
47     - moodle_group_get_groups
48     - moodle_message_send_instantmessages
49     - moodle_notes_create_notes
50     - moodle_role_assign
51     - moodle_role_unassign
52     - moodle_user_create_users
53     - moodle_user_delete_users
54     - moodle_user_get_course_participants_by_id
55     - moodle_user_get_users_by_courseid
56     - moodle_user_get_users_by_id
57     - moodle_user_update_users
58     - core_grade_get_definitions
59     - core_user_get_users_by_id
60     - moodle_webservice_get_siteinfo
62 * External function core_webservice_external::get_site_info now returns additional optional fields:
63    - advancedfeatures: Array listing Moodle advanced features and if enabled or not.
64    - usercanmanageownfiles: Whether the my files option is disabled.
65    - userquota: User storage quota.
66    - usermaxuploadfilesize: Files upload size limit.
69 === 2.7 ===
71 * All webservice server.php and simpleserver.php scripts must define('WS_SERVER', true)
72   before including config.php file.
75 === 2.6 ===
77 * webservice/upload.php
78 Accepts 2 new post parameters to allow uploading of files to a users draft area.
79  - filearea should be either 'private' (default) or 'draft'
80  - itemid unused if the filearea is 'private', for 'draft' it can be the id of a previously
81    created draft area - or 0 which will generate a new draft area for the files.