Moodle Tricks of the Trade – Hiding user profile fields

This is the eighth (and at present final) post in the series: #Moodle Tricks of the Trade

Moodle has various fields that appear in a user’s profile by default, most of which make sense such as firstname, lastname, email etc. But there are many that appear within the profile that you may not need e.g. AIM ID, Yahoo ID, etc. and from a GDPR/Data protection perspective, we should only be storing the personal data that you need, and we shouldn’t be storing data that we don’t need, so my view is to turn these fields off. I haven’t found a way of actually disabling these fields (if there is a way, could someone please tell me), so instead  I simply hide them, so although they are there, the user cannot see them, and therefore cannot enter any data into them.

As well as meeting Data Protection requirements, this also simplifies the user profile screen as it reduces the number of items they can fill in, which increases the chances of them filling in the other more useufl items.

These changes have to be applied by an admin, and obviously, require careful consideration as to which you need and which you don’t, and if applying these retrospectively, I personally would wipe any data that is stored in those fields, before I hide them.

Moodle Tricks of the Trade – Embedding H5p activities into other Moodle areas

This is the seventh post in the series: #Moodle Tricks of the Trade

Moodle itself has a wonderful array of different resource and activity types that can be deployed, but in recent years the integration of H5p into Moodle, has extended this further. H5p allows a user without high levels of technical skills, to use templates to create rich web-based interactive content, most of which has high levels of accessibility, and the output is HTML5 so will work on most devices (including phones) and browsers.

Screenshot showing the H5p items in a Moodle course

If you haven’t seen H5p before, it is worth looking at the examples on some of the activity types, don’t have much use or value in my opinion, but some of them are very good. The quiz activity is not as powerful as the Moodle quiz, but it is visually better looking, and for a new user is easier to create, so I will sometimes use the H5p quiz and sometimes use the Moodle quiz depending on the situation, but the really clever thing with H5p, is that it can be embedded into other Moodle items, so if I am using the Book resource, that contains a number of pages of information, and I want to check understand or reinforce the learning with a simple quiz or activity, if I use the Moodle tools, I have to link out to another activity, and then link back to the book, which gets messy and confusing for the learners – whereas with H5p, I can simply embed the activity into the page within the book, so it becomes a much more natural flow for the learner.

Note: There are two different ways that H5p may be added to the Moodle, if the Moodle is a newish version, then the activity may appear as ‘H5p’ in the list of activities. If the Moodle is older, then it may appear as a thrid party plugin under the title of ‘Interactive Content’ – the tutorial covers both situations, but important to know which applies to you when watching it.

And as per previous tutorials in this series, this is another way that we can vastly improve the user experience in Moodle, and in doing so increase the educational value of the VLE.

Moodle Tricks of the Trade – Using ‘Filter Codes’ to personalise by role

This is the sixth post in the series: #Moodle Tricks of the Trade and in the previous 2 tutorials, I have shown how to: add buttons to a course page, and how to use the Filter Codes plugin to personalise a course.

In this tutorial, I am going to combine those 2 techniques to show different buttons to different people based on their role or roles

I will often state that the ultimate aim is for ‘people to see what they need to see, and not see what they don’t need to see’. This simple but clever technique works towards achieving that objective, and by improving the user experience, we can really improve the effectiveness of how we use our Moodles.

Moodle Tricks of the Trade – Using ‘Filter Codes’ to personalise a course

This is the fifth post in the series: #Moodle Tricks of the Trade

Regular users of Moodle, will be aware that as well as the core Moodle setup, there are a series of plugins that people will add to their Moodle to make the site do what you want and need, and this list of available plugins is constantly changing. One of my favourite plugins, is called filter codes, and since I discovered it a few years ago, I have put it to really good effect in numerous different Moodle and Totara installations.

In this tutorial, I will show a few different ways that these can be applied to personalise a course, e.g. show different things to the user, based on either the user profile, or the course profile. Personalising a course, I think is an important part of the user design. One of the downsides of virtual learning environments, is they can become quite sterile and characterless places for the a learner to go to – just adding a small amount of personalisation can reduce this significantly.

For example I can create something at the top of a course that looks like this,

Screenshot of filter codes in use

Which has been created with the following text (there is some html not seen in the image below that creates the side by side alignment, but the text is as follows):

Screenshot showing the editing screen of the filter codes
The video will show you how to do things like this.

In the next Tutorial, I will show how to use filtercodes to show different things based on a person’s role within the course.

Moodle Tricks of the Trade – Adding buttons to a course page

This is the fourth post in the series: #Moodle Tricks of the Trade

Most Modern Moodles (or Totaras) will recognise what are known as bootstrap elements, and these can be used to good effect to improve the user experience of a course. In this example, I am going to add Bootstrap buttons to create a horizontal row of buttons at the top of the course. I can then set some of the items that these link to as ‘available but not shown on the course page’ which helps liberate screen space and reduces the amount of scrolling that a learner has to do to get to their actual learning.

Screenshot showing Buttons added at the top of a course.

The basic principle of what I am achieving here, is that I am creating a hyperlink, and then adding a class to that hyperlink which renders it as a button. In my example this is achieved by adding the following text into the correct position within the html editor:

Class = “btn btn-primary”

For details of other button classes that you may use, go to Note, your site may have formatted the buttons differently, so they may be a different colour or style to the default, and if the buttons are illegible (e.g. the text colour is the same or similar to the button colour), then speak to your Moodle admin, who can add a simple line of CSS to the site to make the buttons work properly.

In a later tutorial, I will show how to use ‘Filter Codes’ to personalise by role, which allows for different buttons to be shown to different people based on the role that they have in the course.

Moodle Tricks of the Trade – Using a Lightbox Gallery as an image store

This is the third post in the series: #Moodle Tricks of the Trade

This is a technique that I use widely on different Moodles or Totaras to better manage the images that I use within the courses and the learning materials. The basic principle is rather than uploading the same image lots of times, the image is uploaded once to a central location using a ‘Lightbox Gallery‘, then when it is needed, we link to that image by URL.

On some systems, I set this mechanism up on the Front Page – this means I can then use the images anywhere across the site and for sites with a small number of courses and where I build most of the learning, this works well. For other sites, I create a mechanism within each course – this works better when there are lots of courses each with their own editing teacher.

Screenshot showing the lightbox gallery, with a row of images

Note – if setting the mechanism up, on the frontpage, any images that are uploaded are potentially visible to anyone in the World, as items on the frontpage are by default visible outside of the login process. This could be mitigated by changing permissions to users so that only authenticated users can view the items.

The advantage of using a technique like this, is if a certain image is being used lots of times (e.g. I use icons a lot to connect items together), the image is stored once on the system, rather than potential duplicates. This saves memory on the server (which for some sites I work on is a huge issue), and if in the future I wish to change that image to another one, I only have to change it in one place, rather than hunt through the entire site to try and find every place it was used and swap it one by one. The other advantage, is if I have one type of resource or activity (e.g. a page or a book) and I wish to use that content in a different activity type (e.g. a forum, lesson, quiz etc.) – the easiest way for me to do this, is to simply copy and paste the html code from one page to another. If I have uploaded an image by the traditional technique this may not work, as the copying and pasting of the html, may break the link to the image, and as an editor you may not spot this at first (if your browser has cached a copy of the image), and by the time you do spot it, you have no idea where the original image is or what it is called, and if you don’t have the source file to hand to re-upload, can be in trouble. It is this behaviour catching me out on numerous occasions that has led me to take a different approach to manage images.

There are two very strong caveats to using this technique, which is important to understand before starting:

  1. If you are adding the lightbox into a course, and you wish to create a copy of the course e.g. to set up a version of the course for a future year, when you restore the back-up, the new course will give the lightbox a different ID number, which means that the URLs of the images within it, will also change. However, the images within the other resources won’t change, so they will initially point to the lightbox in the old course. All that needs to change is a single number within the URL, so it would be possible to use the site wide Moodle ‘find a replace’ tool to correct this problem in one move – but this would then mean that the old course would also update e.g. it would be looking up images in the new course, which may or may not be a problem (e.g. if the course is now an archive, and has no active students accessing it, then not a problem – but if there are still active students on it, then this would be a problem). If the lightbox is placed centrally (e.g. on the front page of the Moodle), then this isn’t a problem as the central lightbox won’t change when the course is backed up and restored so will work fine.
  2. If you were to ever move the Moodle to another host, the process of migrating the content over to the new host, may result in the module IDs changing (it depends how you do the migration), which in turn would create a similar problem. This could be rectified with a site wide find and replace, but you would have to do this for each lightbox in turn – and there is a possibility you could get an overlap of modules IDs which would then mess things up completely.

If you do not understand these caveats, or are not comfortable with the risks that this brings, then I would walk away now, and don’t follow this suggestion further. If however, you do understand these caveats and the potential risks involved, then this can be a very useful mechanism….

Moodle Tricks of the Trade – Sending a welcome message on course enrolment

This is the second post in the series: #Moodle Tricks of the Trade

Something that I am often asked is, “Is it possible that when a student is enrolled onto a course, they get an automatic ‘Welcome to the course’ email from the tutor?”, surprisingly this is not as easy as you would think – certain enrolment methods (e.g. self enrolment) can do this, but others don’t, and there doesn’t appear to be a built-in mechanism that covers all enrolments.

Screenshot of the Moodle Dialogue Tool

But – we can achieve the same effect by using a plugin called ‘Dialogue‘, which is designed as a 1:1 communication method that sits inside a course, but the beauty of this, is the tutor can set up a ‘bulk open’ rule to automatically set up a 1:1 conversation with their students, and this can be set to include future students as well – so bingo! We have the mechanism that we want. The dialogue sends an email, which although not brilliantly formatted at first, can be tweaked within the language customisations, to make it look better, and we have opened a 1:1 communication between tutor and student, which is also a good thing.

Moodle Tricks of the Trade – Setting up a quiz template 

This is the first post in the series: #Moodle Tricks of the Trade

The quiz tool within Moodle (and Totara) is a wonderful tool, and is one of the features where it easily out performs other systems (when used properly of course), but because it is such a powerful tool, it takes a bit of time to set up and get right, as there is an almost infinite number of combinations of settings and options that can be applied to achieve certain effects and behaviours, and it is this complexity which puts many people off using it.

Screenshot showing a basic Moodle Quiz

I personally never create a Moodle quiz from scratch – what I do is I duplicate an existing quiz that I set up as a template – rename it, and then add the questions. This is firstly a much quicker way of working, but also it means that the settings of the quizzes that I use within a course will be consistent (e.g. they will behave the same) which makes for a better user experience for the learner.

I may have just 1 template quiz that I use, or I may have 2 or 3 templates each with different settings, for different purposes. It doesn’t matter – all I have to do, is select the correct template, duplicate it, rename it, move it to the correct position, and add my questions.

When I run training with organisations on the use of the Quiz tool, I don’t spend much time on the quiz settings itself (I give them a handful of templates to use), this then allows more time spent learning the actual question types, and question design.

In the video, I show how to set the score of the quiz to 100 rather than 10. If you are an admin on the Moodle, you can actually set this in the default settings for the quiz, this would mean that all new quizzes created going forwards would be set to the 100 rather than the 10.

#Moodle Tricks of the Trade – Introduction

Working in the World of online and blended learning, I have been somewhat busy over the last 18 months, with Covid suddenly creating a demand for the services that I provide. Things are starting to calm down slightly, which gives me a chance to work on my blog again, and for this next series of posts, I will share with you some video tutorials on some ‘Tricks’ that I use in my work supporting clients with their use of Moodle or Totara. Some of these are aimed more at site admins, or people in organisations that are responsible for training/inspiring others in their use of Moodle or Totara, and others are aimed at teachers.

Character sat at desk in front of computer

These videos are not intended to be ‘step by step’ beginner guides as such, but more to highlight a potentially different way of working, or spark an idea that someone can then develop or run with, within the organisation. Some of the ideas suggested may require admin support in terms of; installing plugins, or changing settings, or the addition of CSS.

The tutorials will be as follows:

  1. Setting up a quiz template
  2. Sending a welcome message on course enrolment
  3. Using a Lightbox Gallery as an image store
  4. Adding buttons to a course page
  5. Using ‘Filter Codes’ to personalise a course
  6. Using ‘Filter Codes’ to personalise by role
  7. Embedding H5p activities into other Moodle areas
  8. Hiding user profile fields

I work as a freelance consultant, specialising in the effective use of Moodle or Totara. If you would like training or consultancy providing in these tools, then please get in touch. Being freelance and not attached directly to either Moodle or Totara, and not being directly connected to any of the host companies or partners, I am well placed to assist organisations with impartial advice and support, especially if an organisation is in the early stages of looking at a VLE, or if an organisation is unhappy with their current VLE set up, and is interested in seeing what could be done to improve things.

How to set up PayPal on Moodle 3.10

It is early March 2021, and I am wanting to set up PayPal on a Moodle 3.10 installation. From Moodle 3.10 onwards there is a new way of doing this called ‘enrolment on payment’ for which the Google Docs go through the process including a video of what to do. I follow the instructions from the docs, and get stuck as it doesn’t tell me what I have to do within the paypal account to get the details that I need. I contact the host company, (who is a Moodle Partner), and they cannot work out what to do, I ask them to contact Moodle HQ, who apparently also don’t know what to do, leaving me very stuck as needing to set this up for a client on 300ish courses.

So – I put an email out on a UK Moodle mailing list, that I am on, and luckily the good people at Overt Software (who are not a Moodle partner, but do host Moodles) get in touch with me to go through the solution that I need, which I will share here, in case anyone else finds themselves in the same situation that I was.


  • Both the Moodle and Paypal environments are likely to change over time, so these instructions will only be valid for a short time.
  • Hopefully the Moodle docs will get updated to provide this information, making this page redundant.
  • This advice is followed entirely at the risk of whoever is following this. I am sharing this information in good faith that it may help someone out, but you need to work out the risks involved, and I hold no responsibility for any problems that may arise from following these steps.


  1. Firstly, you need to set up a business account on PayPal – I am not providing instructions on how to do this bit, as PayPal covers this quite well.
  2. Then whilst logged in to PayPal, go to their developer area at
  3. At the top of this page, there is a ‘toggle’ switch where you can toggle between ‘sandox’ and ‘live’. You probably want to test this in the sandbox environment (where no actual money is transferred, then once happy flick this switch to ‘live’ and repeat).
  4. Click on the ‘Create app’ button
  5. Give the app a name (e.g. call it something like ‘Moodle’)
  6. You will now be presented with a screen showing the Client ID, and a link to reveal the ‘Secret’ – these 2 bits of information along with the app name are what you need in Moodle.
  7. Go into your Moodle 3.10 environment and locate the Payment Accounts screen (Site administration > Payments > Payment Accounts
  8. Create a Payment account
  9. Give the account a name (these doesn’t have to be the same as the name you identified in PayPal earlier).
  10. This will now show in a table, the middle column of which will have the text ‘paypal’ and a red cross to identify it isn’t configured, click on this link.
  11. You will now see a screen where you can enter the; brand name (the name you added in PayPal), the Client ID  and Secret, again taken from Paypal.
  12. Tick the ‘enable’ box, and you have set PayPal up on Moodle 3.10
Screenshot of the PayPal payment option in Moodle

As mentioned above, these instructions will probably be soon out of date, and these have to be used at your own risk, especially as we are dealing with money issues here – but if the above helps someone out who finds themselves in a similar situation to where I was then great.

‘And again – huge thanks to Overt Software Solutions, who stepped in to help me out, even though this was for a Moodle they weren’t contractually supporting.’