Moodle
  1. Moodle
  2. MDL-26788

Buggy grading in lesson containing essays

    Details

    • Testing Instructions:
      Hide

      Login as teacher.
      1. create new lesson
      2. create multiple choices and essay questions.

      Login as student
      1. click on the lesson and answer the multiple choices and essay question

      Login as teacher
      1. click on the lesson
      2. click on 'Grade essays'
      3. click on the essay, give grade and save
      4. click on 'Reports'

      Student grade (percentage) should change.

      Lesson grade should also be updated on student page (login as student and click on 'gradebook').

      Show
      Login as teacher. 1. create new lesson 2. create multiple choices and essay questions. Login as student 1. click on the lesson and answer the multiple choices and essay question Login as teacher 1. click on the lesson 2. click on 'Grade essays' 3. click on the essay, give grade and save 4. click on 'Reports' Student grade (percentage) should change. Lesson grade should also be updated on student page (login as student and click on 'gradebook').
    • Affected Branches:
      MOODLE_20_STABLE
    • Fixed Branches:
      MOODLE_20_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-26788_head
    • Rank:
      16727

      Description

      As reported on the Lesson forum here: http://moodle.org/mod/forum/discuss.php?d=170839 and here: http://moodle.org/mod/forum/discuss.php?d=170348
      Using Moodle 2.0.2+ (Build: 20110309).

      Scenario:

      Q1 multiple choice score /5
      Q2 multiple choice score /5
      Q3 essay score /10

      student answers
      Q1 correct (5/5)
      Q2 wrong (0/5)
      Q3 student writes essay

      end of lesson notice (before essay grading)
      You earned 15 out of 10 for the automatically graded questions.
      Your 1 essay question(s) will be graded and added into your final score at a later date.
      Your current grade without the essay question(s) is 15 out of 20

      Grade report: Lesson: 75%

      teacher marks Q3 essay 5/10
      Grade of essay is not saved
      Grade report: Lesson: 75% (not changed)

        Issue Links

          Activity

          Hide
          Helen Foster added a comment -

          Joseph, thanks for your report with clear description. Hoping this issue can be fixed soon.

          Show
          Helen Foster added a comment - Joseph, thanks for your report with clear description. Hoping this issue can be fixed soon.
          Hide
          Helen Foster added a comment -

          Andrew added as watcher in case this is more a gradebook issue than a lesson issue.

          Show
          Helen Foster added a comment - Andrew added as watcher in case this is more a gradebook issue than a lesson issue.
          Hide
          Joseph Rézeau added a comment -

          Hi Helen and Andrew,
          Just to mention that that bug now has 14 votes...and fixing is still pending.
          Joseph

          Show
          Joseph Rézeau added a comment - Hi Helen and Andrew, Just to mention that that bug now has 14 votes...and fixing is still pending. Joseph
          Hide
          Rossiani Wijaya added a comment -

          Hi Joseph,

          I just created a patch to fix the issue. When you have a chance, could you test the patch and let me know if it fixes the issue?

          Patch: https://github.com/rwijaya/moodle/compare/MOODLE_20_STABLE...MDL-26788_m20

          Thanks
          Rosie

          Show
          Rossiani Wijaya added a comment - Hi Joseph, I just created a patch to fix the issue. When you have a chance, could you test the patch and let me know if it fixes the issue? Patch: https://github.com/rwijaya/moodle/compare/MOODLE_20_STABLE...MDL-26788_m20 Thanks Rosie
          Hide
          Joseph Rézeau added a comment -

          Hi Rosie,
          Just tested your patch. Things look better for the first part of my scenario, but the essay grade is still not recorded. Here is the new scenario:

          Scenario:

          Q1 multiple choice score /5
          Q2 multiple choice score /5
          Q3 essay score /10

          student answers
          Q1 correct (5/5)
          Q2 wrong (0/5)
          Q3 student writes essay

          Congratulations - end of lesson reached
          You earned 5 out of 10 for the automatically graded questions.
          Your 1 essay question(s) will be graded and added
          into your final score at a later date.

          Your current grade without the essay question(s) is 5 out of 20
          Grade report: Lesson: 25%

          teacher marks Q3 essay 5/10
          Grade of essay is not saved
          Grade report: Lesson: 25% (not changed)

          Hope you can fix the "Essay grade not saved" bug...

          Show
          Joseph Rézeau added a comment - Hi Rosie, Just tested your patch. Things look better for the first part of my scenario, but the essay grade is still not recorded. Here is the new scenario: Scenario: Q1 multiple choice score /5 Q2 multiple choice score /5 Q3 essay score /10 student answers Q1 correct (5/5) Q2 wrong (0/5) Q3 student writes essay Congratulations - end of lesson reached You earned 5 out of 10 for the automatically graded questions. Your 1 essay question(s) will be graded and added into your final score at a later date. Your current grade without the essay question(s) is 5 out of 20 Grade report: Lesson: 25% — teacher marks Q3 essay 5/10 Grade of essay is not saved Grade report: Lesson: 25% (not changed) Hope you can fix the "Essay grade not saved" bug...
          Hide
          Rossiani Wijaya added a comment -

          Hi Joseph,

          Thank you for testing. Question regarding the issue, do you have any specific setting for the lesson?

          I can't reproduce the error based on the above scenario.

          Adding Apu to review the patch.

          Show
          Rossiani Wijaya added a comment - Hi Joseph, Thank you for testing. Question regarding the issue, do you have any specific setting for the lesson? I can't reproduce the error based on the above scenario. Adding Apu to review the patch.
          Hide
          Rossiani Wijaya added a comment -

          Hi Apu,

          When you have a chance, could you take a look the patch?

          Thanks
          Rosie

          Show
          Rossiani Wijaya added a comment - Hi Apu, When you have a chance, could you take a look the patch? Thanks Rosie
          Hide
          Joseph Rézeau added a comment -

          Hi Rosie,
          Sorry about my previous comment. Just tried again and your patch is working fine !
          Thank you,
          Joseph

          Show
          Joseph Rézeau added a comment - Hi Rosie, Sorry about my previous comment. Just tried again and your patch is working fine ! Thank you, Joseph
          Hide
          Aparup Banerjee added a comment -

          Hi Rosie,
          The code looks okay to me.
          oh, Have you considered implementing the fix in a small class that overrides the earned_score() method ?
          cheers,
          Aparup

          Show
          Aparup Banerjee added a comment - Hi Rosie, The code looks okay to me. oh, Have you considered implementing the fix in a small class that overrides the earned_score() method ? cheers, Aparup
          Hide
          Rossiani Wijaya added a comment -

          Have discussion with Aparup regarding class overrides that required instantiating unnecessary method for earned_score(). We decided not to create new class to fix the issue.

          Thanks Joseph and Aparup for testing the patch.

          Rosie

          Show
          Rossiani Wijaya added a comment - Have discussion with Aparup regarding class overrides that required instantiating unnecessary method for earned_score(). We decided not to create new class to fix the issue. Thanks Joseph and Aparup for testing the patch. Rosie
          Hide
          Eloy Lafuente (stronk7) added a comment - - edited

          Hi Rossie, which is the cause for moving the:

          $essayinfo->score = clean_param($form->score, PARAM_INT);

          to:

          $score = optional_param('score', 0, PARAM_INT);

          IMO, if it's part of the $form, it should be handled in the former way, I think the second is better for GET requests and friends.

          Ciao

          Edited: In fact, the essay_form already has the type for 'score' defined as integer, that should be enough to get the field automatically cleaned, isn't it? So perhaps none of them are needed and cleaned info is already in $mform->score ?

          Show
          Eloy Lafuente (stronk7) added a comment - - edited Hi Rossie, which is the cause for moving the: $essayinfo->score = clean_param($form->score, PARAM_INT); to: $score = optional_param('score', 0, PARAM_INT); IMO, if it's part of the $form, it should be handled in the former way, I think the second is better for GET requests and friends. Ciao Edited: In fact, the essay_form already has the type for 'score' defined as integer, that should be enough to get the field automatically cleaned, isn't it? So perhaps none of them are needed and cleaned info is already in $mform->score ?
          Hide
          Aparup Banerjee added a comment - - edited

          i've quickly tried the below without luck. didn't work.
          $essayinfo->score = $form->score;

          $form has : stdClass Object\n(\n [id] => 135\n [attemptid] => 373\n [mode] => update\n [response] => sfedsferdfv\n [submitbutton] => Save changes\n)\n

          $form->score probably needs to be cleaned up, its not used anywhere else that i can see.. but Rossi's patch works.

          Show
          Aparup Banerjee added a comment - - edited i've quickly tried the below without luck. didn't work. $essayinfo->score = $form->score; $form has : stdClass Object\n(\n [id] => 135\n [attemptid] => 373\n [mode] => update\n [response] => sfedsferdfv\n [submitbutton] => Save changes\n)\n $form->score probably needs to be cleaned up, its not used anywhere else that i can see.. but Rossi's patch works.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Ok, this has been integrated in its current status as far as 2.0.3 release is imminent and testing reports are ok.

          Anyway, plz, fill a new MDL issue about reviewing why that stuff is not coming in the $form and how it should be fixed / improved.

          Ciao

          Show
          Eloy Lafuente (stronk7) added a comment - Ok, this has been integrated in its current status as far as 2.0.3 release is imminent and testing reports are ok. Anyway, plz, fill a new MDL issue about reviewing why that stuff is not coming in the $form and how it should be fixed / improved. Ciao
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Test passed based in previous reports about it working.

          Show
          Eloy Lafuente (stronk7) added a comment - Test passed based in previous reports about it working.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Closing as fixed. Many thanks!

          Show
          Eloy Lafuente (stronk7) added a comment - Closing as fixed. Many thanks!

            People

            • Votes:
              19 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: