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
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page explains summarises the steps I need to do to make the changes.
{{Template:Question_engine_2}}
This page summarises how and when these changes will be implemented.
 
Previous section: [[Using_the_question_engine_from_module|Using the question engine from a module]].


Previous section: [[Question Engine 2|question engine]].


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


The Open University has asked me to work on this now.
I started working on this in October 2009.


Since this involves API changes it would be really nice to do 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 created are currently both around the end of 2009, and it is impossible to say which will come first.
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.


I will be implementing this as a branch in git, so the decision of which Moodle version to put it into can be made later.
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. This has gradually grown to the point where it can be considered a fork.


The [[quiz_navigation|quiz navigation improvements]] that are already in Moodle 2.0 were the first half of the un-forking.
==See also==
 
The second change that needs to be merged into Moodle core is our replacement of the old Adaptive mode with the new Interactive mode. We originally did that while trying to make minimal changes to the quiz code, and the pain Mahmoud experienced while doing that was one of the things that got me thinking about this new design.
 
However, because of that history, I first need to implement the new code in the OU's version of Moodle. Then I need to incorporate it into Moodle 2.0. I am proposing to do that by first back-porting all the other Moodle 2.0 quiz changes to the 1.9 branch (but don't panic, they will not be committed to the stable branch in CVS!). Then building a new version of OU Moodle quiz on top of that base, then putting the new code into Moodle 2.0. That will not be fun, but it is the way it has to be.
 
==Task breakdown==
 
Very rough list copied from a spreadsheet I have. This may not be comprehensible to anyone else.
<pre>
1. Finish this specification and estimates
2. Set up dev environment
3. Back-port quiz bits from 50da63e to 1.9 branch
4. Make the desired changes to the quiz.
4.1 Automated integration tests
4.2 New interaction model class and deferred, interactive and manual implementations
4.3 Update/split question type base class and truefalse
4.4 Database upgrade code
4.5 Split quiz_attempt class into question bit and quiz bit
4.6 New process responses code
4.7 New renderer classes
4.8 Each attempt builts on last, legacy adaptive and opaque models
4.9 New commenting code
4.10 Update quiz navigation code
4.11 New regrade code
4.12 Update quiz reports
4.13 New database table and editing form fields for hints
4.14 Update all other core question types
4.15 New backup code
4.16 Restore old backups code
5. Add back all the other ou-specific quiz changes
6. Merge the new code to Moodle 2.0 dev
6.1 New docs for question type authors
6.2 New docs for module authors
7. Test and bug fix in OU Moodle
7.1 Load testing framework
8. Test and bug-fix in Moodle 2.0 beta
</pre>


==See also==
The next section, [[Question Engine 2:Testing|Testing]], contains notes about what most needs to be tested.


* Current work-in-progress: https://github.com/timhunt/moodle/commits/MDL-20636_master_new_question_engine
* 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.