Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-48634

Add option to rescale existing grades when changing max points

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      Test 1
      1. Run the behat tests @core_grades, @gradereport, @core_form and @mod. This takes a while so you can just wait for CI to say all is good in behat land.
      Test 2
      1. Create assignments and manual grade items in a gradebook using scales and points.
      2. Grade several students in the activities and in the manual grade items.

      Now go and change the max grade for the activities / grade items. Test with "Rescale existing grades" set to No (current behaviour) and "Yes" (grades are scaled). Verify the results are what you would expect (read the help for how it's supposed to work).

      Ensure that once grades exist you can not change the grade type and if the grade type is set to 'Scales' you can not change the scales being used

      Show
      Test 1 Run the behat tests @core_grades, @gradereport, @core_form and @mod. This takes a while so you can just wait for CI to say all is good in behat land. Test 2 Create assignments and manual grade items in a gradebook using scales and points. Grade several students in the activities and in the manual grade items. Now go and change the max grade for the activities / grade items. Test with "Rescale existing grades" set to No (current behaviour) and "Yes" (grades are scaled). Verify the results are what you would expect (read the help for how it's supposed to work). Ensure that once grades exist you can not change the grade type and if the grade type is set to 'Scales' you can not change the scales being used
    • Affected Branches:
      MOODLE_28_STABLE, MOODLE_29_STABLE, MOODLE_30_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-48634_master
    • Sprint:
      Team '; drop tables Sprint 7, Team '; drop tables Sprint 9, 3.1 Sprint 3, 3.1 Sprint 4

      Description

      This is a spawn off of MDL-48618. You should read that as a primer.

      In versions of Moodle prior to 2.8, if you graded an item and then changed the Max Points, for the item, the existing point grade would now be used along with the new max points to compute all downstream grades.

      In 2.8, the point value and max points are retained for exiting grades. This means that two students with the same number of points on an item can have drastically different grades.

      Steps to reproduce

      1. You will need a course with two users, A and B.
      2. Go into your gradebook and create a new manual Grade Item, leave it at the default 100 points and change the display to 'Real (Percent)'
      3. Give User A a grade of '10' and save.
      4. You should see the user has a grade of '10 (10%)'.
      5. Edit the grade item and set the maximum points to 10.
      6. Go back to the gradebook and give User B a grade of 10 and save.
      7. You will now see that User A has a grade of '10 (10%)' while User B has a grade of '10 (100%)'

      How do users cause it

      The most common thing we see is that teachers create a grade item for something, and forget to change the max points to what they want (usually 4 points). They then go and grade people. Then they see the mistake and change the max grade to be 4, with their intent (and the previous behavior being) that a user with a grade of 4 points has a 100%.

      Side effects

      • From the teacher perspective, grades in the gradebook calculate in inconsistent ways. See example.png. This is made even worse with the default grade item view which just shows points - so the teacher sees they both have 30 out of 30, but one student sees they are getting a 25%, while the other sees they are getting 100%
      • If you have the range row on, it shows the range of whatever the last grade in the view is - meaning that the range changes depending on sorting, filtering, and paging. See reordering.png
      • The course average percents and letters are determined by the same range selected above, meaning the averages will change depending on how you have the page sorted and filtered. See reordering.png

      Possible solutions (from Eloy)

      • 2A) New approach is used. Exclusively. Old points and %s won't be affected ever. Only new grade_grades will.
      • 2B) We continue with old approach. Exclusively. All %s will be recalculated, existing and new.
      • 2C) We allow the teacher changing the item_grade to decide between applying the the maxgrade to all grade_grades or just to new ones.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                83 Vote for this issue
                Watchers:
                88 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  23/May/16