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