Changes Penny wants to make for Portfolio API/further Mahara Integration
Splitting of Application from Services
As mnet evolves and potentially other services are offered than sso and enrolment, and potentially as more applications are written that talk mnet (there was a drupal mnet project, for example), it makes sense to start splitting out what services are offered by each application. To this end, I propse adding a new table, application2service, which links application to service, and moves the url field from the application table. It would look like this:
|applicationid||integer||fk to mnet_application|
|serviceid||integer||fk to mnet_service|
|url||char (255)||this is to replace application.sso_land_url (application.xmlrpc_server_url should still stay where it is)|
I had originally thought about adding publishable and subscribeable fields to this table, but really I think this should be dictated by what the remote hosts offer. Not convinced on this point yet.
More sensible namespacing
Currently the xmlrpc functions are namespaced according to what file in Moodle their php equivalents are. EG:
enrol/mnet/enrol.php/enrol_user | enrol_user
This was logical when it was just Moodle talking to other Moodles, but now it's really not. For the Mahara Portfolio plugin, Moodle needs to call two functions in Mahara, content_intent and content_ready. It's logical to namespace them like portfolio/content_* but this breaks the current trend.
Split between xmlrpc functions offered and xmlrpc functions available
Currently, Moodle doesn't differentiate between functions it offers and functions it might call. These are symmetrical, because Moodle was originally just going to talk to other Moodles. However now, oodle must realise that mnet functions exist that it might never want to implement, only call (and the other way around). Ideally this would be done by linking applications to services, and services to rpc (and namespacing correctly)
Changes Catalyst will be making to improve Moodle/Mahara SSO
Changes Catalyst want to make longer term