Clarification System
Description / Overview
The Clarification System provides the option for tutors to ask for clarification concerning specific submissions, submissions types or exams. The reviewer is able to respond to those requests and "publish" the answer to all tutors/other reviewers. He also has the ability to create Clarifications on his own without an accompanying request.
The Reviewer has the option to show the accompanying request or submission, to provide context to his answer. Those will be displayed to the tutors when viewing clarifications.
Proposed specifications:
Models(fields with ! cannot be blank):
ClarificationRequest: of_tutor: Tutor! title: CharField! text: TextField! submission: Submisison sub_types: ManyToMany SubmissionType
ClarificationAnswer: of_reviewer: Reviewer! title: CharField! text: TextField! request: OneToOne ClarificationRequest sub_types: ManyToMany SubmissionType show_request: Boolean default=False show_submission: Boolean default=False
API endpoints:
Tutor / Reviewer
GET /clarification-list/
returns all answered clarifications
GET submissiontype/<submission_type_id>/clarification-list/
returns all answered clarifications for this SubmissionType
Tutor:
GET /clarification-requests-list/
returns own issued clarification requests
POST /clarification-requests/
create new ClarificationRequest
Reviewer:
POST /clarification/
create new ClarificationAnswer
PATCH /clarfication/<id>/
change specifics of clarification
Use cases
Tutors can ask for clarification if e.g. they are unclear about how a specific type of mistake should be graded in students submission or if the grading specifications are unclear. Reviewers have a simple way of informing tutors about how to grade specific corner cases.
Feature checklist
-
ClarficationRequest model -
ClarficationAnswer model -
respective serializers -
viewsets and views with correct permissions