edx-platform icon indicating copy to clipboard operation
edx-platform copied to clipboard

feat: default grade designations configurable from settings

Open kaustavb12 opened this issue 2 years ago • 11 comments

Description

Currently a maximum of 5 grade cutoffs are configurable from the Grading Settings in Studio. However, some universities might require more that 5 cutoffs depending on their grading policy.

Also, when a new grade cutoff is added, a default grade desgination is assigned to this cufoff. These default grade designations are hard coded in the javascript code. This means, if the maximum number of grade cutoff are to be increased, more default grade designations also need to be defined.

This PR address this issue.

In this PR, a new setting DEFAULT_GRADE_DESIGNATIONS is introduced which can be used to define the pass grade designations. This has a default value of ['A', 'B', 'C', 'D'], which is the current default.

The maximum number of grade cutoffs is now dependent on the length of the grade designations list, instead of being hard-coded to 5.

As before, the failure grade designation is always set to F which cannot be changed and is not to be included in the DEFAULT_GRADE_DESIGNATIONS list.

Ex. If there is a need to configure 7 grade cutoffs instead of the default 5, the following setting can be used:

DEFAULT_GRADE_DESIGNATIONS = ['A+', 'A', 'B+', 'B', 'C', 'D']

The DEFAULT_GRADE_DESIGNATIONS list must have more than 1 desginations, otherwise the default grade designations falls back to ['A', 'B', 'C', 'D'].

Supporting information

Link to other information about the change, such as Jira issues, GitHub issues, or Discourse discussions. Be sure to check they are publicly readable, or if not, repeat the information here.

Testing instructions

Default Scenario

  1. Start studio in devstack using the PR branch
  2. Open an exisiting course or create a new one.
  3. Go to Settings --> Grading
  4. Click on the + button repeatedly to add new grade cutoffs
  5. Verify that maximum 5 grade cutoff designations are configurable with the values 'A', 'B', 'C', 'D' and 'F'

Modify Grade Designations

  1. Add this to cms\envs\devstack.py : DEFAULT_GRADE_DESIGNATIONS = ['A+', 'A', 'B+', 'B', 'C', 'D']
  2. Start studio in devstack using the PR branch
  3. Open an exisiting course or create a new one.
  4. Go to Settings --> Grading
  5. Click on the + button repeatedly to add new grade cutoffs
  6. Verify that maximum 7 grade cutoff designations are configurable with the values 'A+', 'A', 'B+', 'B', 'C', 'D' and 'F'

Grade Designations Fallback

  1. Add this to cms\envs\devstack.py : DEFAULT_GRADE_DESIGNATIONS = ['A+']
  2. Start studio in devstack using the PR branch
  3. Open an exisiting course or create a new one.
  4. Go to Settings --> Grading
  5. Click on the + button repeatedly to add new grade cutoffs
  6. Verify that maximum 5 grade cutoff designations are configurable with the values 'A', 'B', 'C', 'D' and 'F'

Deadline

"None" if there's no rush, or provide a specific date or event (and reason) if there is one.

Other information

OpenCraft internal ticket : BB-7378

kaustavb12 avatar Jun 09 '23 05:06 kaustavb12

Thanks for the pull request, @kaustavb12! Please note that it may take us up to several weeks or months to complete a review and merge your PR.

Feel free to add as much of the following information to the ticket as you can:

  • supporting documentation
  • Open edX discussion forum threads
  • timeline information ("this must be merged by XX date", and why that is)
  • partner information ("this is a course on edx.org")
  • any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.

Please let us know once your PR is ready for our review and all tests are green.

openedx-webhooks avatar Jun 09 '23 05:06 openedx-webhooks

Hi @jmakowski1123 - checking on this one to see if it should go through Product review?

mphilbrick211 avatar Jun 28 '23 18:06 mphilbrick211

Hi @jmakowski1123! Any update on this?

mphilbrick211 avatar Aug 23 '23 01:08 mphilbrick211

Product Feature Ticket is ready for product review: https://github.com/orgs/openedx/projects/4/views/20

jmakowski1123 avatar Aug 25 '23 17:08 jmakowski1123

@mphilbrick211

I believe this feature now has product approval and I have made the changes requested there.

Are we good to move this PR to review now ?

kaustavb12 avatar Jan 07 '24 10:01 kaustavb12

Thanks for flagging, @kaustavb12! I've sent this over to @openedx/2u-arch-bom to take a look at.

mphilbrick211 avatar Jan 11 '24 16:01 mphilbrick211

@mphilbrick211 Just checking to see, could this ticket be CC reviewed ?

kaustavb12 avatar Mar 06 '24 13:03 kaustavb12

Sorry, looks like we didn't end up routing this properly. @openedx/2u-tnl can you take a look?

timmc-edx avatar Mar 06 '24 15:03 timmc-edx

@mphilbrick211 I can help to review this PR 😇

farhaanbukhsh avatar Mar 30 '24 05:03 farhaanbukhsh

@mphilbrick211 I can help to review this PR 😇

Thank you so much, @farhaanbukhsh!

mphilbrick211 avatar Apr 02 '24 18:04 mphilbrick211

@farhaanbukhsh, @kaustavb12, if I'm not mistaken, we have around two weeks before the Redwood release cut. It'd be really awesome if we could get this PR reviewed and merged before the cut.

0x29a avatar Apr 10 '24 09:04 0x29a

@farhaanbukhsh

Thanks a lot for the review.

Review comment addressed. I have also rebased and squashed the commits.

kaustavb12 avatar May 02 '24 11:05 kaustavb12

jenkins run all

farhaanbukhsh avatar May 02 '24 12:05 farhaanbukhsh

@kaustavb12 can you rebase the PR, thanks :)

farhaanbukhsh avatar May 07 '24 15:05 farhaanbukhsh

@farhaanbukhsh Rebased and Squashed

kaustavb12 avatar May 07 '24 15:05 kaustavb12

@kaustavb12 🎉 Your pull request was merged! Please take a moment to answer a two question survey so we can improve your experience in the future.

openedx-webhooks avatar May 07 '24 19:05 openedx-webhooks

2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.

edx-pipeline-bot avatar May 07 '24 23:05 edx-pipeline-bot

2U Release Notice: This PR has been deployed to the edX production environment.

edx-pipeline-bot avatar May 08 '24 00:05 edx-pipeline-bot

2U Release Notice: This PR has been deployed to the edX production environment.

edx-pipeline-bot avatar May 08 '24 00:05 edx-pipeline-bot