From Mahara Wiki

Revision as of 16:55, 23 June 2011 by Hughdavenport (talk | contribs)

I'm Hugh,

I started on the Mahara team shortly after I started work at Catalyst IT Ltd. I started off mainly doing bug fixes for the 1.4 release, and have since done some more substantial contributions. Some notable contributions I have made for Mahara are shown below (earliest first).


This is a list of all the notable contributions I have made into Mahara core.

Other contributions I have made consist mainly of bug fixing, and a list of these bugs can be seen here

Fixing selenium tests to work with 1.4

Mainly changes to name changes between 1.3 and 1.4


Google Apps Blocktype

This was a patch sent in by Gregor Anželj, which I cleaned up for review. This was integrated into Mahara 1.4


Group Quotas and Institutional Default Quotas

This work was funded by the Ministry of Education of New Zealand. It involves two major parts:

  • Group Quotas
  • Institutional Default Quotas

Group Quotas

Adds support for group quotas so that a site administrator can set both a default, and quotas for each specific group. The group quota includes any artefacts added to a group area, but does not include personal artefacts of group members.


Default Institutional Default Quotas

This adds support for defining default user quotas for each institution in a mahara system that overrides the site wide default user quota. The site administrator has a new option to allow/disallow the overriding of default user quotas. When overridden, when a new user is created in a particular institution, they get the default quota specified by the institution, not the site wide default.

The quota is not changed when a user is added to an institution after creation time, or when they manually register themselves (this functionality is waiting on an overhaul of the registration system)


Collection Copying

This feature was added after a request was made by Rocky Views Schools in Canada, and funded by the same. This patch made it possible to allow copying of a collection as well as a view.

An extra feature was also added to allow the original creator to specify whether copied pages/collections allow them view access, which is useful for tutors making pages/collections for students to copy but automatically allowing the tutors to view any changes they make. This access can be overridden in the usual way at a later point.


Extending Image Gallery Blocktype

This was another patch by Gregor Anželj, which I cleaned up for review, as well as finishing the development. Basically this extends the image gallery blocktype to allow external photo hosting sites such as Flickr, Panoramio, Photobucket, Picasa, and limited support for Windows Live Albums.

The feature was committed into the master branch, and will be released with Mahara 1.5.


Code sanitizing script

This script was made after discussion on and off IRC. It was mentioned it would be useful for a script to automatically detect any nonconformance to the coding guidlines. A script that did this was made by Brett Wilkins, and I decided it would be useful to create a script that actually cleaned the code (so that it should pass when run under the first script). This would be useful as we could clean up the existing code in core Mahara, and also clean up any new commits we make. This script is still experimental and the diff should be inspected to make sure it didn't do anything daft, as well as testing functionality still works.

The script itself is just a group of sed scripts that modify mainly bracing ('{' '}') styles, but also deals with whitespace issues.

The script can be run by running the following

./test/ [directoryorfilename] ...


User Tags

This adds a feature to mahara to have user tags. The development was funded by the Ministry of Education New Zealand.

The feature enables tags (just like the tags on pages, artefacts, etc) for users in mahara. Administrators can edit these tags on the user edit page.

An extra feature added was a lastinstitution tag, which is used for searching for users to add to institutions based on what institution they were in last.


reviews in progress: