Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

MNet Roadmap: Difference between revisions

From MoodleDocs
m (category edit)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Changes Penny wants to make for Portfolio API/further Mahara Integration==
{{Infobox Project
|name = Mnet Standards Roadmap 2014
|state = Early specification]
|tracker = MDL-40905
|discussion = [https://moodle.org/mod/forum/discuss.php?d=175158 here]
|assignee = many
}}


===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:


Key architectural considerations up for further discussion are:


{| border="1" cellpadding="2" cellspacing="0"
* importing SimpleSAMLphp as a first class addition to Moodle and Mahara to make the process of configuration simpler
|-
* introduction of wizards and automations that hide the complexity of SSO integration configuration
|'''Field'''
|'''Datatype'''
|'''Comment'''
|-
|id
|integer
|sequence
|-
|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.
===Common Tasks===


===More sensible namespacing===
* Deprecation roadmap - figure out the tasks, and milestones required to determine what releases will mark out the deprecations of the existing MNet functionality as the web services and SAML authentication replacement becomes available.
* Standardise on REST + JSON


Currently the xmlrpc functions are namespaced according to what file in Moodle their php equivalents are. EG: 
The following task lists are divided by system, but this does not necessarily delineate responsibility.


enrol/mnet/enrol.php/enrol_user        | enrol_user
===Mahara Centred Tasks===


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.
* Land the Web Services plugin in Mahara core
* Include SimpleSAMLphp as first class library
* Connection manager for client connections in web services - ssphp connection wizardwizard for inter-Moodle/Mahara connections "just enter URL + Token"
* Migrate MNet functionality to Web Services for Portfolio, account provisioning
* Update Launch block for network servers


===Split between xmlrpc functions offered and xmlrpc functions available===
===Moodle Centred Tasks===


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)
* Include SimpleSAMLphp as first class library
 
* Connection manager for client connections in web services - ssphp connection wizard, wizard for inter-Moodle/Mahara connections "just enter URL + Token"
==Changes Catalyst will be making to improve Moodle/Mahara SSO==
* Migrate MNet functionality to Web Services for mahara portfolio plugin, assignment plugin, account provisioning
Nigel todo
* Assignment plugin was originally proposed to be replaced with LTI based functionality, but a better approach has been suggested using a repository plugin.
 
* Authentication sources separate from mdl_user table
==Changes Catalyst want to make longer term==
* Investigate community hubs and MNet use ?
Nigel/Peterb todo
* Launch block replacement for MNet servers jump point
 
[[Category:MNet]]

Latest revision as of 09:51, 7 October 2014

Mnet Standards Roadmap 2014
Project state Early specification]
Tracker issue MDL-40905
Discussion here
Assignee many



Key architectural considerations up for further discussion are:

  • importing SimpleSAMLphp as a first class addition to Moodle and Mahara to make the process of configuration simpler
  • introduction of wizards and automations that hide the complexity of SSO integration configuration

Common Tasks

  • Deprecation roadmap - figure out the tasks, and milestones required to determine what releases will mark out the deprecations of the existing MNet functionality as the web services and SAML authentication replacement becomes available.
  • Standardise on REST + JSON

The following task lists are divided by system, but this does not necessarily delineate responsibility.

Mahara Centred Tasks

  • Land the Web Services plugin in Mahara core
  • Include SimpleSAMLphp as first class library
  • Connection manager for client connections in web services - ssphp connection wizard, wizard for inter-Moodle/Mahara connections "just enter URL + Token"
  • Migrate MNet functionality to Web Services for Portfolio, account provisioning
  • Update Launch block for network servers

Moodle Centred Tasks

  • Include SimpleSAMLphp as first class library
  • Connection manager for client connections in web services - ssphp connection wizard, wizard for inter-Moodle/Mahara connections "just enter URL + Token"
  • Migrate MNet functionality to Web Services for mahara portfolio plugin, assignment plugin, account provisioning
  • Assignment plugin was originally proposed to be replaced with LTI based functionality, but a better approach has been suggested using a repository plugin.
  • Authentication sources separate from mdl_user table
  • Investigate community hubs and MNet use ?
  • Launch block replacement for MNet servers jump point