This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Mark Johnson.
Tell us something about yourself
I studied a BSc in Internet Technology and Web Design at Southampton Solent University. From there I landed a job at Taunton’s College, a 6th Form College in Southampton, where I still work as an in-house web developer mainly working with Moodle.
When did you first start programming?
I wrote my first program in PHP when I was about 14/15. I had a book called “PHP and MySQL for Dynamic Web Sites” and just worked through the examples in that (I’d been interested in building websites for a while).
My first proper web application was a bespoke CMS for a now-defunct local music e-zine run by myself and a friend of mine. It was pretty cool but we both moved away to university and it died.
When did you first encouter Moodle?
I read about it in Linux Format magazine in my first year at University, and thought “That sounds a lot better than what we’ve got at the moment” (a system called LearnWise). The next year, the University switched to Moodle.
What did you use Moodle for?
Originally I used it as a student, now I’m admin/developer, but I also use it to deliver training materials.
What was your first Moodle plugin? Why did you write it?
My first Moodle plugin was the Accessibility block. I wrote it when I started my current job as I’ve always been interested in web accessibility and I needed a project to cut my teeth on. It posed a few tough challenges (and still does), but has taught me a lot and resulted in me collaborating with a developer at the University of Southampton.
What is your latest Moodle plugin & why did you write it?
I’ve got a few on the go at the moment, but my most recent one is called Dashboard. It’s a block that’s designed to sit in the middle region of the page, and will display big icons that link quickly to pages relevant to the user. I’ve pushed the current code to github, but it’s all hard-coded at the moment so isn’t ready for release yet.
I wrote the dashboard block because we’ve been working to deliver as much digital information to students, staff and parents to save on printing costs and the hassle of distribution. There’s been a lot of useful stuff on our Moodle for a while (grade overviews, attendance data, exam timetables) but it’s not been visible enough to the users. The Dashboard is designed to wave it in their faces.
What would you say to someone who is considering writing a Moodle plugin?
Come along to my Moodle Plugins workshop at Dev8D on the 14th-16th of February at ULU in London. It’s a fantastic event and it’s free, they even feed you during the day!
The Moodle community is great, the perfect combination of users and developers helping each other out. I’ve always been passionate about Open Source and Free Software and Moodle’s community does it right.
This is a list of the plugins that Mark has contributed to that are currently (Jan 2012) in the Moodle plugins database. To view all these in the Moodle.org Plugin database check this page
|Accessibility||Provides options for changing text size and colour scheme. Settings can be saved to persist between sessions.|
|Appointments||This block provides a form for teachers to book 1 to 1 appointments with Students on a class.|
|Configurator||Allows aribitrary editing of config values for core and plugins.|
|Message My Teacher
||This block allows configuration of roles to be considered “Teachers” of a course. The block will then display a list of these teachers for the current course in the block, with a link to message each one|
||A modified version of the HTML block that allows the block to change or hide depending on whether the user is accessing the page though a local network, or the public Internet.|
|PaperCut Print Quotas
||Displays the Papercut Web Widgets in a Moodle block, allowing the user to see their current balance and environmental impact.|
|Quick Course List
||This block allows quick searching of Moodle courses, and displays a link to the course page.|
||This block allows quick searching of users from a block, and displays a configurable link for each search result|
|Upload Metacourse links
||This block allows linking of metacourses and child courses by upload of CSV flatfiles. Imports can be done by ad-hoc upload, or by a regular cron job.|
|Upload Tutor Relationships
||This block allows assignment of user roles in another user’s context by upload of CSV flatfiles. Imports can be done by ad-hoc upload, or by a regular cron job.|