Accessing the Program Creation Form
Navigate to the program creation form:You must have administrator permissions to create programs.
Using a Template Program
The easiest way to create a new program is to use a previous program as a template. At the top of the form, you’ll see a dropdown menu to select a template:- Program settings: Name format, grade range, program size
- Registration dates: Student and teacher registration windows
- Costs: Base program cost and sibling discount
- Teacher class registration settings: All customizations from ClassRegModuleInfo
- Student class registration settings: All customizations from StudentClassRegModuleInfo
- Tag settings: Configuration tags (with some exceptions)
- Module configuration: Enabled modules, sequence numbers, and required status
What Gets Copied from Templates
When using a template, these settings are automatically imported:Module Settings
Module Settings
- Which modules are enabled
- Module sequence numbers (display order)
- Required vs. optional modules
- Module-specific configuration (CRMI, SCRMI)
Tags
Tags
Registration Settings
Registration Settings
- Teacher class registration customizations
- Student class registration customizations
- Capacity multipliers and offsets
- Priority limits
- Signup verbs and registration types
Program Creation Form Fields
The form is organized into fieldsets covering different aspects of your program:Basic Information
Program Type
Select the type of program:
- Splash: Standard weekend program
- HSSP: Longer-term Saturday program
- Junction: Extended after-school program
- Custom types specific to your organization
/learn/[program_type]/[instance]Program Instance
A short identifier for this specific instance (e.g., “2024_Fall”, “Summer2024”).Should be unique within the program type.
Grade Range
Define which grades can participate:- Grade Min: Lowest grade level (typically 7 for middle school programs)
- Grade Max: Highest grade level (typically 12 for high school programs)
- Filter students during registration
- Populate grade selection dropdowns
- Determine class eligibility
Program Size
Optional field to set expected capacity. Used by:- Phase Zero lottery (student selection)
- Capacity planning
- Statistics and reporting
program_size_by_grade tag.
Registration Dates
Set the overall registration windows:Student Registration
Student Registration
Student Reg Start: When students can begin registeringStudent Reg End: Last day for student registrationThese create the foundational student deadlines. You’ll refine specific features (profile editing, class selection, payment) through the deadline management interface after program creation.
Teacher Registration
Teacher Registration
Teacher Reg Start: When teachers can begin submitting classesTeacher Reg End: Last day for teacher class submissionSimilar to student registration, you’ll set specific deadline types (class creation, availability, bio) through deadline management.
9/1/2024(midnight)9/1/2024 17:30(5:30 PM)
Program Costs
Base Cost
Base Cost
The standard admission price in dollars (without the $ symbol).Creates a line item type called “Program admission” that appears on student invoices.Set to
0 for free programs.Sibling Discount
Sibling Discount
Discount amount (in dollars) for students with siblings also attending.When enabled:
- Creates a “Sibling discount” line item type
- Students can specify siblings during registration
- Discount automatically applies to invoices
- Appears as option in StudentExtraCosts module
0 to disable sibling discounts.Program Modules
Select which modules to enable for this program. Modules are grouped by category:Student Modules
Student Modules
Features for student registration:
- Student Profile Editor
- Student Class Registration
- Financial Aid Application
- Optional Items for Purchase (meals, t-shirts)
- Student Acknowledgement
- Donation Module
- Student Surveys
- Student Onsite Webapp
Teacher Modules
Teacher Modules
Features for teacher registration:
- Teacher Profile Editor
- Teacher Signup Classes
- Teacher Availability
- Teacher Biography
- Teacher Training/Interview Signups
- Teacher Preview (view other classes)
- Teacher Quiz
- Teacher Acknowledgement
- Teacher Onsite Webapp
Management Modules
Management Modules
Admin tools (most should be enabled):
- AdminCore (required - provides dashboard)
- AdminClass (required - class approval and management)
- JSONDataModule (required - data for other modules)
- AdminVitals (statistics)
- CommModule (email communication)
- ResourceModule (timeslots, classrooms)
- AjaxSchedulingModule (class scheduling)
- SchedulingCheckModule (validate schedule)
- ProgramPrintables (PDF generation)
- ListGenModule (user lists/exports)
- And many more…
Onsite Modules
Onsite Modules
Day-of-program features:
- OnsiteCore (required if using any onsite features)
- OnSiteCheckinModule (student check-in)
- OnSiteClassList (class changes grid)
- OnSiteClassSchedule (schedule modifications)
- OnsitePaidItemsModule (view purchases)
- OnsitePrintSchedules (automated printing)
- OnSiteRegister (walk-in registration)
Volunteer Modules
Volunteer Modules
Volunteer management:
- VolunteerSignup (volunteer registration)
- VolunteerManage (admin volunteer scheduling)
If you select a template program, module selections will be ignored and the template’s modules will be used instead.
Creating the Program
After filling out the form:Review All Fields
Double-check all information, especially:
- Program name and instance
- Registration dates
- Grade range
- Costs
- Director email
Automatic Setup
The system will:
- Create the program database entry
- Generate initial deadlines from registration dates
- Enable selected modules (or copy from template)
- Create default resource types (from
default_restypestag) - Set up ClassRegModuleInfo and StudentClassRegModuleInfo
- Create mailing lists (if Mailman is configured)
Immediate Next Steps
After creating a program, complete these essential tasks:1. Set Up Timeslots
In the Resource Module:- Create timeslots for your program
- Specify start and end times
- Or import from a previous program with the same number of days
2. Configure Classrooms
Add classrooms with:- Room name/number
- Capacity (number of students)
- Resources (projector, whiteboard, etc.)
3. Refine Deadlines
Visit the dashboard and click “Deadline Management” to:- Add specific deadline types (Student/Classes, Teacher/Classes, etc.)
- Set precise opening and closing times
- Create deadlines for surveys, payments, etc.
4. Customize Module Settings
Many modules have additional configuration:- Edit program module objects at
/admin/modules/programmoduleobj/ - Set sequence numbers (display order)
- Mark modules as required or optional
- Add required labels (e.g., “Required for outside teachers”)
5. Configure Module-Specific Settings
Depending on which modules you enabled:- ClassRegModuleInfo at
/admin/modules/classregmoduleinfo/ - StudentClassRegModuleInfo at
/admin/modules/studentclassregmoduleinfo/ - Create Tags at
/admin/tagdict/tag/for advanced customization
Mailing Lists
If Mailman is configured, the system automatically creates:- Moderator: Program director email + mailman_moderator address
- Subscribers: Director email + archive address (if configured)
- Settings: Loaded from
lists/program_mailman.config
Advanced: Program Tags
After creation, you can add program-specific tags for fine-grained control:require_school_field: Make school required in student profilerequire_guardian_email: Require parent emailallow_change_grade_level: Let students change gradestudentschedule_show_empty_blocks: Show timeslots without classesdonation_settings: Customize donation optionsstripe_settings: Override Stripe module defaults- And many more…
/admin/tagdict/tag/, selecting:
- Content type: Program
- Object ID: Your program’s ID (from
/admin/program/program/)
Cloning Programs
To create similar programs efficiently:- Create one program fully configured
- Use it as a template for subsequent programs
- Only update dates, names, and program-specific settings
- Verify module settings are still appropriate
Troubleshooting
Teachers can't create classes
Teachers can't create classes
Verify:
- Timeslots have been created in the Resource Module
- Teacher registration deadlines are open
- TeacherClassRegModule is enabled
Students can't see the catalog
Students can't see the catalog
Check:
- Classes have been approved (status = accepted)
- Classes have been scheduled to timeslots
- Student registration deadline is open
- StudentClassRegModule is enabled
Dashboard shows no statistics
Dashboard shows no statistics
Ensure:
- AdminVitals module is enabled
- JSONDataModule is enabled
- Users have actually registered
Next Steps
Program Modules
Learn about each module and how to configure them
Customize Theme
Set up your program’s appearance and navigation