Overview
Teacher modules (module_type="teach") handle all aspects of the teacher experience, from profile setup through class creation, roster management, and post-program activities. These modules appear in the teacher registration interface at /teach/<program>/.
Core Module
TeacherRegCore
File:esp/esp/program/modules/handlers/teacherregcore.py
Purpose: Serves the main teacher registration page that aggregates all teacher registration steps.
Module Properties:
- Admin Title: “Core Teacher Registration”
- Link Title: “Teacher Registration”
- Module Type: “teach”
- Seq: -9999 (displayed first)
- Choosable: Yes
- Displays all enabled teacher modules as steps
- Enforces required module completion
- Shows progress indicators
- Links to class management
teacherreg- Main registration page showing all steps
ClassRegModuleInfo for settings.
Required Modules
RegProfileModule
File:esp/esp/program/modules/handlers/regprofilemodule.py
Purpose: Allows teachers to update their profile information for a specific program.
Module Properties:
- Admin Title: “Teacher Profile Editor”
- Link Title: “Update Your Profile”
- Module Type: “teach”
- Required: Yes
- Seq: 0 (first step)
- Contact information editing
- Teaching experience
- Availability for programs
teacher_profile: Teachers who have filled out a profile
TeacherBioModule
File:esp/esp/program/modules/handlers/teacherbiomodule.py
Purpose: Allows teachers to create or edit their biography for display in the class catalog.
Module Properties:
- Admin Title: “Teacher Biography Editor”
- Link Title: “Update your teacher biography”
- Module Type: “teach”
- Seq: -111
- Choosable: Yes
- Rich text biography editor
- Biography appears in class catalog
- Per-program customization
- URL slug generation
teacher_biographies: Teachers who have completed their biography
TeacherAcknowledgementModule
File:esp/esp/program/modules/handlers/teacheracknowledgementmodule.py
Purpose: Requires teachers to acknowledge and agree to program policies and expectations.
Module Properties:
- Admin Title: “Teacher Acknowledgement”
- Link Title: “Teacher Acknowledgement”
- Module Type: “teach”
- Choosable: No (must be manually added)
- Customizable agreement text
- Checkbox confirmation required
- Records acknowledgement
Class Management Modules
TeacherClassRegModule
File:esp/esp/program/modules/handlers/teacherclassregmodule.py
Purpose: The primary module for teachers to register and manage their classes.
Module Properties:
- Admin Title: “Teacher Class Registration”
- Link Title: “Register Your Classes”
- Module Type: “teach”
- Seq: 10
- Inline Template: “listclasses.html”
- Choosable: Yes
- Create new classes
- Edit existing classes
- Manage multiple sections
- Set class capacity, grades, prerequisites
- Request resources (projectors, whiteboards, etc.)
- Add/remove co-teachers
- View enrolled students
- Cancel classes or request cancellation
- Application question setup
- Open class registration
listclasses- Inline list of teacher’s classesmakeaclass- Create a new classeditclass- Edit an existing classmanageclass- Detailed class management interfaceaddsection- Add a section to a classdelsection- Remove a sectionteacherlookup- Search for co-teacherscancelclass- Cancel a class or sectionreviewstudentapps- Review student applicationssurvey_results- View class surveys
ClassRegModuleInfo):
allow_coteach: Enable co-teachingset_prereqs: Allow prerequisite specificationclass_max_duration: Maximum class length in minutesclass_min_cap,class_max_size: Class size constraintsallowed_sections: Number of sections allowednum_teacher_questions: Max application questionscolor_code: Custom color for classesallow_lateness: Allow students to arrive lateask_for_room: Request specific roomsopen_class_registration: Enable open class option
class_submitted: Teachers with at least one classclass_approved: Teachers with approved classesclass_rejected: Teachers with rejected classes
TeacherModeratorModule
File:esp/esp/program/modules/handlers/teachermoderatormodule.py
Purpose: Allows teachers to sign up as moderators for other teachers’ classes.
Module Properties:
- Admin Title: “Teacher Moderator Registration”
- Link Title: “Moderate Classes”
- Module Type: “teach”
- Choosable: Yes
- Browse classes needing moderators
- Sign up to moderate
- View moderation schedule
Availability and Scheduling
AvailabilityModule
File:esp/esp/program/modules/handlers/availabilitymodule.py
Purpose: Allows teachers to indicate when they are available to teach during the program.
Module Properties:
- Admin Title: “Teacher Availability”
- Link Title: “Indicate Your Availability”
- Module Type: “teach”
- Seq: 0
- Choosable: Yes
- Calendar interface to select available times
- Required before class registration
- Helps with automated scheduling
- Can import from other programs
availability- Set availabilityavailability_post- Save availability
availability_available: Teachers who completed availability
TeacherEventsModule
File:esp/esp/program/modules/handlers/teachereventsmodule.py
Purpose: Allows teachers to sign up for special teacher events (training, interviews, etc.).
Module Properties:
- Admin Title: “Teacher Event Sign-up”
- Link Title: “Sign Up for Teacher Events”
- Module Type: “teach”
- Choosable: Yes
- Register for teacher training sessions
- Sign up for interviews
- Capacity management
Class Preview and Applications
TeacherPreviewModule
File:esp/esp/program/modules/handlers/teacherpreviewmodule.py
Purpose: Allows teachers to preview what their class will look like in the catalog.
Module Properties:
- Admin Title: “Teacher Class Preview”
- Link Title: “Preview Your Classes”
- Module Type: “teach”
- Choosable: Yes
- See catalog view of classes
- Preview before approval
- Check formatting and display
TeacherReviewApps
File:esp/esp/program/modules/handlers/teacherreviewapps.py
Purpose: Interface for teachers to review student applications for their classes.
Module Properties:
- Admin Title: “Teacher Review Applications”
- Link Title: “Review Student Applications”
- Module Type: “teach”
- Choosable: Yes
- View student applications
- Approve/reject students
- Leave comments
- Email applicants
Quiz and Assessment
TeacherQuizModule
File:esp/esp/program/modules/handlers/teacherquizmodule.py
Purpose: Administers a quiz that teachers must pass before registering classes.
Module Properties:
- Admin Title: “Teacher Quiz”
- Link Title: “Teacher Training Quiz”
- Module Type: “teach”
- Required: Yes (configurable)
- Choosable: Yes
- Multiple choice questions
- Required passing score
- Blocks class registration until passed
- Retake capability
quiz_done: Teachers who passed the quiz
Onsite Teacher Modules
TeacherOnsite
File:esp/esp/program/modules/handlers/teacheronsite.py
Purpose: Teacher-facing onsite module for viewing schedule and class rosters.
Module Properties:
- Admin Title: “Teacher Onsite”
- Link Title: “Onsite Info”
- Module Type: “teach”
- Choosable: Yes
TeacherCheckinModule
File:esp/esp/program/modules/handlers/teachercheckinmodule.py
Purpose: Check in teachers when they arrive at the program.
Module Properties:
- Admin Title: “Teacher Check-In”
- Link Title: “Check in teachers”
- Module Type: “onsite”
- Seq: 10
- Choosable: Yes
- Barcode scanning
- Manual search and check-in
- Attendance tracking
- Class roster access
Communication and Display
TeacherBigBoardModule
File:esp/esp/program/modules/handlers/teacherbigboardmodule.py
Purpose: Displays a big board showing teacher assignments and classroom information.
Module Properties:
- Admin Title: “Teacher Big Board”
- Link Title: “Teacher Big Board”
- Module Type: “teach”
- Choosable: Yes
- Large display of teaching schedule
- Room assignments
- Real-time updates
- Suitable for projection
Survey Modules
TeacherSurveyModule
File:esp/esp/program/modules/handlers/teachersurveymodule.py
Purpose: Post-program surveys for teachers.
Module Properties:
- Admin Title: “Teacher Survey”
- Link Title: “Teacher Survey”
- Module Type: “teach”
- Choosable: No
Custom Form Modules
TeacherCustomFormModule
File:esp/esp/program/modules/handlers/teachercustomformmodule.py
Purpose: Generic custom form handler for program-specific teacher data collection.
Module Properties:
- Admin Title: “Teacher Custom Form”
- Link Title: “Custom Form”
- Module Type: “teach”
- Choosable: Yes
- Configurable form fields
- Custom validation
- Data export
Development Notes
Creating a Custom Teacher Module
To create a new teacher module:- Create a new file in
esp/esp/program/modules/handlers/ - Inherit from
ProgramModuleObj - Set
module_type = "teach" - Implement required methods: