Note:

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

Question Engine 2:Implementation plan: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:Question_engine_2}}
This page summarises how and when these changes will be implemented.
This page summarises how and when these changes will be implemented.


Previous section: [[Using the question engine from module|Using the question engine from module]].
Previous section: [[Using_the_question_engine_from_module|Using the question engine from a module]].
 


==Time scales==
==Time scales==


The Open University has asked me to work on this now, but it is a large project.
I started working on this in October 2009.


The goal by Christmas is to have
It was tested at the OU in autumn 2010 and released onto the live OU VLE servers at the start of December 2010. Since then it has been running smoothly with only a few minor bugs found and fixed.
* a working implementation of the question engine core
* all the interaction models implemented
* convert almost all the core question types to the new API
* new code working in the question preview UI
* an accurate estimate of the scope of the rest of the work (by mid December).
Code will not be considered 'done' until it has complete PHP documenter comments and unit tests.


Since this involves API changes it would be really nice to include it in Moodle 2.0. However, that may be unrealistic. When I expect this to be finished and when the Moodle 2.0 stable branch is likely to be created are currently both in early 2010, and it is still impossible to say which will come first.
The code has now been converted to work on top of Moodle 2.0 with a view to including it in the Moodle 2.1 release. There are just a few tasks to be completed before that can happen (see MDL-20636). The code is currently being reviewed by a HQ developer prior to its inclusion. See [[Question_Engine_2:Review_2011-05]]


==Relationship with OU Moodle==
You can follow development at https://github.com/timhunt/moodle/commits/MDL-20636_master_new_question_engine.


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|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.
==See also==
 
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/. 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 next section, [[Question Engine 2:Testing|Testing]], contains notes about what most needs to be tested.


The development will include a lot of the OU-Moodle improvements, but in due course there will remaining OU-specific customisations that will not be of interest to anyone else. They will be incorporated into an OU-only version of this code, but the goal will be to keep the size of this OU-specific changes as small as possible.
* Current work-in-progress: https://github.com/timhunt/moodle/commits/MDL-20636_master_new_question_engine
 
Separately, at some point, the new code will be re-based onto the Moodle 2.x code-base, for inclusion in a Moodle release.
 
==Task breakdown==
 
My [http://github.com/timhunt/Moodle-Question-Engine-2/blob/new_qe/question/engine/todo.txt 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==
 
* Current work-in-progress: http://timhunt.github.com/Moodle-Question-Engine-2/
* Back to [[Question_Engine_2|Question Engine 2]]
* Back to [[Question_Engine_2|Question Engine 2]]
{{CategoryDeveloper}}
[[Category:Quiz]]

Latest revision as of 18:07, 6 June 2011

This page summarises how and when these changes will be implemented.

Previous section: Using the question engine from a module.


Time scales

I started working on this in October 2009.

It was tested at the OU in autumn 2010 and released onto the live OU VLE servers at the start of December 2010. Since then it has been running smoothly with only a few minor bugs found and fixed.

The code has now been converted to work on top of Moodle 2.0 with a view to including it in the Moodle 2.1 release. There are just a few tasks to be completed before that can happen (see MDL-20636). The code is currently being reviewed by a HQ developer prior to its inclusion. See Question_Engine_2:Review_2011-05

You can follow development at https://github.com/timhunt/moodle/commits/MDL-20636_master_new_question_engine.


See also

The next section, Testing, contains notes about what most needs to be tested.