Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Quiz Usability portal/Different paginating features in quiz

From MoodleDocs

Return to: Quiz Usability portal

This document discusses Quiz functionality in Moodle 1.9 and Moodle 2 HEAD in Dec 2008, in order to solve issues related to tickets MDL-17333 and MDL-6353.

The issue

I read the description in MDL-6353 and thought this was a mistake until I tested it: "Well, if the option 'shuffle questions' is turned on, then they are automatically paginated.

But if the shuffle option is off, then they are actually manually paginated. The quiz 'questions per page' option then only has an effect when a new question is added."

I realized that this is right. So "I think what this setting does is it keeps the quiz organized permanently" in the description of this bug is wrong IF shuffle questions is set to "No".

Like, what?? This inconsistency of behaviour makes no sense to me whatsoever, and is not communicated by the UI at all. This is not an issue with the wording of the setting, but the whole model of the functionality.

Breaking it down

That is, there are three features for managing the paging of a quiz

  • A. Repaginate on request - allows changing the paginating manually afterwards for a more intricate paginating
  • B. Keep quiz paginated consistently throughout with N questions
  • C. Paginate any questions added from now on with N per page

(B and C are currently strangely mixed between the two settings "questions per page" and "shuffle questions". ).

A is a command, B and C are modes/settings which need to be made apparent in the UI. To make C not a mode, it could be a selection the user makes at the time of each 'add question' operation.

So the wording "After adding N questions" does make sense when shuffle questions is NOT enabled, since that is all it does (feature C).

But it does not make sense when shuffle questions is enabled, in which case the feature in question turns into another feature (features B & C combined).

Storing the order when paginating is fixed

When B is set, the quiz editing UI should reflect this reality:

  • the editing UI should show the questions according to B
  • the controls for paging should be disabled (as they are)

This arises the question of whether or not the manual order of questions should still be stored when B is set - and if it is, should the UI reflect this reality - the fact that in a sense, the quiz is storing two different quiz layouts when B is set, and that the user has the option to "undo" the effect of setting B by turning it off.

Or should setting B result in

  1. first running A with the number of questions per page set for B,
  2. and then enforcing that order,
  3. and when B is turned off only the enforcing of the order is stopped

This would mean that the manual ordering would be lost when the user would set B. This is a destructive operation, should the user be warned about it? Since (confirm this?) it is a non-destructive operation in earlier versions of Moodle, users might rely that it is so also in new versions.

The way it currently works

  • Shuffle off, questions per page on: C -> explicitly repaginating with A still possible
  • Shuffle on, questions per page on: B+C -> explicitly repaginating with A not possible, since the number is fixed in any case
  • Questions per page off: none; questions are paged manually and put onto the last page of quiz when being added

Usage scenarios and relationship to features

Three usage scenarios I can think of:

  1. User wants to make sure his/her quiz consistently has N questions per page
    1. Subscenario: The user basically does not want to think about it at all: 1. You know from the start you want your quiz to have one-question per page, so you set that on the quiz settings screen when you create the quiz. 2. Then you add 10 questions to the quiz from the question bank.
  1. User wants to just add questions and afterwards think about paging: mostly keep a consistent paging scheme but user might want to deviate from it on some pages (for example, first page only has an introductory question, while further pages have a greater quantity)
  2. User already has an intricate paging scheme realized in the quiz, but wants to add further questions with a consistent paging scheme only for the new questions

In 1, the user is served by either

  • adding their questions first and then applying A (and then redoing that after adding further questions)
  • having B set, and then adding questions. In this case the user can also set B on after adding the questions

In 2, the user can use A after adding the questions he/she wants, and afterwards make modifications to the paging manually.

In 3, the user can add their questions manually. But if the number of questions to add is big, it is useful to be capable of automatically page the *new* questions while adding them, requiring feature C.

Options for a solution

As B and C are modes, their being active should be visible on the edit page.

So the clearest model would seem to be having three distinct features. However, I am not at all sure if C is such a special case that it should be eliminated altogether.

If you remove functionality C altogether, that means not supporting the use case the UI currently supports when shuffle questions is off: "In 3, the user can add their questions manually. But if the number of questions to add is big, it is useful to be capable of automatically page the *new* questions while adding them, requiring feature C. ".

If you don't want to take the risk of removing functionality, add a separate setting on the quiz settings page for C. This is mutually exclusive with the actual keeping quiz paginated permanently. That is, I would create three radio buttons:

( ) Manual pagingonly ( ) Manual paging, but when I add questions, paginate them with [ v] questions per page ( ) Keep quiz paginated with [ v] questions per page

The other option, then would seem to be making the functionality work according to how it is worded in 1.9: that is, discard functionality C and make the setting on the settings page only toggle B, independent of shuffle questions.