Question contexts

From MoodleDocs


We can share questions in different contexts. Context may be an unfamiliar word. Think of a context as an area within your Moodle site. Each different context has a separate question category hierarchy. So, now you can choose the 'context' within which your questions will be shared. And also an administrator can give their users different permissions within different context areas.

See the diagram illustrating the relationship of the different contexts below. Different colours denote different context types (though there are two hues of green, both denote the same type). Notice how question contexts contain each other. Notice also that Course category contexts can be nested. In this example we have two contexts nested within each other 'Humanities' and 'Languages'. We could have a third course category 'English' and fourth and so on. Course categories can be nested infinitely and so you can set up a very flexible system of question contexts for sharing questions and assigning question sharing permissions.

As described at Question categories, questions are stored in a hierarchical structure similar to folders at the filesystem. You can imagine question context as a place where the tree of question categories is actually placed. By default, every teacher can create new questions in the course context (the blue one in the diagram) and the activity module context (the white one). We will discuss how to allow a teacher to create questions in higher contexts below.

Example diagram of question contexts: question categories can be stored in several nested areas


Question contexts are just as a subset of the Roles and Permissions contexts. A context contained by another context inherits the permissions of the containing context. You can access question categories in any containing context if you have permission to do so. Remember, you can access the question bank in two ways: from within an activity (now only the quiz activity), or from the link in the Course admin menu to 'Questions'. When you access the question bank from the :

  • Activity. If you have permissions you can access question categories in :
    • that activity's context and containing contexts.
    • the course in which the activity module is contained.
    • the course categories in which the course that contains the activity module is contained.
    • the core system context.
  • Course. If you have permissions you can access question categories in :
    • that course.
    • the course categories in which the course is contained.
    • the core system context.

So questions contexts are accessible as follows :

  • Activity context : questions only available to one activity module.
  • Course context : questions available to all activity modules in a course and within the course from the 'Questions' link in the course administration block.
  • Course category contexts : questions available to all activity modules and courses in the course category (remember one course category can contain other course categories, you can share your questions in any parent course category).
  • Core System context : questions available in all courses and activities on your site.

All Question capabilities are tested in the relevant context. So, for example, to add a question to a category you must have the add capability for that context. See roles and capability help for more info. If you don't have permission to do anything in a context, then the categories in that context will not be visible to you.

How to access the Quiz activity context

Moodle automatically creates a Quiz activity context each time you create or duplicate a quiz. This Quiz activity context is specific and unique to each quiz, whether created or duplicated.

You can only access the Quiz activity context of a quiz by going via the quiz to the question bank. The first context, at the top of the page, titled "Question categories for 'Quiz: name of the quiz', is the Quiz activity context.

In the Quiz activity context, Moodle also automatically creates a category called "Default for Name of the quiz ()". This is where you often want to place the questions of a quiz. Note that Moodle behaves differently when you copy a quiz and whether the questions are placed in the Quiz context or in another context. See the Quiz FAQ 'Copying a quiz'.

See also