Skip to content


Creating a Custom Child Theme in Moodle 2.6

I’m spending a fair amount of my time now working on and supporting a medium-sized Moodle installation. I will not sugar coat it: Moodle is far from my favourite piece of web software — its considerable UI complexity being my chief complaint — but it does do a reasonable job and it has a rich enough feature set to make it quite an asset in the education world.

This complexity to Moodle sometimes doesn’t exactly make it easy to do the right thing as a developer, and working with themes could be somewhere where developers diverge from best practices. The temptation to clone your favourite theme just to make a few tweaks here and there leaves people unable to track changes to the base theme, and keep their site up-to-date.

So, I have put together a video showing how you can create a custom theme (a child theme in WordPress parlance) that inherits mostly from your base theme, but allows you to override CSS and even bits of the HTML structure of Moodle’s generated pages.

I think it’s actually an easier process than people think!

As always, I welcome feedback, and if you found this particularly helpful, I’m always happy to have a few pennies drop into the PayPal account!

Find this tutorial useful?

Teaching Computing in Schools

'Keyboard' by john_a_ward on Flickr

There has been quite a lot of recent press coverage of the Next Gen. report, by Ian Livingstone and Alex Hope. One of the key issues raised has been the way that computing is taught in British secondary schools.

At the moment, Information and Communication Technology, ICT, is essentially a crash course in how to use Microsoft Office. That is, for many secondary school pupils, almost the entirety of the coverage of computing in the curriculum.

[The curriculum] focuses in ICT on office skills rather than the more rigorous computer science and programming skills which high-tech industries… need

For someone passionate about technology and computers in many different ways, my experience of this manufactured ‘ICT’ subject in secondary school was utterly, utterly uninspiring. I don’t think this was a particular fault of the school, I think it was a systemic failure of the curriculum.

It is, of course, important that school-leavers are capable of the kind of basic office productivity tasks on computers. These are skills that many employers will need and I don’t question the educational value of that for a moment, even if it is a little dull.

For someone like me, however, this ‘ICT’ subject completely failed to recognise and encourage my talent and enthusiasm in computing. I therefore developed my skills outside of school. It is troubling, though, that there will be many other children who may have huge potential in this field who may not have opportunities to develop computing — computing beyond merely using a word processor — outside of school.

Research by e-skills UK has shown that young people find the existing ICT curriculum to be boring, poorly taught, too basic, and perhaps most importantly, too narrowly focused on office applications. This has a knock-on effect on their perceptions of computing- related careers as poor, dull, repetitive and low-paying.

It is again, very concerning that ‘ICT’ is creating a perception of computing as mundane, tedious and with little future potential. The job of the education system isn’t just to produce qualified people — it is to inspire people in subjects they might not have even considered before, and to develop and nurture the talents of the individual.

I am sure there are individual schools, and individual teachers, doing a better job than the curriculum mandates, and for that, they should be applauded.

The good news is that this report is being listened to by the UK government:

… the Government recognises that the current ICT programme is insufficiently rigorous and in need of reform.

I hope that this country can make progress in this area. The current state of affairs for computing in UK secondary schools is not just disappointing, there is a real danger of missing great opportunities — for individuals, and for the whole country.

Image is a modified version of Keyboard, by Flickr user john_a_ward. The image is licensed under CC-BY 2.0.

Learning Django

I’ve been a developer in PHP for quite some time now. I don’t honestly remember when it was that I first got a working WAMP setup, which kickstarted my interest in web applications with PHP, but I certainly remember how rewarding it was to finally get it up and running and be able to start with PHP.

Since then, I’ve embarked on a fair few projects in the language, and it has served me well for a lot that I’ve done with it.

I think the time has come, though, to expand my web application and programming horizons and look at something else.

I meant to blog about quite a long time ago, but I’m now investing time into learning Django (and therefore Python as I go along).

I bought Sams Teach Yourself Django to give me some direction in my learning of the framework. From what I’ve gone through (up to Hour 10 out of 24), I’m finding it a very useful tool to help me have a project in which to learn. I might follow up with a more in-depth review of it (either here, or on FOSSwire) if I think it worthy, once I’m done with it.

Sams Teach Yourself Django

I’m also liking Django. While it lends itself more to larger projects than to small one-time scripts, it is an impressive framework on top of Python that automates lots of the things that you have to micro-manage in PHP.

Having said this, my ventures into the realm of Django and Python do not mean I’m abandoning PHP. Just as I’ve done with running Mac OS X alongside Linux without abandoning Linux, Django will become an addition to my repetoire, not a replacement for PHP. As always, it will be about the right tool for the job.