Where do Moodle plugins come from?

August 7, 2020

I have just had a new plugin made available in the Moodle.org plugins database – https://moodle.org/plugins/qbehaviour_interactiveexplain

It is the Interactive with Explanation question behaviour plugin, which adds a field for students to feedback on quiz questions. I’m very proud of the plugin and it works well, but this blog post is not about the plugin, but how and why it was created and how it got into the plugins database.

About six years ago, Tim Hunt, the maintainer of the Quiz module, created a plugin called Deferred Feedback with Explanation. I thought it would be good to take the idea and apply it to the Interactive With Multiple Attempts Question behaviour. 

In my view this is the king of question behaviour from the point of view of learning rather than testing. The student can make multiple attempts at a question within a quiz and be given feedback for each attempt and deductions made from the final mark based on the number of attempts.

So I started to work on it and put out a post in the Moodle.org discussions in December – https://moodle.org/mod/forum/discuss.php?d=395138, which got favourable feedback and prompted some really interesting questions from people with huge expertise in the area.

At the end of March, I submitted the code for approval to the Moodle.org database. It is a free plugin compatible with Moodle 3.6,3.7 and 3.9 and has no other requirements.


The review

When you submit a plugin to the plugins database it performs some automated checks and within a few minutes, I was told of some minor mainly stylistic things for me to correct. These are things that would not affect how the code ran for the end-user but were “good to have” comments about the code. 

This is just the automated approval. It gets more interesting when it comes to the human side!

Within three days I began to get detailed feedback and suggestions from the person doing the approval. This person is a developer who works for a Moodle Partner and one I hold in very high regard. He has been working with Moodle since 2003, has over 1,100 commits to core Moodle and has contributed to a huge number of plugins.

The things he picked up on were relatively minor but were still good to fix. For example, although the plugin does not store any personal data, it was missing null privacy implementation so the privacy report could say it doesn’t store any personal data. There were a few more minor things to fix, but today less than a month after initial submission, the plugin became available for download.

A professor at a Mexican university contributed translated strings in Spanish when I started the project.

One of the side effects of developing this was I noticed a minor bug in core Moodle and contributed a ticket with a patch MSL-68335, which is currently going through the approval process.

So when you go to the plugins database and look at a new plugin you can be confident that it has had automated checks applied and has been approved by a very experienced expert.

But that first release is only the start of a journey. I expect people will report issues (developers call them issues, users sometimes call them bugs). People will almost certainly make suggestions. I will want to get the strings translated into as many languages as possible, and I will need to check it works with new versions of Moodle as they are released.


Looking forward

I expect this process to continue for many years, probably for the rest of my career/life requiring just a few hours of work every month or so. Although I have written the code for this plugin it only exists because of ideas, suggestions and support from the wider community. 

The code is based on an existing plugin, it was reviewed and approved by another developer, it has one set of translated strings from a contributor and another one offered. Since I started this article I have had a suggestion for a small modification in code to make it compatible with another plugin.

Meanwhile I will watch and take satisfaction if the statistics report the numbers of users go up.

As this is the Titus blog where does this plugin fit in? Well, Titus is my day job, but they support and encourage me in all my “extra-curricular” Moodle activities. In the description of the plugins, I include the text “Contact Certified Premium Moodle Partner Titus for custom development and consultancy.” 

There are other developers who work for Titus who have code in core Moodle and who contribute code to publicly available plugins and respond to questions in the forums.

It’s nice to have Free/Libre stuff, but if you are serious about running Moodle you are going to need to pay expert services at some point. You can always find a developer who “knows a bit about web development”, but if you want experts with a public history of good code you need to deal with a Premium Moodle Partner like Titus, get in touch below. 

Read more:

Empower your
learners & improve

We specialise in providing innovative eLearning services for workplace learning, education providers and training companies around the world.

Shopping Basket

3 Powerful Lessons From How Google Approaches L&D

Grab a copy of our free ebook

Phuong Nguyen Hong

Digital Marketing Executive

Super talented, unflappable and very funny, Phuong supports the whole marketing team in her role as Digital Marketing Executive. Phuong holds a bachelor’s degree in Business Administration and recently completed a master’s degree in Management and Marketing. Originally from Hanoi in Vietnam, Phuong is now based in the UK and climatising brilliantly to our weather and food.

Phuong owns a food review Instagram page as travelling and food are her passion. She also has a cute little french bulldog.

Ellie Sharkey

Head of Marketing

Ellie was the first woman to join Titus and has paved the way for many more since then. After studying for a degree in Fashion and Marketing, Ellie was lucky to find herself at fashion weeks and photoshoots.

Now she’s switched from talk of the front row to front end design and has brought loads of transferable knowledge to Titus. Ellie has also found a real passion for tech, especially in the learning sector, helping clients create positive change for their organisations.

Callum Barrett

Senior Brand Executive

As one of the youngest people at Titus but at the same time one of the oldest serving members of the team, Callum has graced Titus with his broad smile and positive attitude for over 5 years now. As a key member of the marketing team, Callum works across all areas, both on and offline, to ensure that all Titus brands and communication are on point.

After missing out on the opportunity to go to University the first time around, management encouraged him to enrol in our course alongside his work. He is now studying to achieve his Level 6 Diploma in Professional Digital Marketing.

Dec Connolly

Acquisition Marketing Manager

Always bringing innovation and new ideas, Dec studied a degree in Journalism but found his passion in digital marketing. Dec has also worked in marketing for one of the countries biggest retailers and within the property sector.

Outside work, Dec Co-founded a news publication where he collaborated with global brands like Uber, Amazon, BooHoo and countless SMEs.