I'd like to propose the creation of a Views Style Plugin for the Quiz module. The plugin would allow you to create a Page/Block/etc. view that ultimately displays a button which creates a customized quiz for you. Let me explain by way of a case study...

You want to create a site where people can quiz themselves on a particular topic (say, Drupal). You use the Quiz module to create questions of different types (multiple choice, true/false, etc.) and in different categories using Taxonomy (e.g. Themes, Modules, Easy, Hard, etc.). You then setup a view with exposed filters for Taxonomy.
When someone comes to the site, they use the exposed filters to select the type of questions they'd like to be asked. For example, they might select easy questions about themes. When they submit the exposed form, rather than a list of matching question nodes appearing, they are told that their customized quiz will consist of 20 randomly picked questions from the Easy and Theme categories and are shown a button to Begin Quiz. When they click the button, they are taken through the questions one-at-a-time, answering each as they go. At the end, their result is displayed and possibly some statistics showing how many other people have done the Easy/Theme quiz and their collated results.

A feature like this would mean that quizzes can be created dynamically on-the-fly and that users can customise their own quizzes, while still comparing their results to others who did the same or a similar quiz.

I do not have the skills necessary to develop this myself, so thought I'd share my request here in case someone else liked the idea and was able to implement it. Hopefully I've been able to explain well enough. If not, ask me anything you'd like to know about this idea as I've been giving it quite a bit of thought.

CommentFileSizeAuthor
#5 quiz-cats1.png37.22 KBdjdevin
#5 quiz-cats.png19.32 KBdjdevin
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

BWPanda’s picture

Version: 6.x-4.x-dev » 7.x-5.x-dev

New feature to hopefully go into 5.x...

dkmn’s picture

I agree this would be quite useful! Following.

djdevin’s picture

Component: Code - Views » Code - Quiz core

Is this already possible with categorized random questions? You could set up multiple quizzes with each one linked to a taxonomy bank of questions.

I don't think this is a Views issue as the questions would have to become associated with the result.

BWPanda’s picture

Is this already possible with categorized random questions?

I don't think so... From what I can tell, you still have to assign questions to a quiz node manually. This feature request is essentially about being able to have dynamically-generated quizzes.

djdevin’s picture

FileSize
19.32 KB
37.22 KB

Does this help?

The option is in 4.x and 5.x.

Select categorized random questions, then select taxonomy terms to pull from.

BWPanda’s picture

Ok, thanks, I didn't see that. That's part of the way there, the other part is allowing users to choose the categories themselves and not have to hard-code them.

Using the same example from the OP, doing it the way you describe in #5, I'd have to create quizzes for each combination of Easy, Hard, Module and Theme terms. That's 8 quizzes I can think of, and even more if I want to create quizzes with different number of questions (10, 20 or 30) or if I want to add other categories (Install Profiles, etc.).

djdevin’s picture

That's probably the best way to do it (multiple quizzes).

Having the user self select categories to build a quiz from would require some UI work and logic (have the user pick which categories from a restricted list of categories, how many min/max categories, how many questions, etc).

It's possible in the backend, programmatically because you can build a new attempt with an arbitrary question list.

Maybe you can investigate using a VBO to make a selection form, and add a little bit of custom code to build the attempt.

Patches welcome!

djdevin’s picture

Category: Feature request » Support request
Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.