Migration Overview
Background
On 5 September 2025, Microsoft announced it had brought forward the retirement of Project Online from 2030 to 30 September 2026. From that date, Project Online will be shut down and no longer accessible. All Project Web App (PWA) access, data, and integrations will stop working.
What is being retired?
Project Online will be fully decommissioned. This includes the SharePoint Online project subsites where users store list-based information such as Risks, Issues, Actions, and Project Documentation.
What will remain available?
The following applications will remain available to new and existing customers:
- Project Desktop (Stand-alone and M365 versions).
- Project Server Subscription Edition.
Why is Microsoft retiring Project Online?
Microsoft has stated that the Project Online legacy architecture (built on older SharePoint services) limits the ability to deliver modern cloud, AI, and integration features. Investment is now focused on newer platforms built on the Microsoft Power Platform, Dataverse, and AI-enabled capabilities such as Planner Premium / Project Manager Agent.
The call to action
It is imperative that Partners and customers work quickly and diligently to migrate their data out of Project Online to avoid loss of valuable corporate data.
Altus Migration Solution
Altus has created scripts and a documented approach that enable customers to retain their Project Online data when migrating to Altus PPM.
Data that will be migrated
| Source | Data | Details |
|---|---|---|
| Project Online | Projects | Including custom field data and lookup tables |
| Project Online | Resources | Including custom field data and lookup tables |
| Project Online | Schedules | Including custom field data, resource rates, and baselines |
| SharePoint Online | List items | Including risks, issues, and custom lists |
| SharePoint Online | Documents | Exported for upload to Teams or SharePoint |
Data that won't be migrated
- Workflow History – Captures the history of project approvals as projects progress through stage gates. Given the relatively low frequency of these transactions and small data volumes, this is best addressed as a post-migration activity by aligning projects to the appropriate stage in the Altus Business Process Flow.
- Timesheets – Avoided to prevent significant Dataverse storage cost. Existing actuals are preserved in the .MPP using an assignment-level date field, Protected Actuals Before. This is the date when approved Altus timesheet actuals are first imported to the .MPP file. Setting it at assignment level (rather than task level) caters for actuals being processed by different resources at different dates.
- Portfolio Analyses – The Portfolio Analyser data structure differs significantly from the Altus Strategic Prioritisation module. The effort to re-create this data in Altus is small.
Migration Approach
The end-to-end migration has three key stages:
- Prerequisites – software, accounts, licenses, solution layers, custom fields, and forms must be in place. See Prerequisites.
- Project Online data migration – export Project Online data and import to Altus.
- SharePoint Online data migration – export SharePoint Online list items and documents and import to Altus.
See Migration Process for the full procedure.
Migration Outcomes
After the migration, the following will be in Altus:
- Enterprise resources created as Bookable Resources.
- Projects created in the Initiatives section.
- Schedules migrated to the Tasks section within each Altus project.
- List data migrated to the relevant Altus register (Risks, Issues, custom registers).
- Documents exported and ready for upload to Teams or a SharePoint document library.
OOTB Data Mapping
The OOTB data that is migrated is summarised below. Each table can be extended by modifying the migration scripts (see Migration Reference).
Tables
| .MPP Table | Altus Table |
|---|---|
| Task Entry (Task Level 0) | sensei_project |
| Resource Entry | sensei_bookableresource |
| Task Entry | sensei_task |
Projects
| .MPP Field | Altus Field | Details | Example |
|---|---|---|---|
| Task Name | sensei_name |
Where TaskID = 0 | Adelaide Fitness Project |
| N/A | sensei_projecttype |
Default value set | Major Project |
| N/A | sensei_externalprojectid |
Set the GUID = Project Online GUID | ProjectDesktop_d14bae12-39b3-e911-b07b-00155d9c3f18 |
Resources
| .MPP Field | Altus Field | Details | Example |
|---|---|---|---|
| Name | sensei_name |
First name, surname | Lucius Fox |
| User Logon Account | sensei_user |
First name, surname | Lucius Fox |
| Max. Units | sensei_targetutilization |
Default value set | 100 |
| Type | sensei_resourcetype |
Default value set | Named |
| Role | sensei_primaryrole |
Default value set | Unclassified |
| Calendar GUID | sensei_enterprisecalendar |
Default value set | Default Calendar |
Tasks
| .MPP Field | Altus Field | Example |
|---|---|---|
| Task Name | Name | Identify Goals and Objectives |
| Resource Names | Assigned To | Project Manager |
| Start | Start | 2-12-19 |
| Finish | Finish | 6-12-19 |
| % Complete | Percent Complete | 25% |
| Work | Effort (Hours) | 40 |
| Remaining Work | Effort Remaining (Hours) | 30 |
| Actual Work | Effort Completed (Hours) | 10 |
| Duration | Duration (Days) | 5 days |
| Type | Task Type | Fixed Units |
| Task Mode | Manually Schedule | Yes |
| Notes | Notes | Goals were discussed |
| Deadline | Due Date | 6-12-19 |
| Summary | Summary | No |
| Milestone | Milestone | No |
| Locked | Locked | No |
SharePoint List data
| SharePoint List | Altus Table |
|---|---|
| Risks | sensei_risk |
| Issues | sensei_issue |
OOTB field mappings for Risks and Issues are listed in Migration Reference. Custom lists can be migrated by extending the scripts.
Constraints
| Constraint | Details |
|---|---|
| Bookable Resources | The resource creation process only creates new bookable resources where there is a matching System User in Dataverse. If no system user exists, the bookable resource is not created and any task assignments to that resource will appear unassigned in Altus. Ensure system user records exist in the Power Platform environment where Altus is deployed. |
| Non-text Lookup tables | The Microsoft export scripts do not output data for non-text lookup tables, so these cannot be imported by the Altus scripts. They must be migrated manually. |