Skip to main content

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​

ComponentDescription
TemplatesMilestone definitions
InstancesAssigned milestones for specific students
SetsGroups of related milestones
ApprovalsReview 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​

CategoryExamples
thesis_progressDraft submission, data collection
committee_formationCommittee selection, approval
defenseProposal defense, final defense
annual_reviewYearly progress review
administrativePaperwork, registrations
presentationConference talks, lab meetings
submissionPaper submissions

Creating Templates​

  1. Go to Admin → Milestones → Templates
  2. Click Create Template
  3. Fill in template details
  4. Define approval workflow
  5. Add form fields (if needed)
  6. 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​

  1. Go to Admin → Milestones → Sets
  2. Click Create Set
  3. Name and describe the set
  4. Add templates to the set
  5. Set order and dependencies
  6. Save

Milestone Instances​

Assigning Milestones​

When a student enters a program or starts thesis:

  1. System creates instances from templates
  2. Instances are linked to the student
  3. Deadlines are calculated
  4. Approvers are determined

Instance States​

StateDescription
not_startedMilestone not begun
in_progressStudent working on it
submittedAwaiting review
under_reviewBeing evaluated
revision_requestedNeeds changes
approvedCompleted successfully
completedFinalized
exemptedRequirement exempted
waivedRequirement waived

State Transitions​

not_started → in_progress → submitted → under_review
│
┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
revision_requested approved rejected
│ │
│ ▼
└────────────────► completed

Approval Workflow​

All approvals run through the unified workflow engine (Workflow → WorkflowInstance → StageInstance → StageApproval). When a student submits something for review, the entity itself simply carries the status submitted — per-approver progress is tracked on StageApproval records, each of which moves through:

Approval statusMeaning
pendingAwaiting this approver's decision
approvedThis approver signed off
rejectedThis approver rejected
revision_requestedThis approver asked for changes
delegatedPassed to another approver

Approval Roles & Ordering​

Who approves each stage (advisor, committee members, program committee, department admin) and whether they act sequentially or in parallel is defined on the Workflow itself — workflow definitions are seeded at application boot and managed in the program consoles' Workflows tab. Approver assignment is resolved automatically per entity (e.g., the student's advisor, the relevant committee group).

To change an approval chain, edit the workflow's stages and approver roles in the Workflows tab rather than per-milestone configuration.

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:

  1. Go to Admin → Email Templates
  2. Create template for milestone event
  3. Link template to milestone
  4. Configure recipients

Reporting​

Milestone Reports​

Generate reports showing:

  • Milestone completion rates
  • Overdue milestones
  • Approval timelines
  • Student progress summaries

Accessing Reports​

  1. Go to Admin → Reports → Milestones
  2. Select report type
  3. Filter by program, date, status
  4. Export as needed

Troubleshooting​

Milestone Not Appearing​

  1. Verify set is assigned to student
  2. Check instance was created
  3. Confirm student has correct role
  4. Review visibility settings

Approval Stuck​

  1. Check all required approvers
  2. Verify approver has permission
  3. Review approval configuration
  4. Manually advance if needed