Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: MNET 2.0.

Development:MNET 2.0: Difference between revisions

From MoodleDocs
(New page: == Introduction == This page attempts to summarise the changes in MNET between Moodle 1.9 and Moodle 2.0, both from an administrative perspective, and a code perspective. There are still...)
 
No edit summary
Line 7: Line 7:


== Backwards Compatibility Breaks ==
== Backwards Compatibility Breaks ==
=== Plugins registering MNET services ===
It used to be that the plugins that needed to export mnet services used a mnet_publishes() method on the class (static or not).  This led to a list of hard coded plugins that supported it, and in some cases auth factory involvement, just to get a list of the RPC functions available.
This has now changed to a file containing an array, in db/mnet.php, similar to lib/db/services.php.  This file looks something like this (example from the Mahara portfolio plugin):
<code php>
$publishes = array(
    'pf' => array(
        'apiversion' => 1,
        'classname'  => 'portfolio_plugin_mahara',
        'filename'  => 'lib.php',
        'methods'    => array(
            'fetch_file'
        ),
    ),
);
$subscribes = array(
    'pf' => array(
        'send_content_intent' => 'portfolio/mahara/lib.php/send_content_intent',
        'send_content_ready'  => 'portfolio/mahara/lib.php/send_content_ready',
    ),
);
<code>
Note that there is a unsymmetricality between the methods that are published and the methods that are subscribed to.  '''This is new'''.
See the following bugs about this:
* MDL-21261
* MDL-16269
* MDL-16277
=== Method signatures ===


== Other code changes ==
== Other code changes ==


== Administrative changes ==
== Administrative changes ==

Revision as of 03:37, 16 February 2010

Introduction

This page attempts to summarise the changes in MNET between Moodle 1.9 and Moodle 2.0, both from an administrative perspective, and a code perspective.

There are still things to do before 2.0 is released, so this page is a work in progress.


Backwards Compatibility Breaks

Plugins registering MNET services

It used to be that the plugins that needed to export mnet services used a mnet_publishes() method on the class (static or not). This led to a list of hard coded plugins that supported it, and in some cases auth factory involvement, just to get a list of the RPC functions available.

This has now changed to a file containing an array, in db/mnet.php, similar to lib/db/services.php. This file looks something like this (example from the Mahara portfolio plugin):

$publishes = array(

   'pf' => array(
       'apiversion' => 1,
       'classname'  => 'portfolio_plugin_mahara',
       'filename'   => 'lib.php',
       'methods'    => array(
           'fetch_file'
       ),
   ),

); $subscribes = array(

   'pf' => array(
       'send_content_intent' => 'portfolio/mahara/lib.php/send_content_intent',
       'send_content_ready'  => 'portfolio/mahara/lib.php/send_content_ready',
   ),

);

Note that there is a unsymmetricality between the methods that are published and the methods that are subscribed to. This is new.

See the following bugs about this:

Method signatures

Other code changes

Administrative changes