Cipux XMLRPC Server
It is now possible to access some CipUX functions from another process or even another computer. XML RPC is a remote procedure call that allows any process to call functions located on another system. CipUX is using the Frontier Perl module to create a standalone HTTPS server that waits for XML RPC function calls.
The cipux_task_* function are exported with the same parameters and return results as the shell commands.
The user authentication is based on LDAP user account list, and some XML RPC specific functions are exported by XML RPC as follow :
Function |
Explanation |
cipux_rpc_login (user,pass) > cookie session | false |
This function allow the login and authentication of the remote user. It create a session and returns the session cookie. |
cipux_rpc_logout (cookie) > true | false |
Disconnect the user's session cookie and returns true if it was successfully disconnected |
cipux_rpc_ping (cookie) > true | false |
Ping the xml rpc server to know if the session with cookie is still valid. Prevent idle timeout of user session. |
The other functions are based on cipux_task_* shell scripts. The first parameter is always a session cookie. Those functions should returns an error code if something went wrong
cipux_task_list_users cipux_task_create_user cipux_task_enable_user cipux_task_enable_user_posix_account cipux_task_change_user_password cipux_task_delete_user cipux_task_delete_user_homedir cipux_task_disable_user cipux_task_disable_user_posix_account cipux_task_list_teachers cipux_task_list_students cipux_task_add_user_to_course cipux_task_create_course cipux_task_disable_course cipux_task_enable_course cipux_task_enable_course_posix_account cipux_task_disable_course_posix_account cipux_task_change_course_password cipux_task_delete_course cipux_task_remove_user_from_course cipux_task_list_courses
The french project will use this XML RPC server for the Moodle XML RPC user and group management system. See (in French): http://wiki.skolelinux.fr/cgi-bin/skolelinux/moin.cgi/XmlRpc