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 AdminMilestonesTemplates
  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 AdminMilestonesSets
  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 AdminEmail 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 AdminReportsMilestones
  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