Admin Spec — Teacher Management
Teacher Management
Domain 6 of the Enhanced Candidate A navigation structure. Contains: Teaching Assistants list + TA Detail Page (4 tabs), Teacher Assignment Criteria, TA Reports, Student Groups.
1. Domain Overview
Teacher Management groups everything related to TAs — profiles, schedules (managed in Scheduling domain but visible here), student assignments, and performance. Moving Teacher Assignment Criteria (from Settings) and TA Reports (from Reports) here puts them where they logically belong.
2. Screen: Teaching Assistants List
2.1 Purpose
View all TAs. Entry point to TA Detail Pages. Relocated from People > Teaching Assistants.
2.2 Entry Points
- Sidebar: Teacher Management > Teaching Assistants
- Dashboard: TA Response Time tile click (filtered to flagged TAs)
2.3 Data Displayed
| Column | Source | Sortable |
|---|---|---|
| Name | user_profile.first_name + last_name |
Yes |
users.email |
Yes | |
| Status | users.user_activation_status |
Yes |
| Assigned Students | Count from group membership | Yes |
| Avg Response Time (NEW) | Computed from submission review times | Yes |
| Groups | Count of groups assigned | Yes |
2.4 Actions
- View TA (row click → TA Detail Page)
- Create TA ("Create TA" button, Admin)
- Edit / Delete (Admin)
2.5 States
Standard list. Empty: "No teaching assistants configured."
2.6 Role Visibility
Admin: Full. View-Only: View. TA/Support: Hidden.
3. Screen: TA Detail Page (Rich Entity Page)
3.1 Purpose
Consolidated TA view. 4 tabs: Profile, Schedule, Students & Groups, Performance.
3.2 Entry Points
- TA list row click, Global search, Student Detail header TA name click, Dashboard TA alert
3.3 Entity Header
| Field | Source |
|---|---|
| Name | user_profile |
users.email |
|
| Status | Badge (Active/Inactive) |
| Timezone | users.timezone |
| Student Count | Derived |
| Avg Response Time (NEW) | Computed |
Breadcrumb: Teacher Management > Teaching Assistants > [TA Name]
3.4 Tab: Profile
Standard TA profile fields: name, email, timezone, status, contact info. Actions: Edit Profile (Admin only)
3.5 Tab: Schedule
| Field | Source |
|---|---|
| Weekly availability grid | From TA Schedules data |
| Timezone | users.timezone |
| Personal Holidays | TA-specific holidays |
| Upcoming Appointments | Next 7 days of appointments |
Actions:
- Edit Availability → navigates to Scheduling > TA Schedules (pre-filtered to this TA)
- View in Calendar → Scheduling > Calendar View (filtered to this TA)
3.6 Tab: Students & Groups (NEW)
Assigned Students table:
| Column | Source |
|---|---|
| Student Name | via group_members → users |
| Level | enrollment level |
| Submissions | Count this semester |
| Pending Review | Submissions where assessment_status=0 |
| Last Submission | Date |
Groups table:
| Column | Source |
|---|---|
| Group Name | group_name.name |
| Members | Count of group_members |
| Next Appointment | From appointments |
Actions:
- View Student (name click → Student Detail)
- Reassign Student (Admin) — move to different TA
- Create Group (Admin) — creates group assigned to this TA
- Manage Group Members (Admin)
3.7 Tab: Performance (NEW)
| Metric | Source | Display |
|---|---|---|
| Avg Response Time | Computed: avg(review_date - submission_date) for this TA | "2.1 days" — highlighted red if >2 days (48hrs) |
| Reviews This Semester | Count of reviewed submissions | Number |
| Reviews Total | All-time count | Number |
| Pending Reviews | Submissions under review assigned to this TA | Number (highlighted if >0) |
| Student Pass Rate | % of assigned students who passed in previous semester | "87%" |
| Student Fail Rate | Complement | "13%" |
States:
- Has data: metrics displayed
- New TA: "No performance data yet. This TA has not reviewed any submissions."
3.8 Cross-Tab Behaviors
- Reassigning student on Students tab updates student count in entity header
- Review submission from Students tab updates Performance tab metrics
4. Screen: Teacher Assignment Criteria
4.1 Purpose
Define rules for auto-assigning students to TAs. Relocated from Settings.
4.2 Entry Points
- Sidebar: Teacher Management > Teacher Assignment Criteria
- Semester Hub > Setup Checklist: "Configure →" link
4.3 Existing Capabilities (preserved)
- Define rules for auto-assigning students to TAs
- CRUD on rules
4.4 Repeat Student Auto-Assignment (NEW)
Addresses interview request: "Repeat students should be auto-assigned to their previous teacher."
When a student re-enrolls for a new semester, the system should attempt to assign them to the same TA they had in the most recent previous semester. This rule is applied before other assignment criteria rules.
Logic:
- On enrollment, check
group_members+group_namefor this student's most recentuser_link_level_tagrecord (prior semester) - If a previous TA is found AND that TA is active in the new semester AND has capacity (below max student count): auto-assign to same TA
- If previous TA is not available (inactive, at capacity, or not assigned to new semester): fall through to standard assignment criteria rules
Visibility: This rule is displayed as a toggleable system rule at the top of the Teacher Assignment Criteria screen: "Auto-assign repeat students to their previous TA" with an on/off toggle (default: on). When on, it takes priority over other rules for repeat students.
4.5 Role Visibility
Admin: Full CRUD. View-Only: View only.
5. Screen: TA Reports
5.1 Purpose
Track TA performance and their students. Relocated from Reports.
5.2 Entry Points
- Sidebar: Teacher Management > TA Reports
5.3 Existing Capabilities (preserved)
- View TA performance and their students
- Export TA data to CSV
- Weekly submissions by teacher
5.4 Role Visibility
Admin: Full + export. View-Only: View only.
6. Screen: Student Groups
6.1 Purpose
Manage student groups and assignments. Previously accessible only via TA detail pages. Now surfaced to nav.
6.2 Entry Points
- Sidebar: Teacher Management > Student Groups
- TA Detail > Students & Groups tab: group name click
6.3 Data Displayed
| Column | Source | Sortable |
|---|---|---|
| Group Name | group_name.name |
Yes |
| TA | users.name via group_name.teacher_id |
Yes |
| Members | Count of group_members |
Yes |
| Semester | Derived from enrollment | Yes |
| Protected | group_name.prevent_delete |
No |
6.4 Existing Capabilities (preserved from StudentGroupController)
- Create/edit groups
- View group details
- Add/transfer students between groups
- Delete group (blocked if prevent_delete=1)
6.5 Role Visibility
Admin: Full CRUD. View-Only: View only. TA (via "My Groups"): own groups view-only.