Hello Lev,
Yes I think you are right something is not good in the way feedbacks are managed in the formulas question type.
The problem is that feedbacks are attached to subquestion (1 feedback for each subquestion).
In the multichoice question type feedbacks are attached to choices (1 feedback for each choice) and that works well because in that way student get the feedback(s) attached to their response(s)
In the shortanswer question type feedbacks are attached to answers (1 feedback for each answer) and that works well because student get the feedback associated with their answer.
But for formulas, that deosn't works so well because each subquestion is in fact a complete question that can be either correct, incorrect or partially correct. And if you check the box to display feedbacks everybody will get the same feedback.
So what are the options ?
The first option wich would require the less work is to display the feedback only for incorrect and partially correct responses to the subquestion. I think this would require to do changes only in 1 place in the code so this is only a small amount of work (this option can be a short term solution for you Lev, if you agree I can look at what changes are needed to display the feedback only when the student's response is not correct, so that you can wait for a better solution to come in the offical version of formulas question)
The second option would be to add to the formulas question a "conbined feedback" as it is done in latest versions of multichoice and match questions. This conbined feedback is made of 3 feedbacks (correct, incorrect and partially correct) and only one is displayed to the student accordingly to his grade for the question.
This would not be a lot of work because most of the code for this already exists in Moodle and even some methods can be re-used.
The drawback of this option is that the fededback will only depend of the student's grade for the question but not of his answers to each subquestion.
The third option is to add conbined feedback to each subquestion (correct, incorrect and partially correct feedbacks). This would make sense because each subquestion of a formulas question is in fact a question on it's own, with variables and main question text shared for all subquestions of a formulas question.
Of course this last option is the richest for the teacher because it gives him the most possibilities to provide feedbacks to the students.
The possible drawbacks I can see are
- it is of course the option that require the more work .
- we need to add 2 fields to the subquestion table (we can re-use the existing feedback field for one of the three feedbacks and copy it's content in the other 2 during upgrade to maintain compatibility, letting teachers to type different contents in each 3 feedbacks after the upgrade process)
- it will make the question creation screen even more complex adding 2 more TinyMCE editors (and the associated time to load and init them !)
As Hon Wai is the creator of the formulas question I think it is up to him to take the decision. Once the decision is taken, we can see how implement it in the 3.0 version for Moodle 2.0 and in the future version for moodle 2.1