mirror of
https://github.com/moodle/moodle.git
synced 2025-03-13 12:10:34 +01:00
There were two main problems: 1. The unit tests for upgrading adaptive quiz attempts had slighly the wrong $expectedqa, and so matching that the upgrade was doing the wrong thing in certain situations. The main issue was that it was setting -_try = 1 on the first step, which broke the penalty calculation when the quiz was regraded. There were also some other subtleties with incrementing -_try that were not right before. 2. It was possible in 2.0 and earlier for two question_states to get the same seq_number, and restoring 2.0 backups was rashly assuming that that was unique.
This plugin can help upgrade site with a large number of question attempts from Moodle 2.0 to 2.1. With a lot of question attempts, doing the whole conversion on upgrade is very slow. The plugin can help with that in various ways. To install using git, type this command in the root of your Moodle install git clone git://github.com/timhunt/moodle-local_qeupgradehelper.git local/qeupgradehelper Then add /local/qeupgradehelper to your git ignore. Alternatively, download the zip from https://github.com/timhunt/moodle-local_qeupgradehelper/zipball/master unzip it into the local folder, and then rename the new folder to qeupgradehelper. When installed in a Moodle 2.0 site: 1. It provies a report of how much data there is to upgrade. 2. It can extract test-cases from the database. This can help you report bugs in the upgrade process to the developers. 3. You can set up cron to complete the conversion of quiz attempts, if you have configured a partial upgrade. If this plugin is present during upgrade: 4. then only a subset of attempts are upgraded. Read the instructions in the partialupgrade-example.php script. If this plugin is present in a Moodle 2.1 site after upgrade: 5. If not all attempts have been upgraded in a 2.1 site, then this plugin displays a list of how many quizzes still need to be upgraded 6. ... and can be used to complete the upgrade manually ... 7. or this plugin has a cron script that can be used to finish the upgrade automatically after the main upgrade has finished. 8. It can also reset any attempts that were upgraded (provided they have not subsequently been modified) so you can re-upgrade them. This may allow you to recover from a buggy upgrade. 9. Finally, you can still use the extract test-cases script to help report bugs.