I have not been able to test this fully, because I cannot assign roles (e.g. Student and Teacher) in 1.7dev at the moment to test a student answering an essay question then a teacher grading it. However, I have tested as much as possible as admin and cannot get any errors.
While implementing this, I removed the ~100 lines of very similar code from the top of each question type's editquestion.html template, and moved this to a the function print_question_form_start() in the base class, which uses the template question/type/editquestionstart.html. This is described in more detail here: http://moodle.org/mod/forum/discuss.php?d=51590, and is why this patch makes the codebase 523 lines smaller.
Also, cleaned up the marking code for numerical and short answer questions, partly by making the base-class method more useful.
Rewrote the way the way short answer questions do wildcard matching to be more robust, Unicode safe, and generally not suck.
This is a big change, so I am pleased to report I tested it using my new Selinium test suite. See: http://moodle.org/mod/forum/discuss.php?d=51161
Changed question/type/questiontype.php such that when review.php
displays a state-by-state review of answers submitted,
scores are not displayed unless allowed by quiz options.
Credit: Peter Bulmer <peter.bulmer@catalyst.net.nz>