MNet API: Skillnad mellan sidversioner
| Rad 32: | Rad 32: | ||
== Repository Functions == | == Repository Functions == | ||
TODO | Documentation TODO | ||
==Portfolio Functions== | ==Portfolio Functions== | ||
Versionen från 23 oktober 2008 kl. 02.41
Introduction
This page aims to serve as the canonical location for documenting the MNET API, both the XMLRPC functions and the associated code.
It is a work in progress, please add to it as you discover undocumented code.
How does work MNET
This paragraph will explain you how to setup a connection between a client and a server with mnet. It will also explain where to write the functions you wanna call in the server.
Basic Client/Server code
System methods
Specific methods
Entry points/XMLRPC documentation
The entry point is wwwroot/xmlrpc/server.php, which at some point calls mnet_permit_rpc_call, which sets some member variables in the MNET_REMOTE_CLIENT object (mnet/remote_client.php) so that later when mnet_server_dummy_method is called, it can dispatch the call accordingly. I think mnet_server_dummy_method is the only way functions get called.
Currently you can call class methods, static methods and functions. However, for a class method, there is currently only support to construct the object with no constructor arguments.
Authentication Functions
Documentation TODO
Enrolment Functions
Documentation TODO
Repository Functions
Documentation TODO
Portfolio Functions
send_content_intent
- Defined in: portfolio/type/mahara/lib.php
- Implemented in: Mahara. Moodle has this function but it is not an xmlrpc function, only a helper function to call the xmlrpc function in Mahara. (See MDL-16269)
- Parameters:
- username: username of user to find or create
- Returns: Stdclass object with keys:
- sendtype: string - either 'queue' or 'immediate' depending on what the remote system has decided
- token: string - to use for all further communication
send_content_ready
- Defined in: portfolio/type/mahara/lib.php
- Implemented in: Mahara. Moodle has this function but it is not an xmlrpc function, only a helper function to call the xmlrpc function in Mahara. (See MDL-16269)
- Parameters:
- token: string, previously return from from send_content_intent
- username: string, username of user to find
- format: string: currently just 'file', could be more later
- data: keyed array, information per format
- shared keys, expected by all formats:
- totalsize: total filesize of included files (in bytes) - used for quota checks
- 'file' format keys:
- filesmanifest: keyed array of file information (keyed by filename):
- filename: desired name of file
- sha1: sha1 of file
- size: size of file (in bytes)
- zipfilesha1: sha1 of the zipfile containing the file(s)
- zipfilesize: size of the zipfile containing the file(s)
- filesmanifest: keyed array of file information (keyed by filename):
- shared keys, expected by all formats:
- wait: boolean. whether the remote system is expected to immediately launch a request to fetch file or queue it for cron.
- Returns: Stdclass object with keys:
- status: boolean, success or failure
- type: string, 'queued' or 'complete'
fetch_file
- Defined in: portfolio/type/mahara/lib.php
- Implemented in: Moodle.
- Parameters:
- token: string, same that was returned in send_content_intent and used subsequently in send_content_ready
- Returns: base64 encoded file (currently a zipfile, as can include multiple files)