Top 10 Moodle third-party plugins

[pulledquote]The ‘M’ in Moodle stands for ‘Modular’, or the ability for third-party developers to create their own blocks, modules, assignments, question types, etc. Whilst it’s relatively easy to find third-party Moodle plugins using the database on Moodle, I decided to compile my own list of favourites.[/pulledquote]

10. Online Audio Recorder

The Online Audio Recorder is an assignment type that can be used to let your students record audio directly into their web browser. It uses Flash so it won’t work on iPhones or iPads (the iOS app allows students to record in other places). This third-party plugin would be further up in the list if I could get it to work in my current Moodle installation – working on it. I had it working (effortlessly) in the past and it was great. You can read my review of this assignment type here


9. Gmail

The Gmail block is part of a wider Google Apps integration. There are quite a few flavours hanging about but I used the one provided by Catalyst and so far it works great, a bonus is that it will work even if you don’t want to enable Single Sign On. This integration comes with a ‘Google Apps’ block giving you links to Google Calendar, Gmail, Google Docs & Google search page. It also adds a ‘proper’ repository for Google Docs, allowing you to easily share your Google Docs with your students. Only problem is that it’s not super easy to install for lack of instructions – it’s well worth the effort though.


8. Slideshow

The Slideshow module has helped me get teachers who were not so keen on Moodle to actually use it. The idea for this module is simple – you upload a bunch of photos, it resizes them and makes them available in a… slideshow. Although it is simple, it is extremely useful and the possibilities are endless. You can use it to showcase your students’ work if you are an art, DT, drama, any creative subject teacher; You can use it to show steps to complete a particular task (photos come with captions) in science, DT, etc.; You can use it as a social tool, sharing photos of trips, assemblies, sports days, etc. ; Using the power of permissions, make students ‘be the teacher’ for this activity and let them upload their own photos so that you can use it as a dropbox. Those are only some of the things you can do with this great module.


7. Aardvark Postit theme

My focus is on teaching & learning so some of you might be wondering why I am listing a theme as useful third-party ‘plugin’. The reason for me selecting the Aardvark Postit theme is simple – it looks great. If that sounds shallow to you, take a look at the survey I conducted 18 months ago and you’ll find out that students prefer courses that look good. My High School students think it looks great, staff think it looks good (also a big help to get staff to use Moodle), so I’m happy.


6. Open University question types

In the spirit of sharing, the Open University has made available the 15 question types they have created for Moodle 2.1 and newer. Question types include ‘drag n drop into text‘, ‘drag n drop markers‘, ‘drag n drop onto image‘, ‘OU multiple response‘, ‘Pattern match‘. This set of question types adds to the already very capable Moodle standard question types. 


5. Certificate

The certificate module has been around a while but I only started using it when I upgraded our Moodle installation to Moodle 2.x and it was an instant hit. In Moodle 2.x you have the ability to make activities/resources available if certain conditions have been met e.g. little Johnny has completed activity B, he can now ‘see’ activity C; or little Jimmy scored 67% in test A, he can now ‘see’ resource B. This is perfect to only make certificates available to students who have met certain conditions.

The certificate module does one thing – it awards certificates to students who have completed specific activities. I use it to reward students when they finish certain modules and so far they have been very responsive to it. 


4. Quickfind list

Ever needed to email a student? Check extra information about that student? Login as that student? Or do anything that requires you to go to the student’s profile? The Quickfind list block allows you to quickly search for students & get to their profile page. You start typing a student’s name and it starts showing you a list of possible entries – very much like Google instant search; you can then click on the student’s name and it will take you to their profile page. The block can also be setup to show other users than just students.


3. UploadPDF

Providing informative feedback to students when they have completed an assignment is vital for their learning and the UploadPDF assignment type allows you to do just that. Students must first save their work as a PDF before they can upload it to Moodle (hence the name). Once uploaded you will be presented with a marking interface with pre-defined settings (ticks, crosses, smiley face, etc.) that allow you to mark your papers quickly. You also have the ability to write comments, and even better ‘save’ your most used comments and make them appear in a drop-down box for easy & quick marking. This will save you HOURS in marking time.


2. Checklist

I cannot imagine (teaching) life without the checklist module. I teach MYP technology and my students need to produce a very long document for each unit of work they complete. Although I make detailed level descriptors available for each unit, students still find it difficult to remember/understand all of what is required in the documents. This module is a life saver – it will allow you to create checklists for students to use and will allow you to view your entire class at a quick glance & see their progress. Check out my (very old) review for this great plugin – the module has been updated since and some features have been added.


1. Drag’n’drop upload

The drag’n’ drop upload block has helped me so much it deserves first place. I recently had to re-introduce Moodle to the near 100 staff at my new school. Moodle had somewhat of a negative image in the school and I actually heard a ‘wow’ in the crowd when I showed how easy it has become to make files available in Moodle thanks to this block. You’ll have guessed with the name, the drag’n’drop upload block will allow your users to drag files onto Moodle, and it will upload them at once (yes, that is files – plural). Check out my recent review for this great block.


How about you?

Davo Smith has snatched first, second and third place! That’s quite impressive considering I am a big consumer of third-party plugins; I reckon I’ve tried all the plugins in the Moodle database. What are your favourite third-party Moodle plugins? Please drop a comment with your favourites and why they are your favourites. Please try and give links so that we can download and try your gems.

Drag and drop - easy file management for Moodle

[pulledquote]If I was given a penny every time a teacher tells me how frustrated they are with the ‘out-of-the-box’ Moodle 2 file management system, I would be quite a few dollars better off. Davo Smith came up with a simple and elegant solution, the drag’n’drop upload block.[/pulledquote]

What it is

It basically does what it says on the tin; you drag files from your desktop (or from any other folder for that matter) and you drop it onto Moodle. You can see it magically upload onto Moodle! Yes, you read right: files, with an s. You can upload multiple files with this, and I’m yet to reach some sort of limit with this system. You can now add all of your resources to your Moodle courses in minutes! Apologies for the use of exclamation marks, but this is really exciting. I have to confess, this is my all-time favourite Moodle plugin.

The good

Multiple file upload

Repeating myself here, but for the impatients who didn’t read the ‘What it is’ section, you can now upload multiple files to your Moodle courses. You can upload any filetype that can be handled by Moodle. 

Upload progress bar

Each file that you upload comes with its very own upload bar. You don’t even get that when using the Moodle file picker. 


You can also drag’n’drop links to websites onto your Moodle page, it will create it for you (after you have named it using the pop up box provided). 


This one is just the icing on the cake. You can take any bunch of text, drag it to your page, drop it and Moodle will automagically create a webpage for you. Cherry on the icing, it even plays nicely with text imported from a MS Word document (only some minor loss of fidelity – tables and such work).


This block is available for Moodle 1.9 all the way to 2.2 (the most current at the time of writing). That in itself is commendable.


The could be improved

Browser support

Actually this one couldn’t be improved. The block only works with Firefox or Google Chrome. It might work in future versions of Internet Explorer but it all depends on how quickly Microsoft  decides to implement the necessary HTML5 technology. The plugin will show a message if your browser is not compatible should you try using IE or Safari. 


Unless I missed something in the settings, there is nothing preventing you from installing the block multiple times in a course. That results in files being uploaded multiple times as well e.g. two blocks on a course, each file would be uploaded twice.

Popup or embed

There is a site-wide setting to choose what your files should do by default (auto, embed, popup, etc.) but as far as I know this is not a block setting. Problem with this site-wide setting is that it is applied for every user; it would be great if we had it at user level, that’s nit picking though.


There is no way to manage licensing using this plugin. To be fair, this plugin makes your life so much easier that it shouldn’t bother you too much. There is always a way to ask your Moodle admin to change the default licensing of all newly uploaded files. There are talks about Moodle 2.3 allowing for a more granular control over licensing, stay tuned.

No folders

This might be technically impossible, I don’t know but I always want more. Drag’n’drop folders is what I want for my birthday.


Tips on usage 

File names

Make sure you name your files correctly before uploading them – it’s much easier to rename a bunch of files using Windows Explorer or Mac OS Finder than doing it in Moodle. 

Block availability

Make this block available throughout the site as an admin. In Moodle 1.9, make the block a ‘sticky block’ and in Moodle 2.x, make the block available on all main course pages. This will help improve user experience throughout the site and avoid confusion (you would be surprised as to how quickly you get used to drag’n’dropping files onto Moodle)

Break the old habits

We are used to thinking of file management system as folders, sub-folders and files. I introduce this to staff in a completely different manner that allows me to forego the Moodle 2 file management system altogether. All I say is the following: Your course is now your main folder e.g. ICT, Year 8; your topics are now your sub-folders e.g. Word processing, and everything under labels are sub-sub folders e.g. word processing / macros. This has worked well for me so far.

Get it

Go, get it now.

Moodle Health Check

[pulledquote]I have been trying to get Moodle 2 (and 2.1) working properly on a GoDaddy Linux server for the past week so far to no avail. This has seriously been winding me up and many times have I pictured myself throwing my computer out of the window. Considering my poor computer isn’t at fault, I decided it would be more constructive to share the tools I’ve used to help me solve my problem. [/pulledquote] 

Moodle forums

This should really be your first step. If you found my website using Google and have never used the forums, please do yourself a favour and go there. If you have already visited the forums and have not found the answer you were looking for, maybe you’ll be lucky and find it here (make sure you check the comments at the bottom of the page). I cannot stress this enough – the Moodle community really is fantastic.


Debugging mode

Turning on debugging really comes in handy. Basically it will display extra messages usually at the top of your Moodle pages. You can turn it on in the Administration> Development> Debugging.

There are different levels of  debugging – choosing ‘ALL’ is usually enough and will be useful if you need to report an issue in the Moodle forums.

Moodle Debugging


XMLDB Editor

This tool can be found in Administration>Miscellaneous>XMLDB editor

Although it has a scary name, this tool is very easy to use and can return some useful messages. I recently upgraded our Moodle installation at school and noticed a few errors with indexes using the ‘Check indexes’ tool. It was nothing that stopped the installation working, but it’s always good to have everything working properly.

 Moodle XMLDB Editor


Moodle health check

One useful tool that I have come across is the ‘health-check’ built-in function. I only found out about this function a few days ago whilst doing some digging in the code. It is worth noting that it is ‘Unsupported’ but you can access it using (changing ‘www.yourmoodleaddress’ with the site you want to diagnose). It’s not really a one-stop shop to get your Moodle installation working great but it’s a nice start. Each problem is given a level of severity i.e. notice, annoyance, significant, critical.

As it stands, it will return the following problems with suggested solutions for each:

  • Extra characters at the end of config.php or other library function
  • $CFG->dataroot does not exist or does not have write permissions
  • cron.php is not set up to run automatically
  • PHP: session.auto_start is enabled
  • PHP: magic_quotes_runtime is enabled
  • PHP: file_uploads is disabled
  • PHP: memory_limit cannot be controlled by Moodle
  • SQL: using account without password
  • Random questions data consistency
  • Multi-answer questions data consistency
  • Only multianswer and random questions should be the parent of another question
  • Question categories should belong to a valid context
  • Question categories should belong to the same context as their parent
  • Question categories tree structure

Moodle Health Check 

Unit tests

You can find this in Administration>Reports>Unit tests

This has never returned anything useful for me, but it could be for you. It only takes a few seconds to run and you cannot break anything, so I say go for it!

 Moodle Unit Tests


Has all this worked for me?

Mainly but I’m still getting an error with the ‘slasharguments’, off to the Moodle forums now…


There are many other things that can be done to check if Moodle is working properly e.g. Server performance, optimize/repair tables in the database etc. but I thought I’d keep this posts simple and accessible to everyone as it uses only tools available in Moodle. If you have anymore tools you’d like to share when you are trying to work out what is wrong with your Moodle installation, please share here. 

Example topic with images - IGCSE ICT

[pulledquote]In a survey I conducted in December 2010, it became apparent that students prefer courses which are nicely laid out (no surprises there).[/pulledquote] Many a teacher who uses Moodle will have come across the Scroll Of Death issue (I won’t use the acronym for that one 😉 ). For those unfamiliar with the problem, it is when you have many resources on a Moodle course, and it makes it difficult for users to navigate the course, thus ending up scrolling up and down endlessly. Here is a presentation which I use for my Moodle lunch sessions.

Having scores of resources on a course is a reality of life for many teachers (including myself), and while there are tweaks which can help, there are a few very simple things a teacher can do to have a course which:

  • is more attractive to students
  • is easier to navigate
  • is clearly ‘mapped’ to syllabus/curriculum
  • is differentiated using colour codes
  • has colour codes used for groups/groupings
  • allow departments to have their own ‘identity’ without the need for changes in CSS

In this post, I explore the different simple techniques you can use to beautify your courses, along with their teaching/learning benefits. Please click on the pictures to see the full versions.

1. Use topic boxes

This is the easiest tip of them all. Depending on the theme that you are using, there could be a line around each topic/week inside your course.

Topic Line

Whilst it is obvious what to do with it if your course uses the ‘Weeks’ format, it can also be useful to divide up your course in units/sub-units if you are using the ‘Topics’ format. Remember that you or your students can make only one topic viewable at a time using the toggle button. The benefit of this is obvious, course is clearly laid out, and students can focus on the topic at hand, without unnecessary clutter.

Toggle topic button

2. Use labels

In my opinion, labels should be the first thing you use, after all they are there to help you organise your courses. They are very versatile as you can pretty much add anything to it: text, images, lines, embed media from other sites, etc. Here are a few ideas of what to do with labels

  • Headings/Sub-Headings

A little used function of the HTML editor is the ‘Styles’ selector.

HTML styles in Moodle 2

A simple combination of font-size and colours can really help organise a course. Couple it with another useful feature, the ‘Indent’ button, and you end up with a cleanly divided up course. Using different colours for topics/sub-topics will allow students to see at a glance where they are/should be. Large font attracts the eye and helps students realise what is important, and it what order. I like to ask students to draw a diagram at the beginning of a course so that they can familiarise themselves with the course structure. Usually, they all end up with the same diagram, using the same colours as I did…

Indent HTML editor Moodle 1

  • Lines

Lines are unique to Moodle 1.As far as I know, it is not part of the HTML editor included in Moodle 2 (or I couldn’t find it at least). I do not use the predefined lines a great deal, but you can make your own lines using special characters on your keyboard, and then assign a colour to it. This is great to divide resource types and/or activity types.

Line in HTML editor Moodle 1

**************************************** Star sign

________________________________ Underscore

################################ Hash tag

  • Images/pictures

When scrolling frantically to get to the right topic, students (or yourself) might easily miss text, but it is harder to miss a picture. There are plenty of pictures you can use freely using the Creative Commons search engine. Not only will it make your courses look better, it will certainly help you and your students find your way around. For younger students, you could even add animated images, they’ll love it!

Example topic with images - IGCSE ICT

  • Funky fonts

This one is purely for looks. You could use font generators to make glittery text, text that’s on fire, etc. to make your course look better. Sounds shallow? It might be, but kids love it!

Embedding fonts from other websites

4. Indent your activities

My students know at a glance whether ‘links’ are something they will consume (resource, PDF document, Presentation, etc.), or something they’ll need to take part in (wiki, upload a file, etc.). This is not only due to the icon displayed next to the activity/resource name, but mainly to the fact that I always indent activities the same way. This seems to help create a consistent user experience throughout my courses.

Example of indentation

5. Communicate with other teachers

If you are in charge of Moodle at your school, it might be a good idea to explain to departments that they can have their own ‘identity’ using specific fonts & colour codes. Otherwise, I recommend teachers to communicate – again this could help create a uniform user experience.

6. Use Groups/Groupings to show/hide some of the contents

It is not obvious why this one is under ‘beautifying your course’ but let me explain. When many resources are available on a course, not only is it difficult for your students to navigate, it is also difficult for you. By using a colour code for labels, and then group activities under those labels can help you, while only presenting activities/resources to specific groups. I find this especially useful for differentiation, for example, my gifted & talented students will have access to more material in my courses than students will learning difficulties. However, all resources will be viewable by myself. I might make a post on groups/groupings one day, as I’m aware that this tip might not be obvious to everybody.

Hidden label and groups

7. Use hidden labels

In the same vein as the last tip, using groups and groupings you could make labels that are only viewable by teachers. This can be useful for day-to-day organisation, to document your teaching and warn other teachers of important things to do, but which are useless to students. For example, the Humanities department at my current school run a yearly project, and Moodle is used as a central repository/teaching tool. This Moodle course is used by 6 teachers and students go to each teacher on different days. Using hidden labels allowed us to communicate very important information e.g. ‘Mr X, please update this!’, whilst this can be achieved using web pages, labels are more prominent and harder to miss.

Hidden labels

8. Use a bit of HTML code

This one is not as easy to use, but you can find lots of useful HTML code generators on the net, where you can simply copy/paste snippets of HTML code to place in your courses.

For example, try to insert this code into your HTML editor and see what it does.

HTML toggle on/off Moodle 2