MDL-59214 webservice: Return calendar type in get_site_info
[moodle.git] / webservice / upgrade.txt
CommitLineData
106c55fb
DW
1This files describes API changes in /webservice/*
2information provided here is intended especially for developers.
3
4This information is intended for authors of webservices, not people writing webservice clients.
5
bef5777f
JL
6=== 3.4 ===
7
8* External function core_webservice_external::get_site_info() now returns the calendar type used in the site and
9 by the user in the sitecalendartype and usercalendartype fields.
10
89823b1a
JL
11=== 3.2 ===
12
13* webservice->get_external_functions now returns the external function list ordered by name ASC.
ff092320
JL
14* The filearea optional parameter has been removed from webservice/upload.php.
15 Since Moodle 3.1 all the uploads go to the draft area.
af8b948e 16* external_format_text() function: component, filearea and itemid are now optional parameters.
833be5e4
JL
17 In some contexts those parameteres are not necessary because is not required to do a file rewrite via
18 file_rewrite_pluginfile_urls.
43695b6a 19* External function get_site_info now returns the site course ID. This new field is marked as VALUE_OPTIONAL for backwards compatibility.
69cbe359
JL
20* A new field "privatetoken" has been added to the "external_tokens" table.
21 This private token must be safely stored (or not stored at all) by the client because it will be used in places where a request
22 must be double-checked.
23 This token should not be passed via GET paramaters and it must be transmitted only via https.
24 This token is generated only in login/token.php after the user credential has been confirmed. It can't be generated by admins.
89823b1a 25
638f751a
JP
26=== 3.1 ===
27
633e2643
DP
28* The xmlrpc backend has changed, Zend_XmlRpc has been dropped and there might be slight differences in
29 responses. Fault strings that were generated by Zend_XmlRpc_XXX_Exception exceptions (i.e. 'Method
30 "[methodname]" does not exist') are no longer used which may display a different error message depending
31 on the string returned by the getMessage() method of the thrown exception.
8e2707b9 32* The xmlrpc server is no longer enabled when the Mobile service is activated.
13ae7db2 33* Support for the AMF protocol has been dropped completely.
b5e6ec44 34* As Zend Framework has been removed, the webservice_zend_* classes have also been removed.
f23e9b6b
CB
35* Zend_SOAP has been dropped. The native PHP SoapClient and SoapServer classes are now being used instead. WSDL is now
36 generated by the new class webservice_soap_wsdl. For fault strings, a different error message might be shown depending
37 on the string returned by the getMessage() method of the thrown exception.
38* With Zend_SOAP dropped, moodle_zend_soap_server is now also deprecated.
39* As mentioned in the 2.9 notes, deprecated web service functions have now been removed.
ad1bfe6a
CB
40* Since our new XML-RPC server implementation does not support introspection, it is critical that all clients send
41 parameters in the correct order.
ff092320
JL
42* File uploading to the user private file area via the webservice/upload.php script is not supported anymore.
43 Only uploads to the draft area are allowed.
13ae7db2 44
6ee188b1
DM
45=== 3.0 ===
46
47* WS protocols webservice/myprotocol:use capabilities were defined with a high riskbitmask value
48 when the fact that a user has that capability does not imply any risk, but other capabilities
49 that the user may have do. If your ws protocol does not imply and risk by itself, you can remove the
50 riskbitmask from your $capabilities array in webservice/myprotocol/db/access.php
9748791b
JL
51* New function for formatting external strings: external_format_strings, it should be used as a replacement of format_string in
52 external functions.
53 All the occurrences of format_strings have been replaced with this new function.
6ee188b1 54
3c1aa6fd
DM
55=== 2.9 ===
56
57* The deprecated functions can not be added to services anymore and
58 a debugging message for developers is triggered when viewing an existing
59 services using them. It is recommended to replace calls to the deprecated
60 functions for calls to the proposed replacements. If you are using a moodle
61 mobile app fork, it is recommended to update your customisations on top of
62 the latest moodle mobile app version.
63
64 The web services functions that will be finally deprecated in the next
65 moodle version are:
66 - moodle_course_create_courses
67 - moodle_course_get_courses
68 - moodle_enrol_get_enrolled_users
69 - moodle_enrol_get_users_courses
70 - moodle_enrol_manual_enrol_users
71 - moodle_file_get_files
72 - moodle_file_upload
73 - moodle_group_add_groupmembers
74 - moodle_group_create_groups
75 - moodle_group_delete_groupmembers
76 - moodle_group_delete_groups
77 - moodle_group_get_course_groups
78 - moodle_group_get_groupmembers
79 - moodle_group_get_groups
80 - moodle_message_send_instantmessages
81 - moodle_notes_create_notes
82 - moodle_role_assign
83 - moodle_role_unassign
84 - moodle_user_create_users
85 - moodle_user_delete_users
86 - moodle_user_get_course_participants_by_id
87 - moodle_user_get_users_by_courseid
88 - moodle_user_get_users_by_id
89 - moodle_user_update_users
90 - core_grade_get_definitions
91 - core_user_get_users_by_id
92 - moodle_webservice_get_siteinfo
93
6d28e2cf
JL
94* External function core_webservice_external::get_site_info now returns additional optional fields:
95 - advancedfeatures: Array listing Moodle advanced features and if enabled or not.
96 - usercanmanageownfiles: Whether the my files option is disabled.
97 - userquota: User storage quota.
98 - usermaxuploadfilesize: Files upload size limit.
99
3c1aa6fd 100
e5d48aad
101=== 2.7 ===
102
103* All webservice server.php and simpleserver.php scripts must define('WS_SERVER', true)
104 before including config.php file.
105
106
106c55fb
DW
107=== 2.6 ===
108
109* webservice/upload.php
110Accepts 2 new post parameters to allow uploading of files to a users draft area.
111 - filearea should be either 'private' (default) or 'draft'
112 - itemid unused if the filearea is 'private', for 'draft' it can be the id of a previously
113 created draft area - or 0 which will generate a new draft area for the files.
114