This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Brendan Rollinson-Lorimer.
Tell us something about yourself
I graduated from the University of Waterloo approximately three years ago with a degree in Math and Computer Science. At university, I participated in the co-op program, where I worked for five different companies across six work terms.
I currently work full-time for Remote-Learner, doing Moodle-related development work. This is my first job after graduating from university.
Outside of work, I spend time listening to music.
When did you first start programming?
I taught myself to program in Visual Basic 6 in 2000, more so out of curiosity than for any particular reason. The first proper project I took on involved writing my own graphical HTML editor for personal use.
Shortly afterward, I participated in three high school courses in “Computer and Information Science” that involved programming in Turing. The most significant project in any of these courses involved writing a graphical Jeopardy game with one other student.
When did you first encounter Moodle?
I first encountered Moodle when performing research before applying for my current job at Remote-Learner.
At the time, I had never heard of Moodle before, but was familiar with some competing products, such as Angel (which I used at school), and the Sakai Project (which I was exposed to at a co-op job).
What did you use Moodle for?
I mainly use Moodle as a developer. I spend most of my time with Moodle developing for an enterprise-level product that sits on top of it, providing extra functionality.
I also spend some time testing similar functionality, including features that integrate with specific components and features of Moodle.
What was your first Moodle plugin? Why did you write it?
The first Moodle plugin I wrote was a block that displayed entries from the Moodle log database table. This plugin was not used in a production environment. I wrote this block as part of my interview process for my current job.
The first Moodle plugin I wrote that was useful in practice was a block that imported data for state standards for use in custom reports. This data was subsequently used in a suite of custom JasperServer reports that end users could view. I wrote this block as part of a custom development project for a particular customer.
What is your latest Moodle plugin & why did you write it?
I worked on the ELIS 2 Curriculum Manager release for Moodle 2.
I am current working on writing a block for Moodle 2 that imports CSV files, creating data based on their contents. This import process is used to integrate Moodle with a variety of external systems. This plugin is the Moodle 2 version of an existing company product, with several improvements.
What would you say to someone who is considering writing a Moodle plugin?
There are an extremely large number of plugins available for Moodle 1.9 and 2.0 on moodle.org, including contributed plugins. Make sure you’re not re-inventing the wheel if you don’t have to. If you write something that is generally useful, share it with other potential users via moodle.org or otherwise.
moodle.org also has plenty of developer documentation that you will find helpful when writing a plugin for the first time.
Lastly, keep in mind whether you want to write versions for both Moodle 1.9 and / or 2.0. Right now, many people are using both version of the product, and there are some API changes between the two of them.
The Moodle community is very open, and is receptive to suggestions, code contributions and bug reports. If you are encountering an undocumented problem, make a comment about it on the Moodle forums or create a tracker issue.
This is a list of the plugins that Brendan has contributed to that are currently released to github. To view all these check the Remote-Learner Github
|ELIS Reporting||This Plugin provides enhanced reporting for curriculum and user sets in the Moodle extension ELIS.|
|ELIS OPENID||This is the OpenID authentication add-on for ELIS.|
|ELIS CM||This plugin is the primary ELIS Curriculum Management component.|
|ELIS Alfresco||This plugin is the ELIS Alfresco Integration component.|
|ELIS Base||This plugin is a group of base modifications to Moodle which are required for other ELIS components.|