Overview
Onsite modules (module_type="onsite") provide tools for managing the program on the day it takes place. These modules handle check-in, class changes, attendance tracking, and other real-time operational needs. They appear in the onsite interface at /onsite/<program>/ and require onsite staff permissions.
Core Module
OnsiteCore
File:esp/esp/program/modules/handlers/onsitecore.py
Purpose: Serves the main onsite landing page with links to all onsite tools.
Module Properties:
- Admin Title: “Onsite Reg Core Module”
- Link Title: “onsite”
- Module Type: “onsite”
- Seq: -1000 (displayed first)
- Choosable: Yes
- Central hub for all onsite operations
- Quick access to all enabled onsite modules
- Different interface for admin vs. onsite-only staff
- Links to most-used onsite tools
main- Main onsite landing page
Check-in Modules
OnSiteCheckinModule
File:esp/esp/program/modules/handlers/onsitecheckinmodule.py
Purpose: Check in students when they arrive, verify payments and forms.
Module Properties:
- Admin Title: “On-Site User Check-In”
- Link Title: “Check-in (check students off for payments and forms)”
- Module Type: “onsite”
- Seq: 1
- Choosable: Yes
- Barcode scanning for rapid check-in
- Manual student search and lookup
- Payment verification and marking
- Medical/liability form verification
- Attendance recording
- Student information display
- Schedule viewing
- Onsite profile editing
checkin- Main check-in interfacebarcode_checkin- Barcode-based check-instudent_status- View individual student statusmark_paid- Mark student as paidmark_attended- Mark student as checked in
- Scan barcode or search for student
- View student information and schedule
- Verify payment status
- Verify medical/liability forms
- Mark as checked in (attended)
- Print materials if needed
attended: Student has checked inpaid: Payment receivedMed: Medical form submittedLiab: Liability form submitted
OnSiteCheckoutModule
File:esp/esp/program/modules/handlers/onsitecheckoutmodule.py
Purpose: Check out students when they leave the program.
Module Properties:
- Admin Title: “On-Site User Check-Out”
- Link Title: “Check-out”
- Module Type: “onsite”
- Seq: 2
- Choosable: Yes
- Mark students as checked out
- Verify student departure
- Track who is still on premises
TeacherCheckinModule
File:esp/esp/program/modules/handlers/teachercheckinmodule.py
Purpose: Check in teachers when they arrive to teach.
Module Properties:
- Admin Title: “Teacher Check-In”
- Link Title: “Check in teachers”
- Module Type: “onsite”
- Seq: 10
- Choosable: Yes
- Barcode or manual check-in
- View teacher’s schedule
- See which classes they’re teaching
- Mark teachers as present
- Room assignment information
teachercheckin- Main teacher check-in interfacebarcode_checkin- Barcode-based teacher check-in
Registration and Class Management
OnSiteRegister
File:esp/esp/program/modules/handlers/onsiteregister.py
Purpose: Register new students on-site who haven’t pre-registered.
Module Properties:
- Admin Title: “Onsite New Registration”
- Link Title: “New Student Registration”
- Module Type: “onsite”
- Seq: 30
- Choosable: Yes
- Create new student accounts on-site
- Minimal information required:
- First and last name
- Grade
- School
- Payment status
- Medical/liability status
- Automatically mark as attended and checked in
- Generate temporary password
- Redirect to class selection
onsite_create- Registration form for new students
- Student arrives without pre-registration
- Staff enters basic information
- System creates account
- Student can immediately select classes
- Password reset email sent
OnSiteClassList
File:esp/esp/program/modules/handlers/onsiteclasslist.py
Purpose: Display lists of open classes for onsite registration.
Module Properties:
- Admin Title: “Show Open Classes at Onsite Registration”
- Link Title: “List of Open Classes”
- Module Type: “onsite”
- Seq: 32
- Choosable: Yes
- View all classes with open spots
- Filter by time, category, grade
- See current enrollment vs. capacity
- Real-time updates
- Print class lists
classlist- Main class list viewclasslist_by_time- Classes organized by timeslot
- Class title and code
- Teacher name
- Time and room
- Current enrollment
- Available spots
- Grade range
OnsiteClassSchedule
File:esp/esp/program/modules/handlers/onsiteclassschedule.py
Purpose: Display the full class schedule in various formats.
Module Properties:
- Admin Title: “Onsite Class Schedule Display”
- Link Title: “Class Schedule”
- Module Type: “onsite”
- Seq: 20
- Choosable: Yes
- Grid view of all classes by time
- Filter by category, room, teacher
- Printable format
- Large display mode for posting
Attendance and Tracking
OnSiteAttendance
File:esp/esp/program/modules/handlers/onsiteattendance.py
Purpose: Take and track class attendance during the program.
Module Properties:
- Admin Title: “On-Site Student Attendance”
- Link Title: “Check Student Attendance”
- Module Type: “onsite”
- Seq: 1
- Choosable: Yes
- Mark attendance for individual classes
- View attendance reports
- Track no-shows
- Statistics on class attendance
- Export attendance data
attendance- Main attendance interfaceclass_attendance- Attendance for a specific classattendance_reports- Summary reports
- Teachers mark attendance at start of class
- Track which students attended which classes
- Identify students not attending registered classes
- Generate attendance certificates
Payment Modules
OnsitePaidItemsModule
File:esp/esp/program/modules/handlers/onsitepaiditemsmodule.py
Purpose: Manage onsite purchases and payments.
Module Properties:
- Admin Title: “Onsite Paid Items”
- Link Title: “Sell Items”
- Module Type: “onsite”
- Seq: 15
- Choosable: Yes
- Record onsite purchases (t-shirts, meals, etc.)
- Accept payments
- Update student accounts
- Print receipts
Printing Modules
OnsitePrintSchedules
File:esp/esp/program/modules/handlers/onsiteprintschedules.py
Purpose: Quick printing of student schedules on-site.
Module Properties:
- Admin Title: “Onsite Schedule Printing”
- Link Title: “Print Schedules”
- Module Type: “onsite”
- Seq: 25
- Choosable: Yes
- Search for student
- Print their schedule immediately
- Batch printing for multiple students
- Various schedule formats
Display and Information
BigBoardModule
File:esp/esp/program/modules/handlers/bigboardmodule.py (can be used for onsite)
Purpose: Large display for current and upcoming classes.
Features:
- Current classes in progress
- Next timeslot preview
- Room assignments
- Auto-refresh for projector display
Admin-Accessible Onsite Tools
Many admin modules are also useful during onsite operations:From Admin Modules:
- CommModule: Send announcements to participants
- AdminClass: Make class changes on the fly
- ResourceModule: Reassign rooms
- AJAXSchedulingModule: Fix scheduling conflicts
- ProgramPrintables: Print rosters, schedules, etc.
Student/Teacher Onsite Modules
Some modules in the student/teacher categories support onsite use:StudentOnsite
File:esp/esp/program/modules/handlers/studentonsite.py
Module Type: “learn”
Purpose: Student-facing onsite information and schedule viewing.
TeacherOnsite
File:esp/esp/program/modules/handlers/teacheronsite.py
Module Type: “teach”
Purpose: Teacher-facing onsite information and roster viewing.
Common Onsite Workflows
Student Arrival Workflow
-
Check-in (OnSiteCheckinModule):
- Scan barcode or search by name
- Verify identity
- Check payment status
- Verify forms
- Mark as attended
-
Class Selection (if needed):
- View open classes (OnSiteClassList)
- Help student add classes
- Print schedule (OnsitePrintSchedules)
-
Ongoing:
- Take attendance in classes (OnSiteAttendance)
- Handle schedule changes
- Track student location
Walk-in Student Workflow
-
Registration (OnSiteRegister):
- Create new account
- Collect payment
- Verify forms
-
Class Selection:
- View open classes
- Register for classes
- Print schedule
-
Automatic Check-in:
- Already marked as attended during registration
Teacher Arrival Workflow
-
Check-in (TeacherCheckinModule):
- Verify identity
- Show schedule and room assignments
- Mark as present
-
Support:
- Answer questions about schedule
- Provide room keys/materials
- Handle last-minute changes
Development Notes
Creating a Custom Onsite Module
Onsite Module Best Practices
- Speed is Critical: Onsite tools must be fast and responsive
- Minimize Clicks: Design for efficiency with many users
- Clear Feedback: Provide immediate visual/audio confirmation
- Error Handling: Gracefully handle barcode scanning errors
- Offline Capability: Consider what happens if internet is slow
- Print-Friendly: Many onsite outputs need to be printable
- Large Touch Targets: May be used on tablets/touchscreens
- Barcode Support: Implement barcode scanning where possible
Permission Decorators for Onsite
Common Onsite Patterns
Student Lookup
Barcode Scanning
Record Management
Hardware Recommendations
For optimal onsite operations:- Barcode Scanners: USB or Bluetooth scanners for check-in
- Tablets: For mobile check-in stations
- Receipt Printers: For printing schedules and receipts
- Large Displays: For class schedules and announcements
- Backup Internet: Mobile hotspot in case of WiFi issues