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

Upgrade script could be more specific with its comparison and freeze less courses.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 3.1.2
    • Component/s: Gradebook
    • Labels:
    • Testing Instructions:
      Hide

      Prep

      A quick script can be set up to run the upgrade function:

      <?php
      require_once(__DIR__ . '/config.php');
      require_once($CFG->libdir . '/db/upgradelib.php');
      upgrade_course_letter_boundary();
      

      57 grade boundary issue.

      • Please follow these instructions as you run through each section (a section beginning with bold text).
      1. For each of the following sections (A site using...) make sure that you have an activity in each of the courses (that you will have to create), and that you have given grades to some students. Give some students grades of 57.
      2. Courses that have "(Frozen)" should show students with a grade of 57 not achieving the letter corresponding to that boundary.
      3. Upgrade to the latest version (Run the upgrade script).
      4. Check that the courses marked as Frozen have a message on the gradebook. Not frozen courses should not have a message in the gradebook.
      5. Agree to the changes and then back up the course.
      6. Create a back up of one course that is not frozen and one course that is frozen.
      7. Restore both courses and make sure that the courses are still either frozen or not frozen depending on what state they were in when being created.

      A site using the default settings for displaying grades in the gradebook.

      • Create a course that has set the course grade setting to display grades as letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen).

      A site using letters as its grade display.

      • Create a course that has set the course grade setting to display grades as letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen).

      A site using letters as its grade display. The site wide letter boundaries have been edited and one of the boundaries is 57.

      • Create a course that has set the course grade setting to display grades as letters (Frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen).

      A site using the default settings for displaying grade in the gradebook. The site wide letter boundaries have been edited and one of the boundaries is 57.

      • Create a course that has set the course grade setting to display grades as letters (Frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen).
      • Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen).
      • Create a course with the course grade setting of showing the letter grade column (Frozen).

      A site using the default settings. No additional column for letters is added to the user grade report

      • Create a course that has set the course grade setting to show a column with letter grades (Not frozen).
      • Create a course that has set the course grade setting to show a column with letter grades. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen).
      • Create a course that has set the course grade setting to show a column with letter grades. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen).
      • Create a course with the course grade setting of show the letter grade column. Update the course letter grade boundaries and set one of the boundaries to be 57 (Frozen).

      A site setting an additional column to display letters in the user grade report.

      • Create a course with default settings. Update the course letter grade boundaries and set one of the boundaries to be 57 (Frozen).
      • Create a course with the course grade setting of hiding the letter grade column. Update the course letter grade boundaries and set one of the boundaries to be 57 (Not frozen).

      Run the following unit test with all of the supported databases.

      vendor/bin/phpunit lib/tests/upgradelib_test.php
      

      Show
      Prep A quick script can be set up to run the upgrade function: <?php require_once(__DIR__ . '/config.php'); require_once($CFG->libdir . '/db/upgradelib.php'); upgrade_course_letter_boundary(); 57 grade boundary issue. Please follow these instructions as you run through each section (a section beginning with bold text). For each of the following sections ( A site using... ) make sure that you have an activity in each of the courses (that you will have to create), and that you have given grades to some students. Give some students grades of 57. Courses that have "(Frozen)" should show students with a grade of 57 not achieving the letter corresponding to that boundary. Upgrade to the latest version (Run the upgrade script). Check that the courses marked as Frozen have a message on the gradebook. Not frozen courses should not have a message in the gradebook. Agree to the changes and then back up the course. Create a back up of one course that is not frozen and one course that is frozen. Restore both courses and make sure that the courses are still either frozen or not frozen depending on what state they were in when being created. A site using the default settings for displaying grades in the gradebook. Create a course that has set the course grade setting to display grades as letters (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen). A site using letters as its grade display. Create a course that has set the course grade setting to display grades as letters (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen). A site using letters as its grade display. The site wide letter boundaries have been edited and one of the boundaries is 57. Create a course that has set the course grade setting to display grades as letters (Frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen). A site using the default settings for displaying grade in the gradebook. The site wide letter boundaries have been edited and one of the boundaries is 57. Create a course that has set the course grade setting to display grades as letters (Frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen). Create a course that has set the course grade setting to display grades as letters. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters (Frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries but do not set any of the boundaries to 57 (Not frozen). Create a course that has set the course grade setting to display grades as "Real" or something that does not display letters. Set one of the activities to display grades using letters. Change the course letter boundaries and set one of the boundaries to 57 (Frozen). Create a course with the course grade setting of showing the letter grade column (Frozen). A site using the default settings. No additional column for letters is added to the user grade report Create a course that has set the course grade setting to show a column with letter grades (Not frozen). Create a course that has set the course grade setting to show a column with letter grades. Change the course letter boundaries, but do not set any boundary to be 57 (Not frozen). Create a course that has set the course grade setting to show a column with letter grades. Change the course letter boundaries and this time set one of the boundaries to be 57 (Frozen). Create a course with the course grade setting of show the letter grade column. Update the course letter grade boundaries and set one of the boundaries to be 57 (Frozen). A site setting an additional column to display letters in the user grade report . Create a course with default settings. Update the course letter grade boundaries and set one of the boundaries to be 57 (Frozen). Create a course with the course grade setting of hiding the letter grade column. Update the course letter grade boundaries and set one of the boundaries to be 57 (Not frozen). Run the following unit test with all of the supported databases. vendor/bin/phpunit lib/tests/upgradelib_test.php
    • Affected Branches:
      MOODLE_31_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      wip-MDL-55107-master
    • Sprint:
      3.2 Sprint 2

      Description

      While writing a script to show exactly which courses should be frozen and which should not I noticed that the analysis of the grade boundaries is too strict and can be relaxed to only include grade boundaries that will show grades in the lower boundary.

      I also noticed that the letter column setting has not been taken into consideration either. This should be fixed as well.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  12/Sep/16