weekly on-sync release 3.2dev
[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
638f751a
JP
6=== 3.1 ===
7
633e2643
DP
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.
8e2707b9 12* The xmlrpc server is no longer enabled when the Mobile service is activated.
13ae7db2 13* Support for the AMF protocol has been dropped completely.
b5e6ec44 14* As Zend Framework has been removed, the webservice_zend_* classes have also been removed.
f23e9b6b
CB
15* Zend_SOAP has been dropped. The native PHP SoapClient and SoapServer classes are now being used instead. WSDL is now
16 generated by the new class webservice_soap_wsdl. For fault strings, a different error message might be shown depending
17 on the string returned by the getMessage() method of the thrown exception.
18* With Zend_SOAP dropped, moodle_zend_soap_server is now also deprecated.
19* As mentioned in the 2.9 notes, deprecated web service functions have now been removed.
ad1bfe6a
CB
20* Since our new XML-RPC server implementation does not support introspection, it is critical that all clients send
21 parameters in the correct order.
13ae7db2 22
6ee188b1
DM
23=== 3.0 ===
24
25* WS protocols webservice/myprotocol:use capabilities were defined with a high riskbitmask value
26 when the fact that a user has that capability does not imply any risk, but other capabilities
27 that the user may have do. If your ws protocol does not imply and risk by itself, you can remove the
28 riskbitmask from your $capabilities array in webservice/myprotocol/db/access.php
9748791b
JL
29* New function for formatting external strings: external_format_strings, it should be used as a replacement of format_string in
30 external functions.
31 All the occurrences of format_strings have been replaced with this new function.
6ee188b1 32
3c1aa6fd
DM
33=== 2.9 ===
34
35* The deprecated functions can not be added to services anymore and
36 a debugging message for developers is triggered when viewing an existing
37 services using them. It is recommended to replace calls to the deprecated
38 functions for calls to the proposed replacements. If you are using a moodle
39 mobile app fork, it is recommended to update your customisations on top of
40 the latest moodle mobile app version.
41
42 The web services functions that will be finally deprecated in the next
43 moodle version are:
44 - moodle_course_create_courses
45 - moodle_course_get_courses
46 - moodle_enrol_get_enrolled_users
47 - moodle_enrol_get_users_courses
48 - moodle_enrol_manual_enrol_users
49 - moodle_file_get_files
50 - moodle_file_upload
51 - moodle_group_add_groupmembers
52 - moodle_group_create_groups
53 - moodle_group_delete_groupmembers
54 - moodle_group_delete_groups
55 - moodle_group_get_course_groups
56 - moodle_group_get_groupmembers
57 - moodle_group_get_groups
58 - moodle_message_send_instantmessages
59 - moodle_notes_create_notes
60 - moodle_role_assign
61 - moodle_role_unassign
62 - moodle_user_create_users
63 - moodle_user_delete_users
64 - moodle_user_get_course_participants_by_id
65 - moodle_user_get_users_by_courseid
66 - moodle_user_get_users_by_id
67 - moodle_user_update_users
68 - core_grade_get_definitions
69 - core_user_get_users_by_id
70 - moodle_webservice_get_siteinfo
71
6d28e2cf
JL
72* External function core_webservice_external::get_site_info now returns additional optional fields:
73 - advancedfeatures: Array listing Moodle advanced features and if enabled or not.
74 - usercanmanageownfiles: Whether the my files option is disabled.
75 - userquota: User storage quota.
76 - usermaxuploadfilesize: Files upload size limit.
77
3c1aa6fd 78
e5d48aad
79=== 2.7 ===
80
81* All webservice server.php and simpleserver.php scripts must define('WS_SERVER', true)
82 before including config.php file.
83
84
106c55fb
DW
85=== 2.6 ===
86
87* webservice/upload.php
88Accepts 2 new post parameters to allow uploading of files to a users draft area.
89 - filearea should be either 'private' (default) or 'draft'
90 - itemid unused if the filearea is 'private', for 'draft' it can be the id of a previously
91 created draft area - or 0 which will generate a new draft area for the files.
92