Milestone System
The milestone system tracks student progress through program requirements, thesis stages, and other academic checkpoints.
Overview
What Are Milestones?
Milestones are:
- Defined checkpoints in academic progress
- Trackable with submission and approval workflows
- Configurable for different programs
- Triggering notifications and reminders
Milestone Components
| Component | Description |
|---|---|
| Templates | Milestone definitions |
| Instances | Assigned milestones for specific students |
| Sets | Groups of related milestones |
| Approvals | Review workflow for submissions |
Milestone Templates
Template Properties
Each template defines:
- Name - Milestone title
- Description - What's required
- Category - Type of milestone
- Applicable To - Who it applies to
- Approval Requirements - Who must approve
- Form Schema - Data to collect
- Deadline Rules - When it's due
Categories
| Category | Examples |
|---|---|
thesis_progress | Draft submission, data collection |
committee_formation | Committee selection, approval |
defense | Proposal defense, final defense |
annual_review | Yearly progress review |
administrative | Paperwork, registrations |
presentation | Conference talks, lab meetings |
submission | Paper submissions |
Creating Templates
- Go to Admin → Milestones → Templates
- Click Create Template
- Fill in template details
- Define approval workflow
- Add form fields (if needed)
- Save
Milestone Sets
What Are Sets?
Sets group related milestones:
- Honors Thesis Set - All thesis milestones
- PhD Year 1 Set - First-year requirements
- Annual Review Set - Yearly checkpoints
Creating Sets
- Go to Admin → Milestones → Sets
- Click Create Set
- Name and describe the set
- Add templates to the set
- Set order and dependencies
- Save
Milestone Instances
Assigning Milestones
When a student enters a program or starts thesis:
- System creates instances from templates
- Instances are linked to the student
- Deadlines are calculated
- Approvers are determined
Instance States
| State | Description |
|---|---|
not_started | Milestone not begun |
in_progress | Student working on it |
submitted | Awaiting review |
under_review | Being evaluated |
revision_requested | Needs changes |
approved | Completed successfully |
completed | Finalized |
State Transitions
not_started → in_progress → submitted → under_review
│
┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
revision_requested approved rejected
│ │
│ ▼
└────────────────► completed
Approval Workflow
Approval Roles
| Role | Description |
|---|---|
advisor | Primary thesis advisor |
committee_member | Thesis committee member |
committee_chair | Committee chair/advisor |
department_admin | Department staff |
department_chair | Department chair |
Approval Order
Configure approval sequence:
- Sequential - Approvers review in order
- Parallel - All approve simultaneously
- Any - Only one approval needed
- Majority - Most must approve
Configuring Approvals
- Edit milestone template
- Go to Approval Configuration
- Add approval roles
- Set order type
- Configure notification triggers
Deadlines and Reminders
Deadline Calculation
Deadlines can be:
- Fixed Date - Specific calendar date
- Relative - Offset from another date
- Rolling - Repeating interval
Reminder Configuration
Set up automatic reminders:
- Days before deadline
- Reminder frequency
- Notification channels (email, in-app)
- Escalation rules
Example Configuration
Defense Milestone:
Deadline: Thesis submission date + 30 days
Reminders:
- 14 days before: First reminder
- 7 days before: Second reminder
- 1 day before: Final reminder
Escalation:
- Overdue: Notify advisor
Form Schemas
Custom Fields
Milestones can collect data:
- Text responses
- File uploads
- Date selections
- Checkboxes
- Signatures
Schema Definition
Define fields in JSON schema format:
{
"type": "object",
"properties": {
"abstract": {
"type": "string",
"title": "Thesis Abstract"
},
"defense_date": {
"type": "string",
"format": "date",
"title": "Proposed Defense Date"
}
}
}
Notifications
Notification Events
Automatic notifications for:
- Milestone assigned
- Deadline approaching
- Submission received
- Approval required
- Status changed
- Revision requested
Email Templates
Each event can use custom email templates:
- Go to Admin → Email Templates
- Create template for milestone event
- Link template to milestone
- Configure recipients
Reporting
Milestone Reports
Generate reports showing:
- Milestone completion rates
- Overdue milestones
- Approval timelines
- Student progress summaries
Accessing Reports
- Go to Admin → Reports → Milestones
- Select report type
- Filter by program, date, status
- Export as needed
Troubleshooting
Milestone Not Appearing
- Verify set is assigned to student
- Check instance was created
- Confirm student has correct role
- Review visibility settings
Approval Stuck
- Check all required approvers
- Verify approver has permission
- Review approval configuration
- Manually advance if needed