Last week I wrote a post about the OU’s Moodle codebase big numbers. One resulting big number was the hits to my blog! Another was the amount of Twitter conversation generated.
Some of that was positive:
— David Kernohan (@dkernohan) February 23, 2015
Others less so:
Willem has a point, and I promised to answer his question in a blog post. So here it is.
(By the way Tim blogged on a similar topic a year or so ago, explaining how we merge a new Moodle version into our code, when we had 212 custom plug-ins.)
Using the way Moodle classifies plug-ins, here’s what we’ve got:
- 45 local extensions
- 27 reports
- 26 activities
- including 38 activity sub-plug-ins
- 36 blocks
- 14 question types
- 10 themes
- 10 admin tools
- 7 filters
- 4 question behaviours
- 4 enrolment methods
- 3 authentication methods
- 3 course formats
- 2 html editor extensions
- 2 messaging methods
- 2 repositories
- 1 profile field
- 1 portfolio extension
- 1 cache store
Phew! That’s a lot. So, some of the clues to the complexity are in “10 themes”, “3 course formats”, and “3 authentication methods”.
We’re not just running one Moodle instance with this lot. There are 9 actually. This code base includes 43 plug-ins for sites which aren’t our core VLE. Like this:
- 27 plug-ins for look & feel and additional functionality (workflow, admin and user activities) in OpenLearn, OpenLearnWorks and OpenLearn Wales.
- 8 plug-ins for different look & feel and activities in the Open Science Lab
- 3 plug-ins for look & feel and activities in our Qualifications home
- 3 plug-ins for security and look & feel in our secure online exams environment
- 2 plug-ins for authentication and additional security in the Prisoners walled garden
But I can hear Willem still … That’s still just under 200 – why so many? OK, so take off the 38 sub plug-ins as well. These are just ways we manage the code better, rather than additional features. They allow us to switch things on and off, or allow extra features to be built in an activity in a structured way. For example most are in our forum activity to allow printing, merging, deleting etc of posts.
The OU’s moodle is pretty big in other ways too – lots of courses, lots of students. Around 30 of the plug-ins help us manage that complexity through automation of course creation and integration with other systems containing student records, grades etc. A further 15 help us to monitor the system e.g. through connecting to monitoring tools, or generating load testing scripts.
Now there’s about 100 left. Still a lot. Some are deprecated. We’d like to merge half the themes together when we do a full responsive/adaptive UI revamp. We have two different synchronous collaboration plug-ins because we’ve changed suppliers recently, but students need access to tutorial recordings in the older platform. And on that note, about 10 allow integration with other systems such as Google Apps or student messaging. Other plug-ins we wouldn’t need if we started now, but it’ll take us time to move across to newer core features like course formats that offer multiple pages. And some is frankly bonkers – why we need 4 or 5 plug-ins for search, I’m not entirely sure!
One thing that struck me was the number of reports. There are constant calls for more analytics, more reporting. We occasionally talk about how this should be done outside Moodle – looks like that’s just talk. I’d really like to see us work on this soon, and maybe we could loose a few plug-ins by passing the work to a system better suited to the job.
Even then we’re left with a pretty big number – about 40 if you’re still counting! You can take this as a positive sign – look how well you can configure Moodle to do whatever you want. Or as a negative one – look how much effort to get anything useful. I won’t comment either way on that! What I will say is that we’ve used plug-ins rather than customising the core product, so some of the “local” extensions are for that reason. We feel it is better to have a custom plug-in than hacked core. And we’ve got a range of activities that provide a rich study experience – including audio recording, a virtual design studio, complex assessment engines, collaborative document editing, forums that can withstand large numbers of students, and rich support for maths and chemical notation.
Have we got too many plug-ins? Maybe. But then again we keep finding reasons to add more, so maybe not. And actually how many is too many? If they’re small (and some are), then an additional plug-in isn’t a significant overhead, especially if it is suitable provided with unit and behavioural automated tests.