feat: default grade designations configurable from settings
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
- Start studio in devstack using the PR branch
- Open an exisiting course or create a new one.
- Go to
Settings-->Grading - Click on the
+button repeatedly to add new grade cutoffs - Verify that maximum 5 grade cutoff designations are configurable with the values
'A', 'B', 'C', 'D' and 'F'
Modify Grade Designations
- Add this to
cms\envs\devstack.py:DEFAULT_GRADE_DESIGNATIONS = ['A+', 'A', 'B+', 'B', 'C', 'D'] - Start studio in devstack using the PR branch
- Open an exisiting course or create a new one.
- Go to
Settings-->Grading - Click on the
+button repeatedly to add new grade cutoffs - Verify that maximum 7 grade cutoff designations are configurable with the values
'A+', 'A', 'B+', 'B', 'C', 'D' and 'F'
Grade Designations Fallback
- Add this to
cms\envs\devstack.py:DEFAULT_GRADE_DESIGNATIONS = ['A+'] - Start studio in devstack using the PR branch
- Open an exisiting course or create a new one.
- Go to
Settings-->Grading - Click on the
+button repeatedly to add new grade cutoffs - 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
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.
Hi @jmakowski1123 - checking on this one to see if it should go through Product review?
Hi @jmakowski1123! Any update on this?
Product Feature Ticket is ready for product review: https://github.com/orgs/openedx/projects/4/views/20
@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 ?
Thanks for flagging, @kaustavb12! I've sent this over to @openedx/2u-arch-bom to take a look at.
@mphilbrick211 Just checking to see, could this ticket be CC reviewed ?
Sorry, looks like we didn't end up routing this properly. @openedx/2u-tnl can you take a look?
@mphilbrick211 I can help to review this PR 😇
@mphilbrick211 I can help to review this PR 😇
Thank you so much, @farhaanbukhsh!
@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.
@farhaanbukhsh
Thanks a lot for the review.
Review comment addressed. I have also rebased and squashed the commits.
jenkins run all
@kaustavb12 can you rebase the PR, thanks :)
@farhaanbukhsh Rebased and Squashed
@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.
2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.
2U Release Notice: This PR has been deployed to the edX production environment.
2U Release Notice: This PR has been deployed to the edX production environment.