Difference between revisions of "Gradebook calculation changes"

Jump to: navigation, search
(20150619 MDL-49257 Calculation of the extra credit items weights in Natural aggregation method (version 2.8 and above))
m (20160518 - letter grade boundary issue: - Information about a script for the 57 letter grade problem.)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''As decided in MDL-50582 and MDL-50222 all the bug fixes in grades calculations do not apply during upgrade if they can change the existing grades.'''
+
{{Grades}}
 +
<p class="note">Note: The following information only applies if you see a message displayed in the gradebook following a site upgrade, or after restoring a course backup from a different version of Moodle.</p>
  
During upgrade Moodle will identify which courses are affected by the bug fix and '''freeze the gradebook calculation methods''' to the previous version. The message will be displayed to the teacher and teacher must manually accept the potential changes in the grades.
+
Occasionally there are error fixes which can affect gradebook calculations in certain courses. As part of the upgrade process, such courses are identified and a message is displayed in the gradebook informing teachers that error fixes may result in some grades being changed. Details of these changes are provided below. The 8-digit version number is the date of the fix.
  
Below is the list of all the fixes since gradebook versioning was introduced. The 8-digit version number is the date of the fix. Your Moodle release number also contains the 8-digit number that refers to the date when this version was build. Accepting the changes will progress your "gradebook code version" from the one when it was freezed to the latest available in your current version. Please note that if you are not using the latest weekly release this page may contain the fixes that are not yet available in your Moodle.
+
It is recommended that the errors are fixed by clicking the button 'Accept grade changes and fix calculation errors'. Until this is done, the message will continue to be displayed in the gradebook (only for teachers; students can't see it). The old gradebook calculations will still be used (ensuring grades remain unchanged), however they are likely to result in more errors if grades are updated in the future.
  
 +
=== 20150619 - Calculation of extra credit item weights when using natural aggregation ===
  
=== 20150619 MDL-49257 Calculation of the extra credit items weights in Natural aggregation method (version 2.8 and above) ===
+
Two errors were fixed:
 +
# Overriding the weight of the extra credit item can lead to changes in other items' weights and random final grades
 +
# The automatic weight of an extra credit item was dependent on the overrides of the normal item's weights
  
Two bugs were fixed here. First, very critical: overriding the weight of the extra credit item can lead to changes in other items' weights and pretty random final grades. Second, the automatic weight of extra credit item was dependent on the overrides of the normal item's weights (and it should not). This especially becomes noticeable for the students that have grade items excluded them from totals (for example, when they are hidden or empty). [https://tracker.moodle.org/browse/MDL-49257?focusedCommentId=358765&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-358765 Here] you can find lots of the screenshots of before/after behaviour (note that table is very wide and the horizontal scrollbar appears underneath).
+
The second error was especially noticeable for students with excluded grade items (for example, when they are hidden or empty).  
  
Video with the demonstration of the first bug: http://youtu.be/-mQ1cWzNuxI
+
For example, a category has two normal grade items and one extra credit item. If the maximum grades for each item are the same, the weights of the three items will be: 50%, 50% and 50%. However if the weights of the normal items are overridden to be 50% and 50%, then the weight of the extra credit item would become 0%. If the teacher overrode the weight of the first item to 80%, the second item would automatically become 20% (correct) and the extra credit would also become 20% (incorrect).
  
The simpliest example of the second bug: The category (or course) has two normal grade items and one extra credit item. If all maximum grades are the same, the weights of three items will be: 50%, 50% and 50%. However if the weights of the normal items are overridden to be 50% and 50%, the weight of the extra credit item magically became 0%. If teacher overrode weight of the first item to 80%, the second item automatically becomes 20% (correct) and the extra credit also becomes 20% (incorrect).  
+
The correct behaviour (after the fix): If the weight of extra credit item is not overridden, it should be itemmaxgrade / totalmaxgrade , where totalmaxgrade does not include the extra credit item. In the example, the weight of the extra credit item should always be 50%.
  
Correct behaviour (after the fix): If the weight of extra credit item is not overridden, it should be itemmaxgrade / totalmaxgrade , where totalmaxgrade does not include extra credit item. In the example above the weight of extra credit item should always be 50%
+
See MDL-49257 for further details including screenshots.
 +
 
 +
=== 20150627 - Calculated grade items ===
 +
 
 +
Two errors affecting grades were fixed:
 +
# Changing the maxgrade for a category item with a calculation that has existing grades results in grades displayed out of the old maximum grade, not the updated one. This can cause flow on affects for automatic weights with Natural Aggregation.
 +
# Values for grade items with a calculation are always displayed from 0 to 100 regardless of the minimum and maximum grades for the grade item. This can cause flow on affects for automatic weights with Natural Aggregation.
 +
 
 +
These fixes will impact existing grades by correcting the maximum grade for existing grade items.
 +
 
 +
See MDL-48239 for further details.
 +
 
 +
=== 20160518 - letter grade boundary issue ===
 +
 
 +
Some letter boundaries, when achieved by a student, would not give the student the associated grade.
 +
For example. If the letter grades were updated so that the letter boundary for a C was  57 and a D was 50, a student that received 57 for a grade would get a D instead of a C.
 +
This problem only affects sites that have edited the letter grades, and not all letter boundaries have this problem. The default settings do not produce this error.
 +
This has now been fixed, but the course gradebook will be frozen if the system has detected that the course has been affected by an altered letter grade boundary. There is a possibility that student's letter grades will change after the gradebook freeze has been accepted.
 +
see MDL-45390 for further details.
 +
 
 +
The upgrade step that freezes the gradebook above for the letter grade boundary is not 100% accurate. The upgrade step was optimised for speed and will freeze any course that has the potential to be a problem. The script may freeze more courses than it needs to. To determine if a course is definitely affected requires a lot of processing. We have created a script that will go through each of the courses and analyse the grades to see if the grade displayed will actually change. Due to the complex nature of the gradebook, this requires checking how the grade will displayed from a teachers perspective as well as the student perspective and is consequently very slow.
 +
 
 +
If you wish to check your site and see which courses are definitely affected then you can find the script on issue MDL-55066.
 +
 
 +
'''Important'''
 +
* The script can only be run '''after''' the upgrade has been done. The upgrade step is cautious with the courses it freezes and so the script uses the frozen courses as a base to do its calculations.
 +
* The script is a Command Line Interface (CLI) and is to be run from the command line.
 +
* The script has two settings.
 +
<code php>
 +
php 57script.php
 +
</code>
 +
Running the script with no options will only produce a report of which courses should be frozen and which should not. No alterations to the freeze will be made.
 +
<code php>
 +
php 57script.php --update
 +
</code>
 +
Running the script with the "update" option will unfreeze courses that it deems do not actually require freezing.

Latest revision as of 02:40, 4 August 2016

Note: The following information only applies if you see a message displayed in the gradebook following a site upgrade, or after restoring a course backup from a different version of Moodle.

Occasionally there are error fixes which can affect gradebook calculations in certain courses. As part of the upgrade process, such courses are identified and a message is displayed in the gradebook informing teachers that error fixes may result in some grades being changed. Details of these changes are provided below. The 8-digit version number is the date of the fix.

It is recommended that the errors are fixed by clicking the button 'Accept grade changes and fix calculation errors'. Until this is done, the message will continue to be displayed in the gradebook (only for teachers; students can't see it). The old gradebook calculations will still be used (ensuring grades remain unchanged), however they are likely to result in more errors if grades are updated in the future.

20150619 - Calculation of extra credit item weights when using natural aggregation

Two errors were fixed:

  1. Overriding the weight of the extra credit item can lead to changes in other items' weights and random final grades
  2. The automatic weight of an extra credit item was dependent on the overrides of the normal item's weights

The second error was especially noticeable for students with excluded grade items (for example, when they are hidden or empty).

For example, a category has two normal grade items and one extra credit item. If the maximum grades for each item are the same, the weights of the three items will be: 50%, 50% and 50%. However if the weights of the normal items are overridden to be 50% and 50%, then the weight of the extra credit item would become 0%. If the teacher overrode the weight of the first item to 80%, the second item would automatically become 20% (correct) and the extra credit would also become 20% (incorrect).

The correct behaviour (after the fix): If the weight of extra credit item is not overridden, it should be itemmaxgrade / totalmaxgrade , where totalmaxgrade does not include the extra credit item. In the example, the weight of the extra credit item should always be 50%.

See MDL-49257 for further details including screenshots.

20150627 - Calculated grade items

Two errors affecting grades were fixed:

  1. Changing the maxgrade for a category item with a calculation that has existing grades results in grades displayed out of the old maximum grade, not the updated one. This can cause flow on affects for automatic weights with Natural Aggregation.
  2. Values for grade items with a calculation are always displayed from 0 to 100 regardless of the minimum and maximum grades for the grade item. This can cause flow on affects for automatic weights with Natural Aggregation.

These fixes will impact existing grades by correcting the maximum grade for existing grade items.

See MDL-48239 for further details.

20160518 - letter grade boundary issue

Some letter boundaries, when achieved by a student, would not give the student the associated grade. For example. If the letter grades were updated so that the letter boundary for a C was 57 and a D was 50, a student that received 57 for a grade would get a D instead of a C. This problem only affects sites that have edited the letter grades, and not all letter boundaries have this problem. The default settings do not produce this error. This has now been fixed, but the course gradebook will be frozen if the system has detected that the course has been affected by an altered letter grade boundary. There is a possibility that student's letter grades will change after the gradebook freeze has been accepted. see MDL-45390 for further details.

The upgrade step that freezes the gradebook above for the letter grade boundary is not 100% accurate. The upgrade step was optimised for speed and will freeze any course that has the potential to be a problem. The script may freeze more courses than it needs to. To determine if a course is definitely affected requires a lot of processing. We have created a script that will go through each of the courses and analyse the grades to see if the grade displayed will actually change. Due to the complex nature of the gradebook, this requires checking how the grade will displayed from a teachers perspective as well as the student perspective and is consequently very slow.

If you wish to check your site and see which courses are definitely affected then you can find the script on issue MDL-55066.

Important

  • The script can only be run after the upgrade has been done. The upgrade step is cautious with the courses it freezes and so the script uses the frozen courses as a base to do its calculations.
  • The script is a Command Line Interface (CLI) and is to be run from the command line.
  • The script has two settings.
php 57script.php

Running the script with no options will only produce a report of which courses should be frozen and which should not. No alterations to the freeze will be made.

php 57script.php --update

Running the script with the "update" option will unfreeze courses that it deems do not actually require freezing.