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