Note: You are currently viewing documentation for Moodle 2.9. Up-to-date documentation for the latest stable version of Moodle may be available here: Question Engine 2:Implementation plan.

Development:Question Engine 2:Implementation plan

From MoodleDocs
Revision as of 08:50, 13 May 2010 by Tim Hunt (talk | contribs)

Template:Question engine 2 This page summarises how and when these changes will be implemented.

Previous section: Using the question engine from a module.

Time scales

I have been working on this since about last October. A big thank-you to the Open University for letting my do this.

At the moment (May 2010), the implementation is nearly complete, and although there are still bits to finish, testing has started on the parts that are complete. You can follow development at http://timhunt.github.com/Moodle-Question-Engine-2/.

However, it is now too late to include this in Moodle 2.0. So expect this in Moodle 2.1.


Relationship with OU Moodle

One of the drivers for doing this is to reduce the differences between the OU's version of the quiz, and the standard version.

The quiz navigation improvements that are already in Moodle 2.0 were the first half of the process of putting OU quiz improvements into Moodle core.

The remaining large OU-specific quiz code is improvements we made to Adaptive mode, turning it into what I am now calling the Interactive model. We originally did that while trying to make minimal changes to the quiz code, and the pain my colleague Mahmoud experienced while doing that was one of the things that got me thinking about this new design. This new proposal is a complete rewrite of the core of the question engine, so that customisations like Interactive model become easy.


Branching strategy

Therefore, the new code is being implemented as a branch off the standard MOODLE_19_STABLE branch. I am maintaining this in a git repository http://timhunt.github.com/Moodle-Question-Engine-2/ in the main new_qe branch. Although this is a branch of Moodle 1.9, it is written with a view to being easy to port to Moodle 2.0 when the time comes. Also, the new code requires PHP 5.2, as Moodle 2.0 does.

The development will include a lot of the OU-Moodle improvements, but there are additional OU-specific customisations that are probably not be of interest to anyone else. They are included on the the new_qe_ou branch in git. The goal will be to keep the size of this OU-specific changes as small as possible.

Separately, at some point, the new code will be ported to the Moodle 2.x code-base, for inclusion in a Moodle release.


Task breakdown

My current task break down lives in git with the code, since that is how I find it easiest to keep up-to-date. Note that this only shows tasks that remain to be done, so it is not helpful for estimating progress (unless you are prepared to do a lot of digging through git history).


See also