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

2.3 Data Displayed

Column Source Sortable
Name user_profile.first_name + last_name Yes
Email 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

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

3.3 Entity Header

Field Source
Name user_profile
Email 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:

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:

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:

3.8 Cross-Tab Behaviors

4. Screen: Teacher Assignment Criteria

4.1 Purpose

Define rules for auto-assigning students to TAs. Relocated from Settings.

4.2 Entry Points

4.3 Existing Capabilities (preserved)

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:

  1. On enrollment, check group_members + group_name for this student's most recent user_link_level_tag record (prior semester)
  2. 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
  3. 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

5.3 Existing Capabilities (preserved)

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

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)

6.5 Role Visibility

Admin: Full CRUD. View-Only: View only. TA (via "My Groups"): own groups view-only.