Actions

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 6: Line 6:


It is not comprehensive. Feel free to add further examples
It is not comprehensive. Feel free to add further examples
This table outlines some


{| border="1"
{| border="1"

Revision as of 08:56, 23 Mayıs 2011

Mahara 1.4 has some changes to the menu bars.

The table below has examples of some 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 backport a plugin to Mahara 1.3

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');
   }