Advice for managing a large question bank? (3000+)

Advice for managing a large question bank? (3000+)

by Doug I -
Number of replies: 4

Hi Guys,

 We've got a large question bank with nearly 3000 questions and growing, organized into a tree of categories at the system context level, and administrating it is now putting quite a strain on our server. I'm looking for advice on if there's a better way to structure our question bank to work more efficiently with Moodle.

We provide personalized courses to language students, so rather than one large standardised course that all students follow, each student has their own course to which activities are duplicated. To facilitate this, we're heavy users of the Sharing Cart block.

To avoid duplicating the data of every quiz at the course level, our questions are stored under the system context for universal access.

However we've now come to a bit of a hurdle, as it seems when you backup a quiz in Moodle, it also backups up every single object in the included questions' context. That means for every quiz we copy into a student's course, Moodle goes through the process of backing up our entire database, bringing the site to its knees.

Currently, our question bank is structured a bit like this...

  • Beginners
    • Vocabulary
      • Adults
        • Animals
          • Numbered subcategories containing 6-8 questions each
        • Drinks
          • Numbered subcategories
        • Fruit
          • Numbered subcategories
        • Vegetables
          • etc, etc.

...and so on and so forth.

Prepared activities are stored in a similarly structured category of hidden courses, which our teachers then use to copy the desired activities into their students' classrooms.


The only "solution" I can think of is to store the questions of our quizzes at the course level context. We'll end with lots of duplicate data & a rapidly growing database, however at least Moodle won't be brought to its knees every time we try to copy a single quiz of just a couple of questions.


Can anyone think of a better way to do this?


(Related links: How to minimize the question bank when doing backup/restore, [MDL-41924], [MDL-12403])

Average of ratings: Useful (2)
In reply to Doug I

Re: Advice for managing a large question bank? (3000+)

by Doug I -

Thinking further, this could be helped by structuring our students' courses in a similar way...

  • Adults
    • Beginners
      • Student A, Beginners 1
      • Student B, Beginners 1
    • Intermediate
      • Student A, Intermediate 1
    • Advanced
  • Kids

That could allow at least some question categories to be in the course category's context, saving on some of the duplication at course level. However we'll still need to be careful even at this level of separation, as even these subcategories will be quite large themselves.

In reply to Doug I

Re: Advice for managing a large question bank? (3000+)

by Emma Richardson -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

I also used to have a large system level bank.  I ended up moving all the questions to the course level.  While I do now get duplication of questions, keeping the bank contained has helped in a lot of areas, but primarily in back up and restore which was having all sorts of issues when it tried to import the entire question bank.

Also, any changes made to questions are now also contained at the course level instead of affecting anyone else using the questions.

In reply to Doug I

Re: Advice for managing a large question bank? (3000+)

by AL Rachels -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Two suggestions:

1. I used to use a single course for quizzes where ALL quizzes were administered. With various restrictions you can limit who can see, administer, and take a quiz. Required a little extra effort on my part to make sure students knew where and how to take a quiz, but really cut down on duplication of effort, duplication of questions, and made course backups much smaller.

2. Do not routinely include questions banks in course backups. As an admin, go to, Site administration > Courses > Backups > General backup defaults, and remove the check mark for, Include question bank. With a centralized question bank, courses do not need to back up the same data.

Average of ratings: Useful (1)
In reply to Doug I

Re: Advice for managing a large question bank? (3000+)

by Dominique Bauer -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

On a different note, perhaps you could consider using the Formulas type question for some of your questions. The parameterization is effective and a single question can replace many if they are actually variations of the same question.

Average of ratings: Useful (2)