Milestone Manager
This page documents the Milestone Manager — the project-tracking subsystem that monitors the completeness of required documents against defined study milestones in SureDrive. It covers the Angular routes and controller, the milestone and required document data model, and the upload flow for required documents.
Overview
The Milestone Manager is visible in the SureDrive Project Dashboard as a summary widget showing milestone names, calendar durations, and completion status. The full manager is accessed via SureDrive → Milestone Manager in the navigation. It tracks whether all required documents for each milestone phase have been uploaded and placed in the correct folder.
Key owning modules:
- UI:
suredms-web-client—network/study/compliance/document-milestone-manager.js - Domain model:
suredms-common— milestone and required document entities
Angular Routes
Milestone states are registered in multiple state files depending on the access path:
Files:
- SC/suredms-web-client/src/main/webapp/app/js/state/app-states-quality.js
- SC/suredms-web-client/src/main/webapp/app/js/state/app-states-management.js
| State | Access Path | Purpose |
|---|---|---|
app.network.quality.browse.milestones | SureDrive → Quality → Milestones | Milestone list from the quality navigation path |
app.network.management.browse.milestones | SureDrive → Management → Milestones | Milestone list from the management navigation path |
Controller
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/compliance/document-milestone-manager.js
Controller: StudyMilestoneManagerController
This controller loads and manages the milestone list. Key responsibilities:
| Method / Feature | Description |
|---|---|
DocumentMilestonesRepository | Data repository used to fetch and update milestone data from the backend |
| Milestone list rendering | Displays milestone name, calendar duration, and completion percentage |
importRequiredDocuments | Initiates the upload flow for a required document via StudyBrowserService |
| Milestone editing | Navigates to the milestone edit sub-state for name, date, and required document configuration |
Milestone Data Model
A milestone represents a phase in the study lifecycle with a defined set of required documents. Key data fields:
| Field | Description |
|---|---|
| Milestone name | Display name for the milestone phase |
| Calendar duration | Planned number of days for the milestone |
| Start / end dates | Date range for the milestone |
| Required documents | List of document types that must be present to consider the milestone complete |
| Completion status | Calculated percentage based on required documents uploaded |
Required Documents
Each milestone carries a list of required document definitions. A required document specifies:
| Field | Description |
|---|---|
| Content type / folder | Which folder in the content model the document must be placed in |
| Document name (optional) | Expected document name or naming pattern |
| Completion flag | Set when a document matching the requirement is found in the specified folder |
Milestone Operations
Creating Milestones
New milestones are created from the Manage Milestones view. Required fields: milestone name, start date, planned duration. After creation, required documents are added by editing the milestone definition.
Editing Milestones and Adding Required Documents
Admins can add required documents to a milestone by selecting a content type from the content model and optionally specifying a document name. Each required document entry appears in the milestone checklist and is marked complete when a matching document is uploaded to the correct folder.
Uploading a Required Document
Help file: Help/contents/Content_Repo/Uploading-a-Required-Document-to-SureDrive_74055801.html
The importRequiredDocuments function in StudyMilestoneManagerController triggers the standard document upload wizard (DriveUploadFilesController) with the required content type pre-selected based on the milestone requirement. On upload completion, the milestone completion status is recalculated.
Milestone Manager Dashboard Widget
The Project Dashboard embeds a summary of the Milestone Manager, showing each milestone's name, current completion percentage, and calendar status. Clicking a milestone navigates to the full milestone detail view.
Help Reference
| Topic | File |
|---|---|
| Milestone Manager overview | Help/contents/Content_Repo/Working-with-the-Milestone-Manager-in-SureDrive_74055732.html |
| Viewing the Milestone Manager | Help/contents/Content_Repo/Viewing_the_Milestone_Manager_in_SureDrive.html |
| Viewing and Managing Milestones | Help/contents/Content_Repo/Viewing-and-Managing-Milestones-in-SureDrive_73859134.html |
| Editing Milestones / Adding Required Documents | Help/contents/Content_Repo/Editing-Milestones-in-SureDrive-and-Adding-Required-Documents_74022988.html |
| Uploading a Required Document | Help/contents/Content_Repo/Uploading-a-Required-Document-to-SureDrive_74055801.html |
| Using Milestone Manager in the Dashboard | Help/contents/Content_Repo/Using-Milestone-Manager-in-the-SureDrive-Dashboard_73924659.html |
Key Source Files Reference
| File | Purpose |
|---|---|
| SC/suredms-web-client/src/main/webapp/app/js/state/app-states-quality.js | Route registration for quality-path milestone states |
| SC/suredms-web-client/src/main/webapp/app/js/state/app-states-management.js | Route registration for management-path milestone states |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/compliance/document-milestone-manager.js | StudyMilestoneManagerController — milestone list, edit, and required document upload |