Developer Area/Plugin migration between Mahara 1.3 and 1.4: Difference between revisions
From Mahara Wiki
< Developer Area
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Mahara 1.4 has some changes to the menu bars. For example the top level tabs 'Profile' and 'My Portfolio' have become 'Content' and 'Portfolio'. | Mahara 1.4 has some changes to the menu bars. For example the top level tabs 'Profile' and 'My Portfolio' have become 'Content' and 'Portfolio'. | ||
Also, the 'My' has been dropped from tabs such that, for example, 'My Plans' becomes 'Plans' and has moved from under the 'My Portfolio' tab to 'Content'. | Also, the 'My' has been dropped from some other tabs such that, for example, 'My Plans' becomes 'Plans' and has moved from under the 'My Portfolio' tab to 'Content'. | ||
The table below has examples of the code differences required for plugins in Mahara 1.3 and Mahara 1.4. | The table below has examples of the code differences required for plugins in Mahara 1.3 and Mahara 1.4. | ||
Line 78: | Line 78: | ||
define('MENUITEM', ''''content'''/plans'); | define('MENUITEM', ''''content'''/plans'); | ||
|} | |} | ||
In some cases, it may be worth considering conditional statements to enable a plugin to work with either Mahara 1.3 or 1.4. For example | In some cases, it may be worth considering conditional statements to enable a plugin to work with either Mahara 1.3 or 1.4. For example | ||
Line 89: | Line 90: | ||
return array('external'); | return array('external'); | ||
} | } | ||
You may also need to increment $config->version in version.php then use your browser to visit Site Administration and update the plugin, in order for the changes to 'take'. |
Revision as of 13:18, 25 Mayıs 2011
Mahara 1.4 has some changes to the menu bars. For example the top level tabs 'Profile' and 'My Portfolio' have become 'Content' and 'Portfolio'.
Also, the 'My' has been dropped from some other tabs such that, for example, 'My Plans' becomes 'Plans' and has moved from under the 'My Portfolio' tab to 'Content'.
The table below has examples of the code differences required for plugins in Mahara 1.3 and Mahara 1.4.
This may help anyone upgrading a plugin to work in Mahara 1.4 or backporting a plugin to Mahara 1.3 and ensuring that the plugins are correctly located on the menu bar
It is not comprehensive. Feel free to add further examples
Plugin | File | Mahara 1.3 | Mahara 1.4 |
---|---|---|---|
blocktype
/externalfeed |
lib.php |
public static function get_categories() { return array('feeds'); } |
public static function get_categories() { return array('external'); } |
blocktype
/externalvideo |
lib.php |
public static function get_categories() { return array('fileimagevideo'); } |
public static function get_categories() { return array('external'); } |
artefact
/plans |
lib.php |
public static function menu_items() { return array( array( 'path' => 'myportfolio/plans', 'url' => 'artefact/plans/', 'title' => get_string('myplans', 'artefact.plans'), 'weight' => 40, ), ); } |
public static function menu_items() { return array( 'content/plans' => array( 'path' => 'content/plans', 'url' => 'artefact/plans/', 'title' => get_string('Plans', 'artefact.plans'), 'weight' => 60, ), ); } |
artefact/plans |
index.php new.php plan.php |
define('MENUITEM', 'myportfolio/plans'); |
define('MENUITEM', 'content/plans'); |
In some cases, it may be worth considering conditional statements to enable a plugin to work with either Mahara 1.3 or 1.4. For example
public static function get_categories() { require_once(get_config('libroot') . 'version.php'); $release = $config->release; if ($release < 1.4) { return array('feeds'); } return array('external'); }
You may also need to increment $config->version in version.php then use your browser to visit Site Administration and update the plugin, in order for the changes to 'take'.