Fixing the question bank in Moodle 4.0 - what we are planning

Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Number of replies: 142
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Edit 18th June 2021 (original post was Monday, 1 February 2021): This thread is now very long. If you are learning about this project for the first time, then the key posts to read to understand our plans are listed on the project page in the dev docs. (It starts with this one!)

For some background on the project I am about to describe, please see my previous post. The time has now come to start writing about the changes we are planning to make with this project. We would like your feedback on whether these plans seems sensible, and hopefully you may be able to suggest some ways we can do things even better than we have thought of so far.

These are quite big proposals, so my plan is to post about it a little bit at a time. That certainly makes it easier for me to find time to write it, and I hope it makes it easier for you to read it and take it in. Of course, it does mean that as you read the first posts I am going to make, there will be lots of un-answered questions, so this may not work. This is a bit of an experiement, but based on thinking about how best to explain this.

In this first post, I am going to try to outline what is changing and what is not, which is summarised in this diagram:

Overview of the Moodle question system, showing what is changing and what is not.

Probably best to start in the middle of this diagram, in the box called core_question. The way I think about it, the Moodle question functionality can be broken down into two main parts. Only one of those two parts is going going to be changed by this project.

The half that will not change is the 'Question engine'. This is the part which manages what happens when questions are attempted. That is what happens to questions as students attempt quizzes (and other activities), and as teachers review the results and grade things. What happens does not just depend on the code in Moodle core. Almost all the specifics of what happens is controlled by plugins: Question types control what questions students are asked to solve, how they input their responses, and how that is graded; and Question behaviours control the sequence of interactions that a student has with a question. (One consequence of this is that we are hoping that this project will not cause a lot of work for developers who have made custom behaviour or question type plugins. Their plugins should just continue to work.)

Perhaps more importantly, the bit that will change is the 'Question bank'. This is the bit that deals with creating and editing questions, and keeping them organised and available for use. This part is changing completely, at least behind the scenes. However, from a user's point of view, some things will probably still look similar. I mean, basically we need to display a list of questions on screen for people to interact with. There are only so many ways that you can do that!

Exactly what the behind-the-scenes (and visible!) changes will be will have to wait for futures posts. This one is already getting too long - and I am aware that there are big green boxes on this diagram that I have not even started to explain.

The other part that will have to change are the activities that use questions. For example, the point at which you (as a teacher) are building your quiz by selecting questions to add from the question bank (or directly adding new questions to the quiz) will change. However, other parts of the quiz won't change (for example what students see as they attempt it, what settings are available, the reports, ...).

I am afraid that if you have created a custom activity plugin that users questions (in the diagram I gave StudentQuiz as an example) then you will have some work to do to update your plugin. This is unavoidable. However, hopefully we can build a new Question bank API that is easy to work with.

I hope that gives a rough outline of which bits we are focussing on changing, and which we are not. This is already a very large project, and we want to be able to complete it. This means we are being careful to manage the scope of our plans. However, Moodle is open source, and 100+ people contribute to this release. Just because we are focussing on certain areas, that does not prevent other people from making other improvements at the same time. In fact, because we are carefully focussing our big change in certain areas, that leave more other areas un-affected so that other people can work in parallel while we are making our big changes.

Average of ratings: Useful (13)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
Very exciting improvements. Do you think this is going to be a Moodle 4.0 project? Or sooner, or later? And will improvements come little by little, or in one big chunk?

I forget, Tim. Do you have one MDL-xxxx item for this that we can track?
In reply to Rick Jerz

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Luca Bösch -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Good morning, Rick.

This is what "There is also a community proposal for the question bank being discussed and shaped by a consortium of universities." is alluding to in the Moodle Roadmap for 4.0 https://docs.moodle.org/dev/Roadmap#Moodle_4.0_in_November_2021.
The Epic is https://tracker.moodle.org/browse/MDL-70329.
But probably we're rushing. I'm sure Tim would have mentioned this in one of his following posts.

Best,
Luca
In reply to Luca Bösch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
Thanks, Luca.
In reply to Rick Jerz

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim F -
Some of the text was above my head but if you are asking about features I think it would be nice if you could improve the ability to drag and drop and reorder the categories and subcategories in their lists. Not one by one and not only with arrows but having an edit mode where you could drag and drop them and possible have options to alphebatize an entire category or subcategory. Those are areas that I have spent lots of time reorganizing my question banks and thinking that there is a much more efficient way to do this but the system does not respond like that/allow it.
Average of ratings: Useful (4)
In reply to Tim F

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Nathan Lind -
Picture of Particularly helpful Moodlers
I totally agree Tim! It would be so helpful to be able to re-order and move (nest) quiz categories via drag and drop, or select a checkbox and select "Move to" another category. As it is, when you have many categories, it becomes quite cumbersome re-organizing.
In reply to Nathan Lind

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Improved category management should be in for 4.0, but I must admit that it is one of the changes that is still being finished off, so fingers crossed it makes it in.
Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I finised the previous post by warning that in order to get this project done, we would have to be very strick about controlling the scope, to make sure the project got finished. In this post, I am going to explain why that is not such a big problem:

In future, the question bank will be built from plugins

OK, so that may be more exiting for developers than for teachers and students, but acutally the benefits are significant. In my previous post, where I said the question engine was not changing, I pointed out that most of what you see when attempting questions is down to the question types and question behaviours. I think everyone here knows what an amazing collection of qtypes and behaviours we have. Moodle core just provides the glue to hold them together. Since the current question engine was released in Moodle 2.1 (2011) there have not been very many changes made to it. (Mainly just tweaks to enable type and behaviour plugins to do more things.)

So, we want the question bank to to be built in the same way. The minimum amount of necessary infrastrcuture in Moodle core, and then all the actual features done in plugins. Of coure, the standard Moodle install will come with a good range of standard plugins so you get a good, functional, question bank out of the box. That will include everything that you can do today, and some new plugins that we plan to develop as part of this project. But, if you don't like any of the standard plugin, you will be able to replace them, and if you want to add features, you can do that using plugins. (If you are familiar with customising Moodle built-in HTML editor, then you know what I mean.)

It turns out that there are a range of different things which a question bank plug-in might want to do. To think about them, let's look at a screen-grab of the question bank today:

Annotated screen grab showing the types of functionality that make up the question bank.

  1. In the list of questions, there is a bunch of different information shown about each question (name, type, tags, created and modified info, ...). A plugin may want to display something extra.
  2. We may want to filter and search to find the question we are looking for. Currently, the question bank have very limited filtering, and this is one thing we plan to improve massively. In future, it should be the case that if you can see some information, you can search on it. (Like the participants page in recent Moodle versions, or the Search in the bug database that Moodle uses.) A plugin should be able to add new options for filtering the question list.
  3. The plugin might provide additional actions you can perform on a single question. These are the things that sit in the 'Edit' menu for each question, like 'Edit', 'Preview', 'Dupicate', 'Export as XML'.
  4. Or, the action might be something that applies to all the currently selected questions, like 'Move selected', 'Delete selected', 'Export', or they might be actitons that apply to this question bank in general, like 'Manage categories' or 'Import'.
  5. Some of these actions (for example 'Edit', 'Preview', 'Manage categories', ...) might take you a separate page to do the action, and then when you are done, you need to get back to the main question list with everything as it was (any filters, current selection, etc.). There will be a way for plugins to have separate screens like this, but nicely integrated into the question bank navigation
  6. Plus, of course, these Question bank plugins will be able to do all the things that any Moodle plugin can do, for example specific capabilites to control who can use the feature, scheduld tasks to do batch processing. Of these standard plugin features, perhaps the most important is the option to have database tables to store extra infromation. So, if you want to track extra data about your question, then that will be possible.

One question bank plugin will be able to do any combination of these things that it wants. That should make it easier to have one plugin that implement the whole of a feature, rather than requiring people to install a lot of separate tiny plugins. For example, the 'Edit question' plugin will probably provide two separate per-question actions: 'Edit' and 'Duplicate', one general action 'Create question' and one separate screen, The one which shows the Edit question form.

So, that explains the green box on the bottom left of the diagram in my first post above, and that is probably enough for this episode. In a future post, I will give a list of the different plugins we plan to develop in this project, first to cover all the existing question bank functionality, and then to add the extra features that we want to add.

Average of ratings: Useful (11)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Shirley Gregorczyk -
Picture of Particularly helpful Moodlers
I am truly hoping that Item #4 - Manage categories is more intuitive to the end-users. I caused myself a lot of pain when I setup my first courses.
Average of ratings: Useful (2)
In reply to Shirley Gregorczyk

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I think everyone agrees that the current manage categories page could be a lot better. Certainly it would be nice if we can improve it as part of this project, but it is not absolutely essential. If we run out of time in this project getting the more fundamental changes made, then I am afraid that making significant improvements to that page will have to wait. (But, at least, after this project, all that code will be in one self-contained plugin, and which point it should be a long easier to work on improving it.)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Enrique Castro -
Picture of Core developers Picture of Particularly helpful Moodlers
Hi:
As for 4. bulk actions, one of the things teachers at our University often demand is bulk editing of some partial question data in multiple questions.

For instance, most teachers start by adding MCQ questions with just one right answer and without negative weights (negative fractional grades). Just importing MCQ questions they have in MS-Word files and that can be easily adapted to AIKEN format or GIFT format (but the ~%-33.3333% syntax is an arcane). And afterwards they realize that for real Exam use (not for mere practice) they insist on requiring "randomness correction" i.e, negative fractional grades. This can be done by exporting, editing and re-importing, but the cycle is seen as a waste of time and "complex".

It would be very convenient to have plugins able to manipulate the individual answer grades in that scenario (for instance, if one 100% and all the rest set to none, adding in bulk the -100/(n-1)% rule.
Or an action to remove one of the wrong options to convert an MCQ from n-answers to (n-1) answers in bulk.

If the actions are pluggable then it would be much, much easier to write custom routines (plugins) for those actions, and sharing them.
Average of ratings: Useful (1)
In reply to Enrique Castro

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
This exactly the sort of thing where, once we have done the core changes that are part of this project, you will be able to make a plugin for this.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
I would like to come back to the second point in Tim's list: the filter. In a recent discussion with the project team we came across a question, we would like your opinion on

Should (or shouldn’t) we introduce the possibility to filter questions using groups of filter conditions separated by OR for Moodle 4.0?


Of course you need some more detail to answer this question. So let me explain what filter conditions you will be able to set, how you will be able to connect/separate them, and give you an example.

Basically, you will be able to filter for every information item available for questions. Besides the existing information items (question type, question name, author, creation date, tags, last changed date), we will add some additional information items as “in which quiz/quizzes a question has been used” or item statistics (e.g. discrimination index).

When it comes to filtering, you can apply your filter to a single information item or combine several information items by AND and OR. For example you can search for all questions that have the tag “Moodle 4.0” and “question bank” and that have been written by Tim or Luca. This might look as follows (note “Match All” = AND, “Match Any” = OR):


As you can see visible in the wire frame, you could add further authors or tags or add further filter conditions. For example you could limit your filter to questions that have been created after 01.06.2021. 

Now that you understand the general logic of the filter, let me better explain our question. With the filter as is you can combine as many filter conditions with AND as you want. The same holds for separating single filter conditions by OR. But it is not possible to group filter conditions and combine these groups by OR. An example for this might be: You want to search your question bank for questions that have been written by Tim or Luca AND have the tag “Moodle 4.0” or the tag “question bank” that have either been created after 01.06.2021 OR last edited after 01.06.2021. This might then look as follows:


Implementing the possibility to separate groups of filter conditions by OR (as described above), is possible from a technical point of view. Roughly estimated this will take 5 – 7 development days. The question is, if we should invest this time now for the first release of the reworked question bank with Moodle 4.0. Or if this is a nice to have feature that might be added in a later release (either in Moodle core of as a plugin).

Please let us know your opinion soon!

Average of ratings: Useful (1)
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Gavin Henrick -
Picture of Plugin developers
Would it be good to have filtering not at the top, but on the side using the way the workplace report builder has which is going into 4.0 isnt it?
In reply to Gavin Henrick

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Fabian Glagovsky -
Picture of Particularly helpful Moodlers Picture of Testers
Can we see an image of how the filtering looks like in the workplace report builder? I don't think I have that.
Average of ratings: Useful (1)
In reply to Gavin Henrick

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Thanks Gavin for this thought. I am not sure having the filtering at the side is what works best here. Because what you are filtering is a list of questions all of which have many columns (to name the most important: question type, question name, creation date, author, person who last edited, date when question was last edited, amount of attempts, where the question was used). This list of columns will be expandable by individual plugins in the future.

@Fabian: here you can get some impression on the workplace report builder filtering: https://docs.moodle.org/311/en/Report_builder#Conditions_and_Filters
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Mark Glynn -
It is difficult to answer without knowing the cost, not just the financial cost but more so the opportunity cost - if you do this - what you are you not doing? Also there is another factor - could we not adopt the Moodle workplace report builder concept of filtering instead
In reply to Mark Glynn

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
I can well understand your question for opportunity costs. As the project is being developed on the go it is hard to answer. So I am sorry I have to leave this blank.

As you mention the report builder filter concept: May I ask what it is that you particularly like about the report builder filtering concept? To me, having conditions, filters and sorting in different tabs instead of seeing them all at once, sound very cumbersome in handling questions.
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Przemek Kaszubski -
Picture of Particularly helpful Moodlers Picture of Testers
This sounds similar to how you can group and nest access restrictions on course activities.
In reply to Przemek Kaszubski

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
It is, indeed, inspired by the participants filtering in current Moodle versions. Which at least from a look-and-feel perspective is similar to the access restrictions of course activities. What is different in the participants filtering (and also in the filtering presented above) is, that you may decide for each condition separately if you want it to be combined with AND or OR with the other conditions.
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Alexander Dominicus -
Picture of Testers
Dear Antonia,

in my opinion, it is extremely helpful to filter questions using groups of filter conditions separated by OR. Using filters as your described above gives the possibility of building "classes“ (of questions) and then searching inside these "classes". In your example this would be the "class“ of all questions that have the tag “Moodle 4.0” and “question bank” and that have been written by Tim or Luca. Then, we are able search for all question in this class that have been created after 01.06.2021 OR last edited after 01.06.2021.
Without that possibility of group-filtering  one could find "classes" but no specific elements inside a "class".

Best,
Alex
Average of ratings: Useful (1)
In reply to Alexander Dominicus

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Hi Alex,

Thanks for your thoughts. You are completely right: it is a useful feature and, as Tim already pointed out, definitely worth implementing. The question is just, when. But I understand you would appreciate having it sooner than later.

Best,
Antonia
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Alexander Dominicus -
Picture of Testers
Hi Antonia,

I'm really looking forward to that 👍!


Best, Alex
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Thorsten Bartel -
Picture of Core developers
Dear Antonia,

considering planned features like locked questions, I think it would be very beneficial to have a feature available that allows lecturers to create a clear overview of questions matching desired criteria without repeating a task. This would allow a lecturer to filter for questions upon quiz creation without doing extra steps such as submitting a new search or comparing across browser-tabs.

I can see another way to achieve the same goals / enhance the question filter:
- Allow the negation of groups / conditions ("Match None")
- Allow the creation of customized conditions (Subgroups)

With the first option alone the described scenario would be impossible to realize, but it would add comfort to generating search queries. (Let's assume I asked my fellow lecturers to refrain from using my questions as they are not ready to be published.)
Including the second option would then enable the following query:
Match All:
- Match All: tag = "Moodle 4.0", "question bank"
  AND
- Match Any: author = "Tim Hunt", "Luca Bösch"
  AND
- Match None: author = "Thorsten Bartel"
  AND
- Match Any:
-- Match All: creation date > 01.06.2021
    OR
-- Match All: last edited > 01.06.2021

Achieving the same as the suggested possibility of connecting two groups with logical statements while being much more flexible. The described example could easily be reproduced by simply creating two subgroups.
I'm sure that might very well be where development would be headed anyways and that development effort wouldn't be less in either case.

All in all, please regard this post as a "+1" for the proposed feature, as it also enables site administrators to clean up question banks more efficiently.

Cheers
In reply to Thorsten Bartel

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

To give my own opinion on this:

This is definitely a valuable feature which should be added one day. And if we can steal be inspired by a similar feature in Workplace, rather than re-inventing the wheel, so much the better.

However, for me, there is an absolutely key milestone in this project. To implement this project, we first have to take everything apart and put it back together again in the new way, in time for Moodle 4.0. And what goes into 4.0 must be not broken, and at least as good as what we have in Moodle 3.11. The priority must be to get to that point.

For me, this feature goes a step beyond that point. Therefore, it is not critical right now. If everything else gets done in time, then we might try to add this to 4.0, but if this does not land until 4.1 or something, I could live with that.

Average of ratings: Useful (5)
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Lisa Eckerstorfer -
Picture of Testers

From our point of view, it is an important feature, but it is no problem if it is not available until a later release.

In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Anton Tremetzberger -
Picture of Particularly helpful Moodlers
Dear Antonia,

thank you for your detailed explanation.
The development of the AND-Filter is already a very helpful feature. I think the implementation of an OR-filter depends on several factors:
a.) Maybe if there are more additional filter options (eg. default mark, some more item statistic) for filtering, the OR-filter will certainly be used more often. In my opinion, the OR-filter is also necessary.
b.) the OR-filter will take about 5-7 development days. Does it mean that other important question bank features/developments can't be implemented or would be postponed?

So my current opinion is: for Moodle 4.0 it is "nice to have", but it does not necessarily have to be included in the first release. But it should be implemented in further developments (e.g. Moodle 4.1).

br, Anton
In reply to Anton Tremetzberger

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Dear Anton,

Thanks for pointing out your opinion. The OR-filter for separate conditions will be implemented for Moodle 4.0 for sure. But it is unclear if you can filter GROUPS of conditions by OR. But I guess you will still consider this something you do not desperately need int Moodle 4.0 but consider useful nevertheless.

To answer your question in b): it will mean that other question bank features will be at least postponed. These will not be the crucial ones as versioning, filtering (with AND and OR but without groups that can be filtered by OR), sharing question banks more easily. And it won't be anything that works right now.

cheers,
Antonia
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Many thanks to all who spoke up and let us know their opinion on the importance and urgency of the possibility to separate groups of filter conditions by OR when filtering questions. We’re impressed at what level you have taken so many aspects in consideration in your deliberation!

Reading though your posts we reached the conclusion, that this is a feature many of you would like to see implemented in the future but do not consider a must for the ongoing project. So we decided to postpone the development of this feature to a later stage.
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Jonathan Andreas -
Thanks Tim,
This is all very exciting, but I don't see a really easy fix.  It would dramatically improve the question bank if we would be to be able to know what questions are already being used in a quiz in the course.  Is this part of the roadmap? 

This information is already part of Moodle's data bank because when you try to delete a question that is already used in a quiz, a warning pops up telling you that it won't be deleted from that quiz and an asterisk appears by the name.  There would be (at least) two easy ways to make this information available to teachers:
1. Put an asterisk by the name of every question that is currently used by a quiz somewhere in the course.  (That matches the message you get when you try to delete a question that is in use. 
2. Create an option to search for only the questions that are NOT currently used in any quiz in the current course. Right now there are only two "Search options":
search options
It would be great to add this third search option:
☑Only show questions that are NOT used in a quiz in this course. 

Either way teachers could avoid using the same question twice in different quizzes by accident.  The question bank is almost useless to me since I cannot see what questions are 'available' and which questions have already been used.  Thanks again!
Jonathan


In reply to Jonathan Andreas

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

The 'Showing if a question is used' is already done in Moodle 4.0. Go to https://qa.moodledemo.net/question/edit.php?cmid=30, and look at the 'Usage' column over on the right. That shows the number of time that question is used,


and if you click on it, it opens a pop-up with the details:

Better filtering options, including filtering based on usage, is planned. However, it was not finished in time for Moodle 4.0, so you will have to wait for 4.1 for that.

Average of ratings: Useful (4)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Jonathan Andreas -
Thanks so much Tim. You are amazing! I have been looking for this for years and I haven't even found discussion of it in the roadmap, but I guess I didn't know where to look since I'm not an expert. I'm SOO happy that this will be in 4.0. -Jonathan
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I think it is probably time to talk about a new feature

In future, Moodle will keep every version of your questions

So, you can alwasy see who changed the question when, and probably what they changed (though building a nice interface for showing the changes may have to come later). (Think of a wiki, where you can see a complete history of each page, but that does not really get in the way when editing.)

Perhaps more importantly, when a student attempts a quiz, Moodle will track which version of the question they got, and that will never change. This prevents all the problems we have had over the years when people edit questions after they have been attempted, and this break the existing quiz attempts.

Of course, you may want to edit the question (for example to fix an error in the grading rules) and then update all the attempts to use that new version, and there will be an option for you to choose to do that. However, that won't happen unless and until you ask for it. (It will be an option built into quiz regrading.)

Also, as you are building your quiz, if you add a question from the question bank, do you want all students to get exactly the same version of the question, even if someone comes along later and edits it in the quetion bank? (That might be the best option for exams.) Or, do you want each student to get whatever the latest version is, at the time they start their quiz attempts. (That might be a good option for practice quizzes.) The parallel is not exact, but it is a bit like the choice you get when you add a file from a repository to some locations in Moodle: you can either take a copy of the file as it is now, or keep pointing to the latest version in the repository.

Screen grab of the add file option copy/reference option.

Someone pointed out to me that if we keep a every version of all questions, that will clutter up the database. So we will probably implement a scheduled task with a setting so that if you have old versions of a question that nothing is using (because you did a lot of editing while creating your quiz, but all the quiz attmepts only use the latest version), then the unused versions will get deleted, leaving just the ones that are actually used in a quiz attempt, or are the latest version. (This is a bit like the option to delete old data from the Moodle logs, where the admin can choose the time period the logs are kept for.)

Technical details

For those who like that sort of thing (Why am I thinking of Marcus Green as I write this?) here is what I think the database structure need to be to make this work. Well, first here is (a slightly simplified diagram) of how the database looks now: (key tables highlighted)

Database structure before.

So, we have a question bank for each Moodle context, and that has a number of categores. And, each category has a number of questions. And, the question is defined by some basic data in the question table, and then there is a bunch of other data (answers, hints, other question-type-specific stuff) which is shown over to the right.

Then, around the edges we have some thigns that use questions. The question engine at the bottom tracks the data when people attempt questions (e.g. in a quiz attempt). Therefore, each question_attempt points to the question it is an attempt at. At the top we have the quiz, as an example of an activity that uses questions. Each quiz attempt points to the question engine data that makes up the attempt, and the quiz_slots table represents what questions have been added to the quiz by the teacher. Of course, each slot points to one particular question, or if you are using randomisation, it pionts to a whole category.

Now lets look at how things will be in the future: Basically the old question table gets split into three bits:

The spit is really into

  • the data that defines how a particular version of the question works: that is, the question text, feedback, mark, etc (and all the more specific data in the other tables on the right).
  • The data that identifies which question this is (the category, name, idnumber, etc.)

In an earlier post, I said I really hoped that we woud not break all the existing question type plugins, and it is the fact that the data the defines how a question works remains in a table that is still called question which is why I think this will be possible.

Then, there is a third table which links all the different versions of a question to the question_bank_entry that they are a version of.

The question engine data continues to point to the question table - the specific version of the question that was attempted.

And, I have not drawn back in the link between quiz slots and the question bank. That is because that describing that will have to wait for a future episode.

Average of ratings: Useful (4)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
"Why am I thinking of Marcus Green as I write this?"
Because you know it will make me giddy with excitement...
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Christopher Sangwin -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Tim,
This all looks very exciting. Thanks so much for your work here.

Can we add in a mechanism at this point to make it possible to save broken/faulty questions? With more complex question types (specifically qtype_stack) it is very useful to save a "draft" question with a known problem/error, and ask someone else to take a look. A long standing problem is that a question author gets stuck in a dead end, unable to save a broken version while they seek help.

Perhaps an entry in question_version to indicate this? "defective"?

0: ready, i.e. error free.
1: has errors

This might also help with other workflow such as, "for review" etc. when we are working in larger projects or teams, so an integer rather than a boolean at the outset might be useful.

Some question types might have other states of readiness, e.g. qtype_stack might want to indicate "error free, but also lacking any question tests, deployed random variants" and other compliance problems. Last semester I got fed up fixing broken questions in live quizzes which were avoidable with a basic test of "answer teacher said is correct (i.e. teacher's answer is...) is marked as correct". It would be really helpful to flag to users a question might be technically error free, but is also deficient in some important way.

For qtype_stack, I'd be looking for the following:
1. no unit testing of the individual question
2. no deployed variants
3. question failed on system upgrade or question not checked since system upgrade (STACK questions have an "authored on version X" so we can track upgrades against the version the question was last authored on).

Yes, question authors should do all these things, but we all forget from time to time! A visual reminder with a flag/icon in the question bank question list would be really appreciated, and this proposed field could be used for that.

Happy to talk about this. Thanks again Tim.
Chris
Average of ratings: Useful (3)
In reply to Christopher Sangwin

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Regarding your main point about being able to save 'broken' questions. Well, it is not the first time you have asked me for it. I'll think about it. There might be a way to handle it by adding a 'status' to the question_versions table ... I'll think on it. Might not happen within the scope of this project. It might get added later.

Regarding the information you might want to show about questions (number fo question tests, when they last ran, whether they passed, number of deployed variants). This is exactly where the idea of question bank plugins makes this possible. We can make a qbank_stackinfo, which makes all these bits of information available for display in the question list - and available for filtering on. Then, if you have a site with a lot of STACK questions, you can install this plugin and configure these things to be displayed.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Matthias Giger -
Picture of Particularly helpful Moodlers
As far as keeping old versions of questions is involved, there shouldn't only be a rule based approach to get rid of them, for instance after half a year.

You should also have to possibility to purge old versions manually. I think this especially important for complex questions types where you need to save and reedit them several times before you get them right.
Average of ratings: Useful (3)
In reply to Matthias Giger

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Emmanuel Curis -
Yes, I definitly agree, especially when you are building the questions outside Moodle and import them as XML files with hundreds of variants of the same question. When detecting an error, if all the deleted variants are kept, a few tries from a few users could quickly fill the server, especially when involving complex questions that include several images or other kind of included files...
Or, may be, for instance based on the category and the unique numeric identifier of a question, something like an "import and *replace* questions" (choice of the user when importing) instead of first having to delete them, then reimport, may help?
Average of ratings: Useful (1)
In reply to Emmanuel Curis

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
There definitely need to be automated clean-up of old versions that are not used anywhere. And manual version management could also be developed, if it turns out to be desirable, though my inclination is that it is not a must-have feature in this project. It is the kind of thing that is quite easy to add later.

Improved import, so you can do 'Import and replace' is something I have wanted for a long time. I keep thinking it would be a good thing to propose as a Moodle User Association project, but then I get too busy to actually write up a proposal. So, another good idea, but I don't think it is on the critical path of changes that need to be in this project. (And, once the fundamental changes in this project are done, then people can experiment with ways of improving import in question-bank plugins, and then once we have a really solid concept, put it in core.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Shirley Gregorczyk -
Picture of Particularly helpful Moodlers
In the current question set for a quiz/course after the start date questions cannot be deleted from the set, which is correct for historical records. Could the functionality to included to hide/suspend/inactive a question from quiz attempt? - Marking a question as inactive would exclude it from future quiz attempts generated for students, but allow us to look at previous quiz attempts.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Fabian Glagovsky -
Picture of Particularly helpful Moodlers Picture of Testers
"So, you can alwasy see who changed the question when, and probably what they changed"
I think this is very useful. Sometimes I have a nagging suspicion that a very ambiguous question is being changed every term according to the mood of the current instructor and we keep going around in circles.

"do you want each student to get whatever the latest version is, at the time they start their quiz attempts."
I think this will be preferable. I'm thinking on last minute changes when the early students spot a problem in a question, and we can fix it for everybody else before they even notice it.

I just wanted to say sorry that I didn't see this thread until now. The email Antonia sent fell on my junk folder.
Best,
In reply to Fabian Glagovsky

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Thanks for your comments. Getting the latest version is likely to be what most people want most of the time, so, it will be the default option. However, suppose you are including a question from a shared question bank, where lots of other people have permissions to change things, in your final exam. Then, the option to fix a specific version is a useful choice to have.
Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Haley Koch -
All of the svg images in all Tim's posts are not displaying for me, is that happening for others? It seems to be telling me the svg file is empty

https://moodle.org/pluginfile.php/134/mod_forum/post/1683186/Question%20database%20before.svg
In reply to Haley Koch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Przemek Kaszubski -
Picture of Particularly helpful Moodlers Picture of Testers
In reply to Haley Koch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
I could reproduce the behaviour, but only for the database structure diagrams.
In reply to Haley Koch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
As far as I can see, no-one has actually reported this properly. I have now created MDLSITE-6552, so hopefully this will get fixed.
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Emmanuel Remy -
Hi,

I’m very happy with this new question bank but as you mentionned, the number of question versions is quickly increasing in my database and I haven’t found a way to erase them at once.

Is the cron task for this still planned to be implemented?

Thanks
Emmanuel
In reply to Emmanuel Remy

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
It has not been implemented yet.

Is the increasing number of question versions causing you any real problem?
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Emmanuel Remy -

Hi,

Not a problem at this time as Moodle 4 has just recently been installed. But as I see some questions having more than ten versions, I’m wondering the consequences on database and on disk space within a few monthes.

Thanks

Emmanuel

In reply to Tim Hunt

Task for removing unused questions

by Bronwen Campbell -
Hi Tim,
Yes, not having a task to remove unused or duplicate questions is likely to cause a problem for us - particularly because we ended up with a huge number of duplicate questions after a course restore (see Moodle Tracker MDL-75854), and also because we have a number of people working on question editing and every time they save it creates a new version. It would be great to have that task available. Any idea of timeframe?
In reply to Bronwen Campbell

Re: Task for removing unused questions

by Bronwen Campbell -
I started to post the following into MDL-75854 but thought it might be better here. We had a whole lot of duplicate questions and thought that manually moving them to an in-course category would be safer than deleting them. Manually moving the duplicate questions turned out to be a bad idea. It changed Quiz categories that the original quiz was drawing from - is this expected and planned behaviour?

We originally used the random question approach as it made it possible to build and improve our question bank continuously, and it seemed safe to move questions around within categories as needed - but no longer if the category in the quiz changes, especially without any notification that it has happened.

I had to rebuild the quiz. While I can see that overall the treatment of redundant or obsolete questions is much improved with the new version control and deletion maintaining the history, I am really concerned that moving questions into another category changes the quiz itself.  It gives rise to significant risks in having our exams compromised by someone inadvertently moving a question and not realising it changes the quiz.

I now have to go through every one of our exams to see if they have been affected, as we often draw foundation knowledge questions into multiple exams, so it is highly likely that they are now drawing from a whole lot of unrelated questions intended for deletion.

Any suggestions on how I can search for this category being used in a quiz (not in a past attempt) would be very welcome!
In reply to Bronwen Campbell

Re: Task for removing unused questions

by Cris Fuhrman -

> Any suggestions on how I can search for this category being used in a quiz (not in a past attempt) would be very welcome!

In the past, I have just exported (backed up) the course and unzipped the file (it's just a Zip format, so you may have to rename the file) on my PC and then used a (programming) text editor to search for strings (in your case the category). 

All the Moodle elements are XML files -- caveat: I've not tried this for your use case -- finding quizzes with certain categories of questions --- and perhaps those are not actually strings in the quizzes but rather codes that point to the categories, in which case it won't work. However, it doesn't take long to try this and could save you some time.

In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Emmanuel Curis -
Speaking of plugin updates... May be it is too early to have an exact idea, but: does this mean that the XML format for questions is expected to change (not only to have new features, but somehow some incompatibilites with the old format)? If so, what is meant for backward compatibility?
Or are this change independant of the XML format file?
In reply to Emmanuel Curis

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
That is a good question.

The general policy is that it should be back-wards compatible. For example, it should be possible to take a file exported from Moodle 1.9, and import it into Moodle 3.10.

Also, I know other people rely on Moodle XML format for various things. So, as far as possible we won't change it. But, if we have to, we will ensure that old files can still be imported.
Average of ratings: Useful (3)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Emmanuel Curis -
Thanks. As a typical user that depends strongly on the XML format, It is really appreciated…
Average of ratings: Useful (2)
In reply to Emmanuel Curis

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
'Thanks. As a typical user that depends strongly on the XML format, It is really appreciated…'
XML is the Ultimate format.
Does anyone use the XHTML format?
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Milagros Huerta Gómez de Merodio -
Picture of Plugin developers
Good afternoon.

I hope that the XML codes of the Moodle standard questions do not change and, if they do, let me know, because the plugin that I have developed (FastTest PlugIn based on Excel, which greatly simplifies the creation of large question banks). What it does (mainly, since it has other little features) is generates the XML codes of all the types of questions it has.



Those of you who use question banks a lot and have Excel, I invite you to provide it. It is having a very good reception and can be translated into any language that Google translate has (even Arabic and Japanese, for example). 



Perhaps, some of the problems that are raised in this forum (I have not followed it in its entirety, as it is very long) can be solved with the use of FastTest PlugIn

I am sorry that it is in Excel (which is not free software), but I am an Industrial Engineer, I am not a Computer Engineer, and I know how to program "something" in Excel VBA.

Regards
In reply to Milagros Huerta Gómez de Merodio

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
It should always be the cases that you can take a Moodle XML file from an older version of Moodle, and import it into a newer version of Moodle. If there is a change in the format (for example, because a question type has a new option added), then if you import a file with that value missing, the default value is used.

So, I am pretty confident this works. Some Moodle question types have automated tests which test importing an old example file. In some cases those test files are years old and still work, e.g. this was the first example I looked at, it it has not been changed since 2016 https://github.com/moodle/moodle/blob/master/question/type/match/tests/fixtures/testquestion.moodle.xml
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers

I am trying to follow this and maybe it's a simple yes no answer...  Will these changes help teachers better share quizzes and course content without having to copy over the entire course question bank?

We currently see where the entire course question bank has to copy over every question for a single quiz which might only use 10 out of 300 questions.

That is an improvement we'd LOVE to see.

Chris

Average of ratings: Useful (9)
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
That is one of the goals. It's one of the issues I have not written about in detail yet.
Average of ratings: Useful (3)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Thank you Tim! So glad to hear this is being considered. That will be a huge improvement for all around system performance as well. When you have lot's of teachers sharing lots of quizzes the copying back and forth makes question banks grow rapidly!
Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Matt Ladwig -
Hi Tim,

Did this end up getting fixed in 4.0? I just tried doing a quiz import in a Moodle Demo with 4.0 and it still brings over the entire question bank for me.

Thanks,
-Matt
In reply to Matt Ladwig

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Fixing the issues with backup and restore of quizzes using shared questions from the question bank is mostly tied up with the new mod_qbank (MDL-71378), which in discussion with Moodle HQ it was decided should wait until Moodle 4.1.

So, not fixed yet in 4.0. Sorry.
Average of ratings: Useful (2)
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Don Hinkelman -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Thank you, Tim, for making sharing questions across multiple courses and among teachers (both within a site, and globally through MoodleNet) a goal for Moodle 4.0. This has been a long time roadblock for Moodle as it attempts to become an engine for OER. Off the top of my head, I would imagine the sharing process might be an auto-pruning of the question bank, or an auto-recategorizing process down to the lowest level (to course level or quiz level context). I will be excited to see the strategy that you are coming up with.
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Martin Meadows -
I can't speak to the technical challenges of this but, as a user, I would love to see greater portability/modularity of quizzes such that, for example, any given quiz containing a certain configuration of questions could be saved as a self-contained unit - similar to h5p files - that could then be dropped into the content bank, downloaded to a USB thumbnail drive, or maybe even sent as an email attachment to a colleague who wants to use it in her Moodle.
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Luca Bösch -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Dear readers and subscribers

I’d like to talk for a bit on what the project could lead UI wise.
We’re at a quite early stage here.
Wireframes are what they are: an early draft on what could be sometime.
They are subject to change. That’s inherent in the developing process and the concept.

Let’s look at a first Question bank wireframe



You see that we try to add a filtering system similar to participants. It could be like this, or move away from it.
What you see is that there’s the idea to represent the search in a kind of syntax as well. You may have spotted the share button next to the search button.
Our idea is that your search can be bookmarked or/and the link can be sent.


The column do differ from today. They may show version, usage and so on. Since each column is managed by a plugin, you’re free to add and remove some.
Global settings will be provided to define the shown columns.
Maybe like this:



As we have learned, the question bank will become an activity.
Most recent deliberations go into the impact of this. 

We’re wondering it is it the case to change to an action menu and to drop the tabs.


Or do both, Action menu AND Tabs? We will see.

Min my last screen, I want to show is one wireframe showing question usages. Remember that this project will allow for overview on what spots your question has been used and introduces versioning.

Thus, something like this is possible:

An overview page showing the question in preview (you can’t play with it there, so the elements are disabled) and all the related appearances. Some remarks show the current state of us reflecting on the wireframes. Again, this is still a much work in progress area which isn't that advanced as the structural foundations outlined by Tim. Still, I wanted to share this.

That’s it for today. In one of our next posts, I will talk to you on how you can get involved (by action or financially) in this project.

Have a nice weekend.

Best,
Luca

Average of ratings: Useful (9)
In reply to Luca Bösch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Enrique Castro -
Picture of Core developers Picture of Particularly helpful Moodlers
Hi, I think the ability to filter and search the question bank is a key feature for large banks.  Please, consider the integration of the already existing local plugins that add options to question search:

Adding a "qtype" or word search on question names, stem or options (or any of them) as an integrated feature of the bank.
Average of ratings: Useful (1)
In reply to Enrique Castro

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
We will be adding those feature.

However, we wont just add those plugins, because to get these features and more (and make it easier to write more question bank plugins in future) we are going to completely rebuild the question bank.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Pluggability brings leverage, HQ doesn't have to build everything, just create ways of allowing plugins to do things.
In reply to Marcus Green

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Hugo Ribeiro -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Thank you Tim, Luca and everyone involved.

I'm sure Moodle already offers the best question Engine/functionalities on any given LMS and this revamp will leave others in a long distance. Thank you.

In a distance do you reckon it will be easy to have the big picture about the questions that make up a quiz looking at the question bank? The ability to add tags in bulk could be a workaround...

PS: please make it so that is nearly impossible to publish the activity question bank to students
In reply to Luca Bösch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Avi Nathan -

Luca

thank you for sharing the UI ideas

the Usage column is great! 

It would be most useful to be able to get a list of links of all quizzes that include the question 




Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Luca Bösch -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Contributing to this project


In a recent post I promised to share with you how you could contribute to this project.
We're thinking about two different options: committing development resources and/or committing financial funds.

If you are able to commit development resources this year in the months from april to november, don't hesitate to contact us.
Some precise delimited elements will be carried out as modular plugins an will be able to be carried out by community developers.

Financial contributions are equally welcome. A Moodle partner will carry out the mail development parts and this project has to pay this.

Our proceeding is the same as in the successful Safe Exam Browser deeper integration project.
Bern University of Applied Sciences will play the part of contractor with the Moodle partner as well as the part of the bank (the famous "Swiss bank" of course).
What we're talking here is a University cooperation project and in that it is exempt from VAT.
For contributing, please choose an amount and a currency your institution or you want to contribute in.
Then, it's important to know whether you need a a contract and an invoice or if it is enough for you to just get the invoice.

Please get in touch with me for all financial and contractual questions and to announce yourself for your contribution.

Contributors/contributing institutions will probably be mentioned in the release notes sub-video where the changes are announced to the community (it has in Safe Exam Browser deeper integration at least).
Also, it could be that a moodle.com news item will be published about this idea, project, collaboration and contributors.
Another place where institutions involved could be mentioned is the project specification page in the dev docs wiki.

I love to be hearing from you!

Best,
Luca

Average of ratings: Useful (3)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I am sorry that I have been a bit quiet here for a while. We have been testing our latest internal Moodle release at the OU, and we have some very assiduous people doing that testing. That is very good news for our users, who get bug-free software, but quite hard work for use developers. (Of course, you might say that if we did not create software with so many bugs, there would be less to fix at the end 😉.)

So, I think there are two more posts I need to add here, and this is one of them. The other one will look at how we will change the link between the quiz (or other activity) and the question bank.

I said above that "the question bank will be built from plugins". This post is going to looks at ...

What question bank plugins will be developed as part of this project

This is, of course, just for starters. To ensure that out-of-the-box, Moodle has the basic functionality that everyone needs, which includes everything you can do in the question bank today, and the new features we are planning to add.

I am going to break down the whole list using those two categories, and then furthee split it by whether the plugin mostly works with one question at a time, or sets of question.

Existing functionality moved to plugins: things that affect one question
  • Edit/duplicate question
  • Preview question
  • Delete question
  • Manage question tags
  • Export as XML
  • Plugins to show/filter core properties: question name, type, idnumber, tags, question text, creator/owner & date, modifier & date.
Existing functionality moved to plugins: things that affect groups of questions or the whole bank
  • Add question (this shows the question type chooser before redirecting to the Edit plugin)
  • Manage categories
  • Import questions
  • Export questions
  • Bulk move
  • Bulk delete (might be part of the same plugin as single question delete)
New features: things that affect one question:
  • View/manage question history
  • Show where a question is used
  • Show statistics from quizzes where question is used
  • Question is usable (checkbox for controlling whether a question in a shared bank is ready to be used outside the bank)
  • Comments (allows teachers to comment on the question in the question bank, to help collaboration)
  • Custom question fields (like custom user profile fields, but for questions. We will probably start with text and drop-down menu field types.)

If you look back to Luca's UI mock-ups, he has sketches of how some of these might look.

New features: Things that affect groups of questions or the whole bank

(I can’t think of any right now, although already in this thread we have seen some ideas which might make good additional plugins in future.)

Every time I look at this list, I get this nagging feeling that I must have forgotten something. But then, that is the nice things about these being plugins. It does not matter. This is not some fixed list that is hard-coded into Moodle core. if we need to add, remove or re-organise this list, that is no big deal.
Average of ratings: Useful (8)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

The remaining element of the design to describe is how the quiz, and other activites which use the question bank, refer to the questions they are using.

Even this has two sub-parts. Probably the more important part is the user interface that the teacher sees when they are building a quiz. I thought Luca had included this in his UI sketches, but not yet.

Even so, in this post I want to talk about how it works behind the scenes. (If you are a user, not a developer, you probably want to swich off now. However, you probably want to read the final sentence of this post!)

How we store the information about where questions are used

Let me bring back the diagram we have already seen above, showing how the database is now (Moodle 3.10)

Question database schema, before our changes.

The key thing to notice here is the arrows pointing from the quiz_slots table into the question bank. The way Moodle works, things in Moodle core cannot work based on specific knowledge of what goes on inside different plugins (because people can create and install additional plugins that core did not know about.)

So, the basic idea (which is already used in several other parts of Moodle, stuch as files or the comments) is to turn those arrows around:

Proposed new DB structure

Now, it is the core question system that knows where questions are used. That 'where' is defined by a combination of 4 columns in the question_references table:

  • The context - which part of your Moodle site. It this example it would be the quiz context.
  • The component - which bit of Moodle code is responsible for this use. Here it would be mod_quiz. It other situations it might be, say, filter_embedquestion.
  • The 'question area' - This is to distinguish different types of use of questions if necessary - although it is not necessary in our exampe. For the quiz, the value here will always be 'slot'.
  • The itemid - This distinguishes different instances of the thing. E.g. for the quiz this will be the slot id, so the system know that this question is used in slot 1, this questoin in slot 2, etc.

As I say, this is very similar to other existing things in Moodle, like the files table, where the list is (contextid, component, filearea, itemid).

Then you have the information about which question, which is questionbankentryid, and versionnumber - and version number might be null, to indicate 'most recent version'.

That deals with the case where you simply add one question to a quiz. Of course we also need to be able to add questions randomly. That is handled by the other table question_set_references. In this table, the first column are the same 4 things indicating where the questions are used.

Then, to indicate which questions are in the set, we simple store a filter expression. That is, something that can represent any search you can do in the question bank, so ...

... this means that, in future, any condition you can use to search the question bank can also be used when building quizzes with random questions!

Average of ratings: Useful (4)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Fabian Glagovsky -
Picture of Particularly helpful Moodlers Picture of Testers
Hi, I have a question. An answer will help me understand this question bank project better.
When you have a course with quizzes and a question bank and you backup up and restore that course to a new course. Is (and will be) the question bank and its questions for the new course completely independent from the question bank in the original course? If they are, how will Moodle know if a question has been used before (and what version of it). Or is this project scope of tracking question usage only valid if you keep the same original course alive (with new students added term after term) and just do changes in its question bank?
I don't think I understand this basic fact.
Question about project question bank
Best,
Fabian
In reply to Fabian Glagovsky

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

If you copy the whole course, including the question bank, then the copy is a separate thing. I don't think it is reasonable to expect Moodle to track the connection between the two. If you want to track everywhere a particular question is used (and only correct errors once if they are found) then you should keep the question in a shared question bank outside the course.

Average of ratings: Useful (3)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Fabian Glagovsky -
Picture of Particularly helpful Moodlers Picture of Testers
Thank you Tim. That makes sense. I now understand better the scope of this project.
Best,
Fabian
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Francois Parlant -
Hi Tim and Antonia,

The capacity to have "random question from a category" is what makes moodle so incredibly useful.
The problem is that if I want to use a question in different categories I need to duplicate it. This means that correcting a typo is never done correctly among all the categories.

Will the new system allow the possibility (probably through a plugin) to add questions to a category, not as duplicates, but as "linked" question?
This way a same question could be "used" in multiple categories for random quizzes (maybe as a "virtual question"), and still be editable in one place.

Regards
In reply to Francois Parlant

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
We have no plan to change the fact that each question can only exist in a single category.

However, that is not the point. Since Moodle 3.5, it has been possible to add random questions to a quiz based on tags, and questions can have multiple tags. Therefore, you can already do what you want.

However, in terms of what we are planning for Moodle 4.0. In future, any condition that can be used for searching the question bank will also be a way that can be used to randomly select questions for a quiz. And, we plan to make it possible to search on just about any property of a question.
Average of ratings: Useful (6)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Francois Parlant -

👍Thank you so much for the "random question by tag" solution... of course, my school had deactivated "tags" 🙁

In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Luca Bösch -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Contract signed


I'd like to inform the subscribers of this forum and of this thread specifically that we've signed a contract with a Moodle partner.
Work will be conducted by Catalyst IT Australia Pty Ltd.
We well be keeping you informed of all results and intermediate milestones e.g. when there would be a demo site available.
Work is to be started march 8th.
Note that you still can contact us if you want to contribute either by funds or by work force.

Best,
Luca

Average of ratings: Useful (6)
In reply to Luca Bösch

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Excellent. Will there be a repository to track commits?
In reply to Marcus Green

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Almost certainly. Once we have got started and konw where things are, we will let people know.
Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
In other words contrary to the ideas put by me here https://moodle.org/mod/forum/discuss.php?d=412117#p1675028 and discussed in f.f.

Not that anybody is obliged to follow. This discussion https://moodle.org/mod/forum/discuss.php?d=419591 reminded me to document the fact that our quiz dept. is following the "enterprise" model leaving the school sector behind. Not too difficult to understand.
In reply to Visvanath Ratnaweera

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
You say "contrary to the ideas put by me here" and link to a long post, most of which agrees with what we are proposing. You don't say specifically which parts of our proposal disagree with which parts of your ideas. Also, I already replied to you in the other thread.

Perhaps if you can make a more specific point, I can respond to it.
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Stéphan GRIGNON -
Hi,sorry i'm a little confused, could someone following this thread please tell me if what is on offer will fit the schema on the right rather than the one on the left or both will be possible.

Average of ratings: Useful (1)
In reply to Stéphan GRIGNON

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Don Hinkelman -
Picture of Particularly helpful Moodlers Picture of Plugin developers
That is a very helpful, simple diagram, Stephan, because it captures the core structure of what the question bank is or could be. I am sure the answer will be--"it's a bit more complicated". smile However, I hope the answer is "both". This is why. Earlier, I asked if the question bank will be built for sharing--sharing questions among teachers on a site, and sharing globally via MoodleNet or other interchange. The problem with sharing has always been the right-side diagram. Basically the whole question bank goes along with a course even if a single quiz or a single question is in the course. This is sometimes just an irritation, but is often a bug that crashes the course transfer or the Sharing Cart transfer. So I hope the answer is "both" because when sharing is done, we need to shift to the left-side model, so that only questions used in Course A, are transfered in Question Bank A. I hope I am not over simplifying, but an answer that says "both" would be a godsend that would allow the Question Bank 4.0 to release the growth of OER and provide smoother operations in the new Moodle.
Average of ratings: Useful (1)
In reply to Don Hinkelman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Stéphan GRIGNON -
Hi, by re-reading parts of this discussion thread and the previous one on the subject, I rather feel that we are heading towards the right solution. In particular, if I translate well in my diagram below the part concerning the information on the versions and contecte of use of the questions, this seems to be confirmed.

In reply to Don Hinkelman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
"the whole question bank goes along with a course even if a single quiz or a single question is in the course"

This is a bug - which will be fixed in this project.

The presence of this bug in the current version of Moodle should not determine what we build in the future.
Average of ratings: Useful (7)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Don Hinkelman -
Picture of Particularly helpful Moodlers Picture of Plugin developers
"This is a bug - which will be fixed in this project." Thanks, you, your team and Catalyst are heroes. I am so looking forward to Moodle 4.0.
Average of ratings: Useful (3)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Blair F. -
Picture of Particularly helpful Moodlers
""the whole question bank goes along with a course even if a single quiz or a single question is in the course"

 This is a bug - which will be fixed in this project."


I am wondering if this ended up getting fixed. 

I just installed the windows version of 4.0dev and tried it with a course that had 30,000+ question in its bank. I Sharing carted only ONE quiz containing 70 or so questions to another shell and all 30,000+ questions went along with it. I was so sad. sad Perhaps the Windows dev version doesn't contain the fix yet, or perhaps I'm misunderstanding and have high expectations.
In reply to Blair F.

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
In the current dev version the old question bank and the new one co-exist. Some things are already working as intended - others are still to come. The feature you mentioned, so that a backup of a quiz only contains the question that are actually used in the quiz, is one of the features still to come.

If you want to follow the project more closely, I recommend you have a look at the corresponding Moodle Epic (and it's issues): https://tracker.moodle.org/browse/MDL-70329. And if you are interested in even more detail, you may have a look at the project board here: https://github.com/catalyst/moodle-MDL-70329/projects/1.

Talking about details: we are still looking for some people who want to join testing - please speak up if you're interested
Average of ratings: Useful (2)
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Michael Spall -
Picture of Core developers Picture of Testers
Antonia,

I am interested in helping with testing. Is this where I "sign-up" to help test or is there a different place to more formally apply.
In reply to Michael Spall

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Hi Michael,

As Code Freeze for 4.0 was yesterday, there is little to test at the moment. But we are still looking for people joining QAtesting starting at the 1st of November. Would that be something for you?

Best,
Antonia
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Michael Spall -
Picture of Core developers Picture of Testers
Antonia,

Yes it is. I have participated in Moodle QA before. Would this be part of the regular Moodle QA process?
In reply to Michael Spall

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Yes, it will be part of the regular Moodle QA process.

In reply to Stéphan GRIGNON

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
The short answer is that both will be possible, depending on what you want.

But, the diagram on the right is misleading because there is not just one global question bank. You can create as many different shared question banks as you want.
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Tim

To be honest, I didn't expect the "food for thought" in https://moodle.org/mod/forum/discuss.php?d=412117#p1675028 and f.f. are feasible, because they are based on a radical simplification, a step back for the bulk of the (advanced) users. I am taking of the "live connection" of questions in quizzes to their originals in the question banks. What I was suggesting was to consider the questions in a quiz as originals. Once a quiz is conducted, the whole thing will be frozen. Of course one can extract the questions and use them in other quizzes, but then they'll become copies, independent of the originals.

I know, that will break the present advanced architecture. But, as you say, perhaps what I am explaining from a user's point of view will be possible as a sub-set of the future architecture. I must admit that I am not involved enough in quizzes right now to think it through. There is no urgency from my part. Thanks for coming back!
In reply to Visvanath Ratnaweera

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
What you say will all be possible as a sub-set of the future architecture smile
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -
Hi Tim,

Thanks for letting us know what's in the works.

Are there any plans to start with a simplified architecture with support for the most used question types? Even (especially?) with plugins, the complexity seems to keep growing, and the resources are limited.

I think users would be happy to trade off some things, although I know nobody will agree on what they are wink
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I don't really understand your question. The question bank stores questions of any type, without really caring what type they are.

If you want a Moodle site with only a few question types, you can go to the admin screens and disable the ones you don't want. (You can do this today. It is not a new features.)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -
Sorry if I wasn't clear - it's not about the install of my site.

My question is about managing the complexity of the question bank in a 4.0 version. Moodle (as I can see) only adds newer features, but the open source community is not endless, and with the support of features there is complexity in the software. The complexity (even with plugins and all the good intentions of open source developers) translates into more tests, more bugs, harder GUIs to make correct, more time, more explaining of how it works to users, etc. I know https://tracker.moodle.org/browse/MDL-54761 is not related to the question bank, but this bug has gone ignored too long and several instructors abandoned homework assignments in Moodle because of the pain it causes.

The competition (e.g., Canvas, GSuite, etc.) have aimed at getting only core features in place (the MVP approach) and making them easy to use for instructors. Those LMS are arguably inferior to Moodle's feature set in terms of completeness (Moodle has an outstanding community of contributors and nobody knows it better than you), but I think the competition are using Pareto's principle and honestly they're gaining ground. How easy an LMS is to use is a big point of whether it's adopted finally. This is a key weakness of Moodle, so I'm suggesting some of the KISS principle, too.

So, I was asking (suggesting) a strategy for the future of Moodle with prioritization or streamlining design for the most-used features in mind. I trust Moodle HQ have data on that, and you shouldn't necessarily aim for what people complain about/ask for the most in the forums.

TL;DR: Every feature has a cost, and the resources are not endless. Shouldn't some things be abandoned or prioritized to keep the system usable and simple?
Average of ratings: Useful (1)
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
Interesting question, Cris. From what I can see, the Moodle quiz engine many years ago was much simpler. It grew based upon the demands of users, like you and me. I think the proposal from Tim is a way of saying "How do we keep adding features in a way that will keep everything organized, yet allow for growth and more features?" If nothing happens, Moodle's quiz engine remains more powerful than all others. But then we wouldn't have any progress.

Having said this, I know that some people will say "Moodle is too complex, it has too many features to worry about." But no one is forced to use all its features. An example is Tim's post, where he says admins can disable quiz question types. Along with this, Tim is always looking for better ways (easier and more understandable) for the quiz engine.

Looking at Tim's quiz engine schema, one could say "That's complex." But this is how relational databases work.

I'm not trying to argue, or anything like that. Your post made me think about Moodle's quiz engine.
In reply to Rick Jerz

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -
Don't forget lots of university settings have one moodle site with hundreds of instructors. It's an admin headache to customize the Moodle. For those unis, one size must fit all (it goes both ways, sometimes admis don't want to install plugins for just one instructor, either). It's a reason the question bank is broken for the most part at my university. Instructors don't have admin rights to set up question sharing.
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
I don't want to speak too much for Tim, who does a lot of work on the Moodle quiz engine, but he is associated with OU, Open University, in the UK that is the largest academic institution in the UK, with around 200,000 students. And so he is a good guy to be trying to improve the Moodle quiz bank. I think that he can relate to your situation. (Tim, sorry if I have misrepresented you.)

If I interpret your profile correctly, Cris, I see that you are associated with ETS, a school focusing on engineering and business with around 11,000 students, if I am reading the school's website correctly.  Hmmm, I have two engineering degrees and an MBA, so I can associate a bit with your environment.  Sometimes I am puzzled by engineering faculty who seem to sometimes struggle with LMSs and in particular, question banks and databases.  Maybe the same thing can be said about business faculty.  I am associated with a big ten US university, and I have taught in both engineering and business colleges, and I kind of see the same pattern.  I am not debating this issue or arguing it, I am simply having friendly chit-chat to stimulate ideas. ☺️ If anything, I am saying that I know where you are coming from.  You have a great software background and probably know the complexity of relational databases and user interfaces.

So in both fields (engineering and business), the folks talk about invention, creativity, and innovation.  Then you put a powerful LMS in front of them and they say "Can't you keep it simple?"

In my teaching, I want the most powerful LMS.  I can figure out all the options, as needed.  The same thing is true with the LMS's question bank and quiz engine. Perhaps this is why I like Moodle's approach.  So keep offering your ideas and things that you would like to see improved.  The great thing about Moodle, compared to other LMSs, is that I can offer ideas that eventually get implemented. (I am not associated with the Moodle organization, just a user.)
Average of ratings: Useful (2)
In reply to Rick Jerz

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -
> So in both fields (engineering and business), the folks talk about invention, creativity, and innovation.  Then you put a powerful LMS in front of them and they say "Can't you keep it simple?"

Yes, Rick 😃 and I like friendly chit-chat! I think simple is even more important now after one year of a pandemic. Pre-pandemic, the majority of instructors at my uni only used Moodle to store course content, according to stats done by the Moodle maintainers. The majority didn't use quizzes or even assignments. Since the pandemic, however, nearly all were forced to using quizzes (although many reverted to assignment-style photographed exams via PDF, because quiz creation was too clunky). I suspect this problem is not unique to my uni. I recently discovered Gradescope, which has gained in popularity because of the pandemic and this use-case. 

Post-COVID, the LMS tools that are easiest to use are going to be adopted - COVID is a huge accelerator. Lots of unis out there are pushing past this pain point - students were forced to use Google Classrooms so much that they attempted to get it removed from the Apple/Google App stores by giving it one star 🤣, but it wasn't so much that Google Classrooms is bad - it's very easy to set up for instructors. Students mostly like Moodle (at least it's the feedback I get). So at my uni the problems with Moodle usability by instructors are the pain being amplified by the requirement of instructors being forced to use it during the lockdowns. To me, this fact seems of major importance. 

Most of us who read this forum can live with the complexity, because we appreciate the pedagogical benefit. Historically Moodlers are trainers/instructors/etc. and so we've produced content to aid our peers at using the tool. But it's not the case for the person who just wants her course to work "online" and is now forced to use Moodle. Watching a training videos, etc. still require extra time as opposed to the old way of doing things. Those people have to transform their content, learn zoom/teams/discord/etc. and are going to make their voice heard when a system is easy or hard to use (Discord is very nicely appreciated by the way). In the end, I believe students have much less say with respect to buy-in for tools. It has to be easy to use by most instructors. Having used Google Classroom and Moodle at the same time for the past 2 years and recently in the context of a lockdown, the difference in simplicity has been made clear (to me anyway).

Feel free to read on - it's more anecdotal chit-chat stuff that maybe conveys my point of view, but the above is essentially what I wanted to say by the importance of KISS.

Pre-pandemic I showed many of my colleagues how I used quiz questions with Moodle (inverted classroom, reading quizzes, MCQ design with good distractors, even looking at stats in results to find misconceptions, trying to get a concept inventory, etc.), at lunch seminars, even in-person, sitting down with them. Most of them thought it was interesting, asked lots of questions, but when asked about the time involved I could not deny it was a significant investment. The pressing reality is that research results (publications, grant proposals, graduate students) are ultimately what get many professors a promotion, which is a problem Moodle can never solve. So, they always told me "thanks but I'll never have time for that complexity." Well, the pandemic magnified this problem 100 times.

It occurred to me at the time that we Moodle enthusiasts (the ones who want the powerful LMS as you say, RIck, the ones more passionate about pedagogy giving our time to show how use use Moodle in our courses, etc.) are akin to that small minority of students in our own classes who are intrinsically motivated to learn. I've heard the term "usual suspects" as they're the ones who raise their hands first when you pose a question to the class. 

Just as we as instructors must teach to the majority who are not the usual suspects (it would make us much less effective otherwise), shouldn't Moodle adjust to those users who are less willing to trade off a clunky GUI or over-complex tool for a powerful pedagogical tool? They are (the 80% of?) instructors who "just" want to get a job done (20% of the features?) quickly and the tool needs to work easily. They don't have time to watch a youtube video to explain where to click to create an assignment or follow a training seminar to understand how to set up a quiz with a bunch of options. As a concrete example, they're super irritated when their students can see answers to a final exam immediately because they configured the wrong feedback option (as opposed to having a most-used template be a default). That feedback option matrix is something in quizzes! By the way, I'm purposefully "whining" here, to show a perspective I think could be legitimate. There are lots of usability issues in the bug tracker that hit these "new user" pain points. Simple maybe needs to be more of a priority. 
Average of ratings: Useful (4)
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
Thanks for all your thoughts, Cris. It's interesting that my 9-year old granddaughter said she hates Google Classroom!
Yep, understand that the pandemic accelerated everything. Everyone dropped on the top of a ski mountain and told, "just put on these skis and ski down!"

There was some mention about Canvas up above. My school uses Canvas, a very simple product that is clumsy as soon as you push it a bit. I once met with our internal "Canvas Quiz Engine" guru when I was somewhat new to Canvas. He said "If you are used to Moodle's quiz engine you are going to be very disappointed with the Canvas quiz engine." However, if all that I had to worry about was making it through one semester of a pandemic, Moodle's method of using a "question bank" would probably not matter as much.
Average of ratings: Useful (4)
In reply to Rick Jerz

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -
Good ski analogy, Rick. I have no doubt that Canvas is less powerful. Today I got an email that Google will implement a small feature request in their quizzes to support more automated quiz creation. Google Classrooms still has a long way to go to be as powerful as Moodle's quizzes, however.
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
For me, I don't see an inherent conflict between having lots of advanced features available, and also having something that is very easy to get started.

As an example, consider Microsoft Word. When you run it, you get a blank page, where you can just start typing. And adding headings and bulleted lists to structure what you type is pretty self-evident. (And these days, it makes it easy to use proper heading styles, rather than just making certain text bold and bigger.)

But, when you want to insert a table and control how it looks, or do a mail-merge, or produce a book with multiple sections and a particuarl visual design style, that is all there too, waiting for you to access. You don't need to give up on your simple work-processor, and move to a different bit of software.

Moodle new-teacher experience is a long way from being simple enough, and that should be worked on, but that has nothing to do with removing features.
Average of ratings: Useful (9)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Cris Fuhrman -

> Moodle new-teacher experience is a long way from being simple enough, and that should be worked on, but that has nothing to do with removing features.

I think it depends. Let's use the quiz review options as an example. 

Quiz review options

I've often wondered about all these checkboxes and the permutations possible, if they even make sense. New instructors notoriously get this wrong. I am not new, but I have learned to always "copy" a quiz that I know is configured right, because I can't be bothered to understand all these settings - I just want to give my final exam again. 

So, to say whether all those options are really needed, I as a Moodle user do not have enough experience - my use cases are limited and I am biased (don't listen to me, I will tell you the ones I use, but maybe I'm in a tiny minority). But as a software person, I look at this and say to myself that theoretically every box means the software can behave differently and there is logic in the code to handle every case (on/off). You'd probably need a test for each option, etc. Will the (new) designers/maintainers even understand these options? 

It's a great example of 80/20: 80% of the users need only 20% of the boxes. The aggregate data (if it's there) will show you what they are.

When I spoke of removing features (functionality), it's in the interest of managing the software engineering effort of developing a 4.0 version. But the side effect is it can also make the software simpler and easier to use. If we got rid of 80% of those check boxes, I guarantee new instructors would not be so intimidated (and I might not need to always make copies of my exams rather than create new ones). 

In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Rick Jerz -
Picture of Particularly helpful Moodlers Picture of Testers
Maybe Tim will know where to find it, but there used to be an excellent example of the power of Moodle's quiz engine (and these settings) at www.jamiep.org, which is no longer there.

So, in your example, Cris, is this your default?

I would say "yes," all of these are needed. I say this because of my own needs (my settings shown below) and examples of many needs from posts that I have seen here on Moodle.org.  Notice that I never show students the correct answer.

I am not sure what Moodle's defaults are for these. However, instructors should think about what they want to do. Those "?"s should be explored as a minimum.
Attachment Quiz Settings.png
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Sander Bangma -

Hi Tim and all,

Firstly, many thanks to all who are driving this project and participating in the discussions. It is great to see our community getting organised and contributing in this way! 👍 😀

There are many excellent improvements in this project:

  • ability to customise/extend the question bank
  • versioning
  • tracking question usage
  • improved searching for questions

And they cover many of the use cases discussed.

A few things that I haven't seen widely discussed so far, and apologies if I've missed this, are:

  1. What will the workflows look like for creating a new quiz for the average user? Will creation of a quiz automatically result in the creation of a new course level question bank activity? If so, I don't think this is what the average user would expect. If not, what happens if we add a question bank activity to a course that already has a quiz with associated quiz activity question bank in it?
  2. What happens with existing courses that have existing quiz activities in them? Will each course automatically get a question bank activity added during upgrade to 4.0?
  3. If I understand correctly if the site has category question banks, the intention is to automatically create new courses for each of these question banks during upgrade to 4.0? Perhaps this has advantages for sharing of the question banks by giving and controlling access to the courses, but I can't help but feel this is a workflow that is mostly geared to large institutions. What about smaller sites that don't have a dedicated ICT / Moodle support team, will this cause counterintuitive workflows and give them extra overheads to manage their site?

Some of these considerations do make me wonder whether there is an alternative we can think of to make it easier to share question banks / questions, rather than making the question bank into an activity and for category question banks needing dedicated courses to share them. 

Average of ratings: Useful (2)
In reply to Sander Bangma

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Thanks Sander, these are good questions. We have discussed them before, at least within the project team, but it would be good to document the answers in public.

1) How does it work if you just want to make one quiz without thinking about 'Question banks'

It will actually be simpler than you suggest. No separate question bank is needed at all. To the teacher it will look like this:

  1. On course page with editing on
  2. Click Create activity -> Quiz
  3. Fill in settings form (only Name required, as at present) and Save and display.
  4. Click 'Edit quiz' button to get to the screen where you build the quiz.
  5. Click Add -> New question.
  6. Choose qtype.
  7. Set options for this question.
  8. Save.
  9. Repeat from step 5. as often as desired.

As a developer, you will be wondering how this works. The answer is that behind the scenes, the quiz will have its own private area of question bank (which is allowed because a quiz is context_module and a call to quiz_supports(HAS_QUESTIONS) returns true. (HAS_QUESTIONS is a new constant that will be added). So, the core mechanics of storing questions in the question bank will be available in this context.

However, mostly teachers will be able to ignore this ... up until the point where they start to want some of the question bank features (e.g. Can I export the questions that are in this quiz? Answer yes: do this.) This private, 'quiz' area of question storage will not be like a fully-fledged question bank. If you later want to start re-using these questions in another quiz, you will have to move them to a proper shared question bank first.

Average of ratings: Useful (5)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Przemek Kaszubski -
Picture of Particularly helpful Moodlers Picture of Testers
Dear Tim,

Does this:

"The answer is that behind the scenes, the quiz will have its own private area of question bank (which is allowed because a quiz is context_module and a call to quiz_supports(HAS_QUESTIONS) returns true. (HAS_QUESTIONS is a new constant that will be added). So, the core mechanics of storing questions in the question bank will be available in this context."

imply / mean that the default behaviour of Quiz will be for any new questions added to the Quiz to land in that Quiz's "private" question bank - as opposed to the course's central QB (Moodle's current default) ?

This would indeed be a highly desirable new default for the Quiz activity - IMHO.

Regards.
Average of ratings: Useful (2)
In reply to Przemek Kaszubski

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Yes, it does mean that.
Average of ratings: Useful (4)
In reply to Sander Bangma

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I decided to answer your other questions in a separate post. Hopefully that makes ongoing discussion easier.

2) What happens when you upgrade your Moodle site to Moodle 4.0 if you have quizzes?

It is as you say. For each course where there are currently questions in the course-level question bank, we will create an instance of the new 'Question bank' activity in that course, move the questions there, and make any necessary updates to the quiz data (the data in the quiz_slots table to be technical) so that the quizzes keep working.

Courses which don't currently have questions won't be changed.

Just last week, we had a discussion "where in the course should this question bank be created?" and reached the answer "We're not sure yet. We will make a final decision when more of the project is complete, and we can see how it looks. For now we will put it in Section 0. It's easy to change later."

3) ... and what about upgrade of site and category level question banks?

Your understanding of what will happen is correct. However, I have the opposite opinion than you about whether the proposed change is good or bad for small Moodle sites.

At the moment, if you want to share questions between courses, you need a Moodle admin who can understand this docs page Question_sharer. That is, you need to be able to create a new custom role, and assign it in system context. If you are in an organisation without good ICT / Moodle support, who does that?

In the new way, to set this up, all you need to understand is: create course, assign teacher, teacher creates activity. I think those are some of the first skills any Moodle admin learns. So, I think that one of the strengths of our proposal is that it makes shared question banks much more accessible to small Moodle sites.

When Catalyst started work on this, they had a worry about this, and they were able to run some queries across their fleet of a few thousand Moodle sites, to see how many actually had question banks shared above course level, and the answer was: some, but not many, and mostly belonging to large institutions. The details are in https://github.com/catalyst/moodle-MDL-70329/issues/1 (though I don't find their data visualisation very easy to understand).

Are you (HQ) able to (technically, and ethically) able to run the same DB queries across all the MoodleCloud sites? That would give us a really good data-set of what happens on small sites with minimal tech support.

Also, Matt Porritt, who is leading the development team at Catalyst, was initially sceptical about this part of the plan too. However, now that he has got his head round this idea, he is strongly in favour. He is someone who has supported a number of Catalyst clients of various sizes in their use of the quiz.

(Also, I have to add, you have left it a bit late to suggest we do something different from what we planned. If you have a better idea, we will certainly listen, and adopt it if possible. But, we have been talking about these plans for more than 6 months, and development started a couple of months ago. Time is running out.)

Average of ratings: Useful (5)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Matt Porritt -
Hi All,

I'm just going to duplicate a bit of information from the Github link to here for posterity if nothing else. 

When we looked at our current fleet of sites to see how many had course level question banks with questions and category level question banks with quizzes we found that:

"""
On average sites have 50 Category level question banks, which means 50 new courses with question bank activities per site will be created as part of the Quiz 4.0 upgrade process.
Apart from a few outliers, on average Moodle sites have 500 course level question banks. This means that existing sites will get a new question bank activity created in 500 courses as part of the Quiz 4.0 upgrade process.
"""

Not called out explicitly in the Github issue is this is not a global sample, in that there are many more Moodle sites than the ones we look after. One area that I would say is under represented in our sample is K-12 schools.  Having said that it is a sample of a few hundred Moodle sites, so it's the best data on this question I've seen.

Also not explicitly called out in the Github issue, the averages I've talked about don't include the small number of large outliers that you will see in the scatter plot. This is possibly a bit naughty from a data science perspective, but from the plot you can very much see they are outliers.

Cheers,
Matt P



Average of ratings: Useful (2)
In reply to Matt Porritt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Average (mean) is really not a useful measure for this sort of thing. (Sorry to be negative.)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Hello Tim,
So with the new changes, is the following true?
  1. A Question Bank activity will appear somewhere in the course area in a topic.
  2. Only question banks at the course level will appear in this QB Activity.
  3. Teachers can pull quiz banks into the new Course Question Bank from this new QB Activity.
  4. Students will not see this new QB activity.
  5. The QB Activity will be added to every course regardless of questions or not.  
  6. The teacher will not need to take action to see or use this new QB Activity.

Just a suggestion, don't reinvent the wheel if you already have a content repository (H5P).  Use that for sharing Quizzes and Question Banks!

I think as much of this as possible should be automated for the teacher.  If it isn't automatically added then it is just one more thing to do and adds to complexity.  I really like the idea of it being present on the page for the teacher to use and share banks with others but I think the idea of the Content Bank would lend itself to this because it is conceptually the same concept.  

The QB Activity feels like it should sit outside the course.  In concept, it would an interesting concept to discuss using Private Files/Content Repository in more robust ways.  For instance, in a course when copying an activity it would allow you to copy to your Private Files/Content Repository and from there you could actually share it with others.  This is almost like combining the idea of the Content Repository with Private Files as one BIG container of teacher generated content which can be shared sitewide with users, courses, etc.  Question banks, H5P, Assignments, Quizzes, Workshops, anything you add to a course could be copied to this new mega repository and reused or shared with others.

An LMS called Schoology does this and teachers really like it.  A teacher can save and share anything from their course in this private files area and share it as needed.  Even going from semester to semester with all your activities is very easy.  

By pursuing a separate activity type for question banks you are essentially creating a new workflow outside of a very good concept of a content repository.  This is exactly where Moodle development fragments and we end up with different workflows for each activity and it is a new workflow for each and every thing a user wants to do.  One place, one workflow to share stuff.

Just my 2cents so take it for what it's worth.  This is the kind of stuff that people gripe about.  We share H5P one way, quizzes one way, question banks one way, and so on.

In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I cannot work out what you mean by some of your true/false questions. If you want an answer, please re-phrase them in terms of concepts that actually exist in our proposal.

  1. ?
  2. ?
  3. ?
  4. True (more technically, there will be a mod/qbank:view capability, and the student role won't have it by default, but of course Moodle roles are completely configurable if you want something different.)
  5. False
  6. ? (You may as well as, the teacher will not action to use a forum. How you can you use something if you are not taking any actions?)

We thought seriously about combining question bank and content bank, but:

  • Content bank can only store things that are essentially files. Questions are not files.
  • Question bank has existed for years. Content bank was added recently, doing some things differently to how the question bank has always worked. Don't blame me for introducing inconsistency.
  • You seem very focussed on individual teachers? I am also interested in situations where colleagues want to collaborate with each other.

In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Sorry, didn't mean to come off as blaming you for anything. I am just trying to wrap my head around how this new question bank will work. Your explanation better explains the difference between the QBank and Content bank.

I guess I have to wait and see what is developed and implemented.

Just one final question if you don't mind. Will each question bank that is shared collaboratively need it's own activity? Meaning, is a teacher adding a new QB activity each time they share a set of questions, or can all questions/category of questions be shared from the single QB activity?

Thank you for your time and all that you do with quizzes. Moodle has one of the most robust quiz platforms around!
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Antonia Bonaccorso -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Let me try to explain how the new question bank activity will work like in a few (or some more) sentences.

The question bank activity will NOT be accessible to students. This makes it different from any other activity Moodle has. As every other activity (besides the announcement forum), question banks have to be created by a teacher. So when an Admin creates a new course, this comes WITHOUT any existing questions bank. Once a teacher creates a question bank, this appears somewhere in a topic and can be moved - as every other activity can be moved after creation.

This raises the question what happens, if a teacher wants to add questions to a quiz. Will he first have to create a question bank? The answer here is: No. He will create a quiz and start adding questions. Behind the scenes, these questions will be stored in a data base on quiz level - let's call this quiz specific question bank. This quiz specific question bank is not visible to the teacher. But if the teacher one day wishes to have the questions of this quiz in another question bank, he can copy them there by a not yet in detail defined process. Probably similar to exporting questions at the moment.

If a teacher want's more than just questions in a quiz, he/she has to create a question bank activity. This can then be accessed by all teachers in the course (or kept private by adding conditions). The teacher will also be able to find the questions in this question bank when creating quizzes in other courses. So if the teacher creates a quiz in course A and clicks on "Add question from question bank", he/she will also find questions in the question bank in courses B, C and D he/she has access to.

The now existing question bank page won't exist anymore in this form. Upon updating your Moodle site to Moodle 4.0 all existing site level, category level and course level question banks will be transformed into a question bank activity on course level. So for site level and category level question banks new courses with a question bank activity will be created. For existing course level question banks after the update there will be a new question bank activity in the course. The place of all of this newly created question bank activities is not yet defined. For now we want to place it in section 0, on top. But that might change
Average of ratings: Useful (2)
In reply to Antonia Bonaccorso

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Thanks Antonia. My concerns revolve around how this might affect teachers and I am trying to determine if it is better to upgrade to Moodle 4 or just start with a fresh install and possibly import courses as needed. My worry is that upon updating a teacher will see 20 or more Question Bank Activities for each of the category and site level question banks. We shared quite a bit.

That is why my question was about being able to have one question bank activity for multiple categories of questions. I would hate to see a teacher open up moodle and be bombarded with all these question banks that would quickly overwhelm their Topic 0 or where ever this stuff ends up.

My hope is that one QB Activity can contain multiple Question Categories and groupings of questions so that a teacher or admin could share out hundreds if not several thousand organized questions across our district by grade level and subject. We are looking at how this might kick start new creativity and more robust common assessments. Nothing can beat the power of Moodle to import questions in so many formats.

I appreciate the time of the Quiz team in answering so many questions. I am just trying to put a plan in place for our upgrade decisions. Soooo many new things in Moodle 4 is leading me to think the best course of action is to simply start fresh. This reminds me of the jump from 1.9 to 2.0 with the new repository system. We ended up just starting fresh. A good time to clean house and start off fresh and lean.
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Each question bank activity will still have categories. If all your qusetions in one big question bank with carefully organised categories is what is best for you, then you can do that.

If, before the upgrade, you have questions shared outside courses (at system context and in course categories), then for those, the upgrade will make a new course to hold them, and create one question bank acitvity in that new course. The upgrade process will never create more than one question bank in any course, and it will only do that if it is needed.

And, once the upgrade has finisihed, if you want to change what it has done, you could then move the questions around, if you want them organised in a different way.
Average of ratings: Useful (3)
In reply to Chris Kenniburg

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Antonia has already given a good overview, but to specifically answer you question:

You don't *have* to do anything. You can choose to do what works best for you.

You could probably ask a similar question about any Moodle activity. E.g. "Do you have to have multiple forums in a course to discuss multiple topics, or can you put all the threads in one?" Again, answer: "Do what will work best for your teaching."

So, a question bank activity is just a place for you to create an organise questions (in collaboration with the other teachers who have permission to access that question bank). And, when you are doing things with questions (which in Moodle core means building a quiz, but there are lots of other plugins which use questions) you will be able to go and pick questions from any question bank you have access too. The current restriction that you can only use questions form the question bank for the current course (and contexts above that) is going away.
In reply to Cris Fuhrman

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

(I'm struggling to work out where to fit this into the discussion, because I want reply to a bits of several recent posts. Hopefully this place works well enough.)

In your later post you repeat your suggestion "Shouldn't some things be abandoned or prioritized to keep the system usable and simple?" but already you have given the answer: "I think users would be happy to trade off some things, although I know nobody will agree on what they are". If you can be bothered to search the ancient history of this forum, you will know that one of my early suggestions for changing the quiz was to remove a feature which I could not see the point of. All that happened was that several people explained why that was a useful option, with good educational reasons. So that option stayed.

And, it is a false comparison to look at Google classroom or Canvas and claim they took an informed decision to be simple. The fact is that they are new products. They are MVPs because that is all they have had time to build so far, they will get more complex (if they survive as long as Moodle has). Moodle is the embodiment of 20 years of learning about what teachers need to teach online. This is both a strength, but also a weakness as featured gradually accrete. There come a moment where you have to take an overview and reorganise things - which is where we are now.

So, if you cannot ever remove features, what can you do? You have to build a good user interface, where the 20% of features that 80% of the people use 80% of the time are right there, but all the other feature that some people need (or that you will find you need one day, but don't know it yet) are there, and possible to discover when you need them. Easier said than done, of course.

The other thing you can do is something that does not directly affects users, but is something the indirectly affects how easy it is to build a simple UI. That is to have a clear data model behind the scenes. If the underlying data is organised neatly, based on a few simple concepts, then you can have a lot of features in a manageable way (both for users and in terms of keeping the code working).

Another point you make is "a reason the question bank is broken for the most part at my university. Instructors don't have admin rights to set up question sharing." Solving that is one of the key goals of this project.

So, one way you can summarise this project is as follows:

  1. Simplify the behind-the-scenes data storage, so it more accurately and  flexibly represents how questions are created, managed and used.
  2. Introduce a new plugin type, which both better organises the current features, and makes it easier to add more in a manageable way.
  3. Use that ability to add some features that a lot of people have wanted for a long time.
  4. Make sharing easier without needing admin rights to set up.
  5. Of the new features, versioning questions is a key one. This is more complexity, in some ways, but the lack of versioning leads to many ways that users can shoot themselves in the foot (e.g. editing a question after it has been used in a quiz), so I think that overall it is a great simplification. It will make it much less necessary to understand what is going on under the hood to use the quiz safely.

Average of ratings: Useful (14)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Stéphan GRIGNON -
Thanks Tim for this very interesting answer.

Just a question, you say: "where the 20% of features that 80% of the people use 80% of the time are right there".
What objective data do you base yourself on to choose the features that will be part of the 20% put forward?
I specify that I am asking the question out of curiosity, just to find out.
In reply to Stéphan GRIGNON

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
This is not objective at all. 80/20 is one common set of numbers used in the 'Pareto principle' which Cris mentioned. Feel free to pick any other numbers you like. Remember, 73.6% of all statistics are made up wink
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Avi Nathan -
Improving the questions bank is most important and I’d like to present a scenario which may be uncommon now, but I believe cab be very useful in the future.

I’m a Math teacher in Israel, 7th through 9th grades and I’ve been using Moodle quizzes since 2015 as an important tool for exercising at home and in the classroom. Today I have courses that cover most of the topics in the curriculum.
This year, because of the pandemic, the need to such a system was recognized and the Ministry of Education adopted the content that I have developed in the past and offer these learning environments free of charge to all the schools in Israel, supporting both Hebrew and Arabic.

The vision we have is that the teacher will have a comprehensive environment, including quizzes, presentation, video clips, solved examples and more. Ready-to-use content that will accompany the teacher and the students, allowing for self-learning and teaching a heterogeneous group of students. I strive to create questions that leverage the computerized environment and sets it apart from printed exercise in a book. I use mostly Formulas and STACK questions, JSXGraph and GeoGebra widget for visual content and user interaction.

In this model we have 3 target audiences to cater for, with different levels of skills and hence different goals for “ease of use”:
1. Students. Need super simple system, easy to navigate, easy to enter Mathematical expressions, easy to see their state and grades.
2. Teachers. Need a simple system that is easy to navigate, show/hide existing activities and produce reports at different levels. I don’t expect teachers to develop new questions in Moodle. At the most they will create a quiz using existing questions from the bank.
3. Content developers. This is a very small group of highly trained people who evaluate the pedagogical needs, design the assignment, create the questions and oversee the adoption process in the schools. For this group the most important features are flexibility and easy of maintenance. Complexity is less of a concern.

In this environment, the most important feature that I would like to see in 4.0, related to the question bank, is a shared bank of questions that enables fixing a problem in a question and propagating the fix to thousands of schools with no intervention of the teacher.
I realize this model may not be relevant for universities but can be very useful in schools. In this model the 80/20 rule will produce a different set of must-have features.
Average of ratings: Useful (7)
In reply to Avi Nathan

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Avi Nathan

Great contribution, lot of experience and thoughts behind it. Most of the points make perfect sense to me, there are also one two intriguing points too.

First of all, kudos to your work and the success:
> This year, because of the pandemic, the need to such a system was recognized and the Ministry of Education adopted the content that I have developed in the past and offer these learning environments free of charge to all the schools in Israel, supporting both Hebrew and Arabic.

To the involved topic - the vision:
> The vision we have is that the teacher will have a comprehensive environment, including quizzes, presentation, video clips, solved examples and more. Ready-to-use content that will accompany the teacher and the students, allowing for self-learning and teaching a heterogeneous group of students.

Sounds like OER, but locally produced for a particular environment. How do you tackle the LMS dependency? There are plenty of "general" OER but teachers may not be able to adapt them, say to Moodle. We too have such a local initiative, concentrate on Moodle: https://moodle.org/mod/forum/discuss.php?d=401216 (German).

> I strive to create questions that leverage the computerized environment and sets it apart from printed exercise in a book. I use mostly Formulas and STACK questions, JSXGraph and GeoGebra widget for visual content and user interaction.

I see. So Moodle-specific in a wider sense - those components are separate projects from Moodle, but connected through plug-ins. Whereas STACH is embracing Moodle, GeoGebra is moving away from Moodle, i.e. don't have the resources to cope up with the fast development of Moodle, at least that is how I understand the issue. How do you cope up with that?

Here is the intriguing part:
> In this model we have 3 target audiences to cater for, with different levels of skills and hence different goals for “ease of use”:
> 1. Students. Need super simple system, easy to navigate, easy to enter Mathematical expressions, easy to see their state and grades.
> > 2. Teachers. Need a simple system that is easy to navigate, show/hide existing activities and produce reports at different levels.

With you so far.

> I don’t expect teachers to develop new questions in Moodle. At the most they will create a quiz using existing questions from the bank.

This is contrary to the general opinion we have. OK, we talk of teachers at the tertiary level, and expect them to be willing to input their material to the LMS. The local saying is, "A teacher would rather use his collegue's toothbrush than his lecture notes." May be it is just a saying. The reality is lot of talk about shared question banks, but nobody is willing to share his question bank. (I am doing injustice by generalizing. There are natural question creators who share their work within the team. But that was happening before this talk of formalizing it.)

> 3. Content developers. This is a very small group of highly trained people who evaluate the pedagogical needs, design the assignment, create the questions and oversee the adoption process in the schools. For this group the most important features are flexibility and easy of maintenance. Complexity is less of a concern.

May that is path we are moving towards. I hope that the teachers will realize that they let their autonomy slip by being inactive.

> In this environment, the most important feature that I would like to see in 4.0, related to the question bank, is a shared bank of questions that enables fixing a problem in a question and propagating the fix to thousands of schools with no intervention of the teacher.
I realize this model may not be relevant for universities but can be very useful in schools. In this model the 80/20 rule will produce a different set of must-have features.

Very thoughtful. As mentioned above externally created question banks won't be acceptable in my environment, but I am talking of tertiary education.

Welcome the community, keep in touch!
Average of ratings: Useful (1)
In reply to Avi Nathan

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Sending questions between different Moodle sites is definitely outside the scope of our current developments.

However, What we are doing puts some important building blocks in place:

  1. The new question-bank pluings means that you can add new functionality without changing Moodle core.
  2. Question versionning will make it much easier to see which questions changed then.
  3. The ability to add custom metadata to questions.
So, it should not be hard to create a new question bank plugin, to connect question banks in a satellite Moodle sites to a central one.

  • In the stellite Moodle site, each question has extra metadata to say if it come from the central site, and if so, when it was last sychronised.
  • This plugin has a scheduled task which, once per day, sends a web-service request to the central Moodle site, saying "We've got these questions. Have any of them been updated?"
  • The same plugin, running on the central site, receives that web service call, and responds.
  • Using the version information it has, it can find any questions that have changed, and send the latest version back.
  • When the plugin on the satellite site gets that response, it can use it to update its local copy of those questions.
Average of ratings: Useful (4)
In reply to Tim Hunt

Ri: Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Angelo Calò -

Hi Tim,

maybe someone has already asked but I have not found answers ....

Will it be possible in the future to link the question bank not only to the course but also to the user?

We have teachers who would like to get their questions in several courses without having to share them with the whole category of courses .....

Thanks a lot for your work

Angelo

In reply to Angelo Calò

Re: Ri: Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

There won't automatically be a question bank for each user.

But, if you want a setup like this, for some users, you would set it up like this:

  1. Create a course called "Angelo xalo's workspace" (or something like that).
  2. Enrol Angelo xalo as a teacher in that course.
Then, they can create a question bank there, to put any questions they want to be able to use in other courses.
Average of ratings: Useful (4)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Don Hinkelman -
Picture of Particularly helpful Moodlers Picture of Plugin developers
>>. Sending questions between different Moodle sites is definitely outside the scope of our current developments. (Tim wrote)

This is the scope of MoodleNet. Also the Moodle Association of Japan has developed a local hub set of plugins--available in github. https://github.com/ponlawat-w/moodle-block_hubcourseupload

Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Al Metcalfe -
Please may I ask, will additional question types be available in lessons as moodle 3 only have 5 question types from the 21 currently available? It would make the lessons more exciting if other question types could be used and these questions could be in the bank or taken from the bank.
In reply to Al Metcalfe

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
It would be nice
In reply to Marcus Green

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Hi Marcus,

That tracker issue was created on 25/Apr/2009. It has 59 votes, but IMHO the chances that this feature will be implemented one day are nil.wink It would need a huge re-vamp of the Lesson activity, but currently no-one is working on the Lesson.

Average of ratings: Useful (1)
In reply to Joseph Rézeau

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Yes indeed Joseph, I agree. I think it would be as easy to re-write the Lesson from the ground as a new plugin than to retrofit the question engine to the existing Lesson module.

This is a better link to see the thoughts on the subject from 2016

https://moodle.org/mod/forum/discuss.php?d=332233

Average of ratings: Useful (2)
In reply to Tim Hunt

Re: Fixing the question bank in Moodle 4.0 - what we are planning

by Stephen McCartney -
Is reverting back to icons rather than the Edit Menu possible?

This post by user by stefan weber shows how to do it on a course level. I can't for the life of me find where to control "primary" and "secondary" actions for the edit menu within the question bank itself. It is so many extra clicks for every duplicate/edit action. 

Below you can see my search history, no joy yet.