- 
                Notifications
    
You must be signed in to change notification settings  - Fork 56
 
Grading
The project is a combination of multiple features, distributed across the client (cadet-frontend), server (cadet) and autograder (grader) repositories.
The improvements are:
- Editor template reset button (client)
 - Integration of new XML format and autograder improvements (client and server)
 - Refactoring of autograder (server and grader)
 - Client-side public test case support (client)
 - Grading overview overhaul (client and server)
 - Server-side pagination (client and server)
 
Scroll below to view the documentation for the changes made to the server.
Please proceed to the client repository reference.
Rationale: Update backend to support the updated XML format for creation and deployment of assessments - the updated specifications are available here.
- Client: Frontend integration of new XML format
 - Server: PR 363 (bundled with grader integration, resolves issues #215, #330)
 
- Changes to 
programming_questionembedded schema- Added 
prependandpostpendfields - Renamed 
solutionTemplatefield totemplate 
 - Added 
 - Changes to 
questionschema- Removed 
graderfields - Added 
publicandprivatefields to represent public and private test cases 
 - Removed 
 - Changes to 
answerschema- Renamed 
autograding_errorsfield toautograding_results 
 - Renamed 
 - Updated XML parser to handle new tags in the new XML format
 - Refactored 
lambda_worker.exto accept and store all grading output results in a systematic format - Rewritten tests to recover coverage
 
- Add 
autograding_statusandautograding_resultsfields to controller and view - Write new tests for new XML tags
 
Please proceed to the grader repository reference.
Please proceed to the client repository reference.
Rationale: Improve the UX for graders by cleaning up the UI of the grading overview page and providing more more granular information on each submission.
- Client: Frontend grading overview overhaul
 - Server: PR 375
 
- Amended grading status computation to include a new 
:nonestate for ungraded assessments - Added virtual 
grading_status,question_countandgraded_countfields to theSubmissionschema - Amended 
all_submissions_by_graderquery- Computes number of questions and graded questions for each submission to build grading status
 - Computes and returns pagination details along with retrieved entries to client
 
 
- Correct tests for additional computed fields
 
Rationale: Implement server-side pagination for the /grading endpoint (retrieval of submissions) to reduce amount of data transmitted between client and server.
- Client: Frontend server-side pagination
 - Server: PR 376 (resolves issue #257)
 
- Disabled ag-grid's native pagination and added custom pagination controls
 - Added button to select pagination page size (#submisions to retrieve)
 - Amended 
/gradingendpoint from using a HTTPGETtoPOSTrequest- Pagination details, search, filter and sort details are all contained in the transmitted 
JSONbody 
 - Pagination details, search, filter and sort details are all contained in the transmitted 
 - Replicated search functionality server-side
- Replaced quick filter searchbar with tag-based searching by name, assessment, category and group
 
 - Replicated sorting functionality server-side
 - Replicated column filter functionality server-side
- Text-based column filters disabled
 - Number-based column filters enabled for XP and grade columns
 
 
- Correct tests for amended output from 
all_submissions_by_graderand use ofPOSTrequest - Load testing with a large database