Rubrics
This page documents the current developer implementation of rubric authoring in ILS-dev.
Rubrics are reusable grading instruments that connect criteria to outcomes.
Frontend entrypoints
The rubric management screens are mounted in frontend/src/App.jsx:
Route path="admin/rubrics" element={<RubricsPage />} />Route path="admin/rubrics/new" element={<RubricEditor />} />Route path="admin/rubrics/:id" element={<RubricEditor />} />
The relevant frontend pages are:
frontend/src/pages/RubricsPage.jsxfrontend/src/pages/RubricEditor.jsx
Backend contract
Rubric authoring uses these endpoints:
GET /api/rubricsGET /api/rubrics/:idPOST /api/rubricsPUT /api/rubrics/:idDELETE /api/rubrics/:idGET /api/rubrics/categoriesGET /api/rubrics/criteria
Frontend data flow
Rubric list
RubricsPage.jsx loads the rubric bank and category filters using:
/rubrics/rubrics/categories
The page renders each rubric’s title, category, criteria count, total points, and pass threshold. It also supports edit and delete actions.
Rubric editor
RubricEditor.jsx is the create/edit screen.
The editor supports:
- adding and editing rubric criteria
- editing rating rows for each criterion
- linking criteria to outcomes using
OutcomePicker - previewing rubric details
- fine-grained point and description fields
Outcome-linked criteria
Each rubric criterion can link to a single outcome via linked_outcome_id.
This linkage is critical for heatmap and outcome mastery reporting because:
assignment_rubricsuses the rubric to connect assignments to outcomes indirectlyrubric_criteria.linked_outcome_idenables snapshots to map criterion scoring to outcomesstudent_outcome_snapshotsis computed from rubric criteria scores and linked outcomes
Developer notes
- The rubric editor uses inline criteria and ratings state; the final payload is sent as a full rubric object to the backend.
- When a criterion is linked to an outcome, the page may lock or derive rating metadata from the selected outcome.
- Changes to rubric payload shape should be coordinated with
GradingPage2.jsx,AssignmentForm.jsx, and heatmap/cockpit contracts.
Related pages
docs/developer/api.md— rubric API contractdocs/developer/data-model.md— rubric criteria and outcome mappingdocs/developer/assignments.md— assignment-to-rubric linkagedocs/developer/grading-cockpit.md— how rubrics are used in grading
Last updated: 2026-07-08