- A teacher wants to re-package a set of questions to be used in a timed exam;
- Another wants to use their bank of questions in a "Flash Card" program;
- A teacher sets a lesson, they want to re-cycle the questions it contains in the Quiz Module;
- A teacher wants to use a set of questions in both informal and formal settings.
A can of worms you might think? (Or a rat's nest if you're Martin ) All hinges on the Quiz Module, or does it?
The development of the set of Import filters for the Quiz Module has opened up new possibilities which may help in these situations and similar requirements in the future. These filters don't work directly with the Quiz Module tables (which to me look positively Bazantine ) but a data structure called $question used in quiz/format.php, etc. And I think that offers us a solution. We can develop quiz-like modules (Lesson, Flash card quizzes, Questionnaires...) which use questions AND still talk the Quiz Module filters via this $question data structure. And provided the new modules use the Quiz Module filters it follows they can still "talk" to the Quiz Module.
For example, if the Lesson module uses the Quiz Module's GIFT filter, say, to export its lesson pages, those pages are now questions which can be imported into the Quiz Module. I'm not talking anything too hi-tech here, the export is to a text file, the import is from that text file. In the murky depths of the code the Export/Import process is not done via the table structures of the two modules but via the $question data structure. That has the massive(?) advantage of divorcing Quiz-like modules from the existing Quiz Module table structures (or am I being a bit hard). Anyway, the table structures for a Questionaire module, say, may be very different from the Quiz Module, the table structure for a Timed Exam module could be tuned to that application... But still being able to use the same filters is a really big plus.
Thus the scenario becomes one of a set of Quiz-like modules clustered around the Quiz module. They swop questions via the Quiz module filters (using good old text files) and each module can have their own custom table structures. (In all this type of development getting in the table structures right is the top priority.)
This might allow the current Quiz module to actually devolve rather than get more and more overcooked. It might become just become a Question Manager with other modules delivering questions to students in various clever ways. It's a happy thought and I bet it's in Martin's Roadmap