However if many of you wanna a RESTful server it could be implemented. We would need to add an annotation to all function phpdoc (example: @httpmethod GET, @httpmethod PUT, @httpmethod POST, @httpmethod DELETE).
All feedback is welcome.
We plan in a first time to modify our current REST server in HEAD to support bulk operations.
there is no REST documentation yet. Ludo team is working on the REST server. The server will be supporting only POST request first.
Otherwise you're more than welcome to test it. Ludo or Pigui will surely put a message here when it's ready to test.
Will the REST server have any security like the soap web service that uses username and password to return a token, and that token is used on all successive requests?
Ludo's Team (including Pigui) are working on the REST server on their own versioning system. At this moment I advice to not use the REST implementation into Moodle HEAD CVS.
I don't think we will have any RESTful server in core (but it could be third party). A RESTful server would need "stronger" maintenance as we need to identify update/delete/get/create functions.
I just retested with the client the XML-RPC works. It works fine with the Zend client. We didn't plan to support XML-RPC protocol. The Zend server/client just looked to work fine so I committed it for people wanting to play with it.
Speaking about web service in general:
after a real first review of the web service code in Moodle HQ (thanks Petr), we decided to change the way to describe web service. We're going back to describe them into a PHP array instead of the phpdoc.
I wrote a chapter about the way to describe web service here : http://docs.moodle.org/en/Development:Web_services_security#Function_discovery
Roger, I guess it would be preferable that you wait till we decide and define accurately the way to describe web service.
PS: these change should not have any impact on the "Zend" XML-RPC cause this server use phpdoc information. The Rest server will be adapted by Ludo's team. It also will not change the Zend Soap server if you're using the Zend client. A SOAP server (using Zend or not) will need to be created to be compatible with JAVA and .Net.
I've been playing with RESTful web services to create_user.
I believe there are two problems:
1. createuser.php under webservice/rest/testclient calls locallib.php with function create_user which in locallib.php becomes user_external::create_user. The problem is the function in user/External.php is create_users.
2. After correcting the code in createuser.php; the $params passed into create_users in External.php contains a zero length array. This results in a user account not being created, but no error is returned either. $params is loaded back in locallib.php
$params = retrieve_params ($description[$functionname]);