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

State Transitions

not_started → in_progress → submitted → under_review

┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
revision_requested approved rejected
│ │
│ ▼
└────────────────► completed

Approval Workflow

Approval Roles

RoleDescription
advisorPrimary thesis advisor
committee_memberThesis committee member
committee_chairCommittee chair/advisor
department_adminDepartment staff
department_chairDepartment 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

  1. Edit milestone template
  2. Go to Approval Configuration
  3. Add approval roles
  4. Set order type
  5. 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:

  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