frontend
frontend copied to clipboard
Overhaul grading states design
The current grading states are insufficient to represent all possible grading states. For example,
Student submits assessment --> avenger grades all questions --> avenger unsubmits assessment (for student to make changes) --> student resubmits
Issues:
- After the avenger first grades all questions, the results are immediately shown to the student
- When the student resubmits, the assessment is immediately 'Graded' due to point 1 above. This is a source of confusion for both the student and the avenger
Proposal:
- Introduce additional grading states such as
published. Avengers must explicitly publish the grading in order for students to view it - During unsubmission, the submission (if already published), will be 'unpublished'
- Alternatively, we prevent avengers from unsubmitting a submission if it is already published (this means the avenger can only unsubmit in the midst of grading)
- This 'publish' design is similar to the way Coursemology handles grading
More Context:
On the submission side, there are currently the following states: attempting, attempted and submitted in the database
On the grading side, there are currently the following states: graded, grading, excluded and none. This is currently computed on the frontend under the function computeGradingStatus in RequestsSaga.ts
See: #2189 Might be relevant: #738, #746, #799
Note to people of the future: the above PR has mostly implemented the suggeestions in this issue, which should make finding resubmitted work much easier. The only thing left is that an assessment will be still marked from "attempted" to "graded" if previously unsubmitted. Could be a good first issue.