From Mahara Wiki

Hi, I'm Darryl Hamilton, new contributor to Mahara. I work for Catalyst IT in New Zealand, where I started in late 2009.

I've been writing PHP code since 1999, dabbled in a variety of other languages like Python and C# over the years. In 2007 I got the chance to work on Ruby on Rails projects.


I started contributing to Mahara around mid April 2011.

Improved the Leap2a import artefact fixer methods

LaunchPad Bug:


The Leap2A import had some code that matched up external artefacts with ones already imported, and updated the links accordingly. Unfortunately this code required the attributes of the links to be in a specific order and ignored links where the order was different. I spent a bit of time rewriting this to use PHP's DOMDocument system (SimpleXML turned out to be too simple) so the order of the attributes was irrelevant.

Sitemap generation

LaunchPad Bug: Commits: and

I was asked to write code to generate a sitemap for Mahara installations, using the protocol. There was a lot of learning how SimpleXML worked, and when that proved unable to do all that was required (specifically around namespaced attributes), switching to DOMDocument, and learning how that worked.

Institution level control of public view creation

LaunchPad Bug:


This one allowed me to get quite deep into the core of Mahara, working a lot with the custom Pieforms element ViewACL. Quite a few patchsets went into this one, with lots of comments and improvements.

Other bugs

Some of the other bugs I've fixed or contributed to are:

  1. (Changing username for external authentication does not change Mahara username)
  2. (Theme directory name and unrecoverable WSOD)
  3. (LEAP2A import artefact fixer uses the wrong namespace)
  4. (Export hangs when files are missing on disk)