Developer Profile – Sam Marshall

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Sam Marshall

Name: Sam Marshall
Twitter: @leafdigital
Source Code:

Tell us something about yourself

My current desktop background is from the Japanese light novel/anime/etc series Maria-sama ga miteru (The Virgin Mary is watching). The picture is a silhouette of Yumi and Sachiko holding hands in front of some abstract leaves-and-cherry-blossom swirlies drawn by the wallpaper artist.

Huh, that isn’t what you meant? 🙂

I work for the Open University as one of the lead technical developers on our Moodle-based VLE, which is used to run the websites for all the study modules that the university offers.

When did you first start programming?

First? Really?

First programming that was more than ’10 print hello, 20 goto 10′ was probably on the CASIO PB-80 pocket computer, in BASIC, when I was about six. I remember coding a Hangman game.

The system had a massive 544 bytes of memory so the way it worked was, you would code the game and have maybe 150 bytes left to put 10 or so words into the data memory. Then you would pass it to your sibling to play the game for a bit, and when he ran out of words he could edit the data and add his and pass it back.

Hours of fun and obviously far more efficient than just using a piece of paper.

When did you first encounter Moodle?

When it was suggested to replace our previous in-house system. I don’t remember exactly when, but it was version 1.6.

What did you use Moodle for?

As a developer and for troubleshooting / advising admins. Apart from that I just use it for my blog, some internal forums, and forums.

What was your first Moodle plugin? Why did you write it?

Probably it might have been the original ‘resourcepage’ module (which is now being superceded by the subpage module for Moodle 2).

When we started using Moodle and switched from our previous system, Moodle couldn’t handle pages with lists of files on, which was basically the only feature of the previous system. So in order to transition we had to implement that in Moodle.

Amusingly, even in current Moodle 2.2 six versions later, Moodle *still* can’t nicely handle pages with lists of files on without custom modules.

What is your latest Moodle plugin & why did you write it?

Literally, not sure – I write a lot. Our internal system has about 150 plugins (obviously I didn’t write all of those). Most of them are small and simple and don’t do much.

Of the ones which are publicly available, I guess subpage is latest. (And by the way, I didn’t actually originally write that one – I did a detailed design, and code reviewed the result, but it was coded by a developer at Catalyst. We’re maintaining it in-house though so I guess it is gradually getting more and more ‘mine’ or at least ours.)

Subpage I mentioned above; it’s an only slightly hacky way to let you put activities and resources onto ‘subpages’ off the main course page. It’s basically essential to the way our study module websites are developed, so I had to do it (or something like it) before we could migrate to Moodle 2.

There are a bunch of other modules that ought to be publicly available but aren’t because we haven’t had time. 🙁

What would you say to someone who is considering writing a Moodle plugin?

When you’re coding in Moodle, a lot of the time you need to go find an example from core code to basically copy.

Try to learn which modules are the ‘good’ ones you should copy and which are the old, encrusted ones that you should be cautious about copying from.

Also, try to follow the Moodle code style guidelines and put appropriate comments on everything; it’ll make your code easier to read/review for other developers and anyone considering using it.

Final Thoughts

Too busy for thinking right now. 🙂

Some Plugins

This is a list of the plugins that Sam has contributed to that are currently (Feb 2012) in the Moodle plugins database. To view all these in the Plugin database check this page

Alternative forum with AJAX and management features
OU Blog
Alternative blog. Can be used as a course activity.
OU Search
Provides an indexed full-text search backend for OU activity modules.
OU Wiki
Alternative wiki. Simple wiki designed for teaching and learning. Read the Review
This entry was posted in Moodle and tagged , , , , , . Bookmark the permalink.