It has almost been two years since Microsoft released a new feature (https://blogs.office.com/en-us/2015/12/03/3-new-enhancements-to-project-online/?eu=true) that creates a unique Project ID upon creation of each project.
This allows for the Project Name to be changed whilst still maintaining a unique reference to the project.
Prior to this new feature being released, other custom solutions were often used to implement this feature.
However, here are a couple of points to note about Microsoft’s implementation:
- The project ID can inadvertently change! This is the focal point discussed in this blog.
- The Project ID field is represented by the name in [ProjectIdentifier] in an oData query. It is NOT the [ProjectID] field.
- To update the Project ID field, I recommend adding this field to a PDP. I could not find any way of finding the ProjectID of a project using the MS Project client application.
- The value is not stored in a custom field. It is an OOTB field like Project Name
One reason why the Project ID may inadvertently change
We had a client who would periodically ask EPM Partners for assistance on restoring the Project ID to its correct value. They stated the Project ID would change sporadically but only for a couple of specific projects and would do so randomly.
Several attempts were made to reproduce this issue and eventually we were successful. If the project schedule is saved as a local .mpp file and then saved back up to Project Online, then the ProjectID will change.
The above scenario plays out a lot more often than one might think. Many Project Managers are not trained well on how to use Project Online/Project Server. They may have significant experience with MS Project client (aka Project Professional) but not in conjunction with Project Server. Such experience entrenches the behaviour to save files locally, work on them at home, and then when back in the office to overwrite the schedule on the server file share.
Overwriting a project schedule on Project Online with a local copy, not only just wipes the ProjectID field, but can potentially also change many other custom field values. Depending on the steps followed it can even change the underlying unique task IDs, which is a real pain if the organization is using timesheets extensively.
I mentioned above, that I recommend adding this field to a PDP to enable editing of the Project ID. Since you wouldn’t normally want to be able to edit the Project ID field, adding the Project ID field to a PDP would only be done temporarily to fix an issue. Once the issue is fixed, then certainly remove the field from the PDP afterwards.
Reproducing the issue step by step
- I created two projects. You will note that the [Project ID] field values are FP1000 and FP10001.
- I have now opened the ProjectID Testing 01 project using MS Project client and have added a task.
- I will now save the file locally to my desktop. File menu >> Save As >> Save
- Now click on the Save as File button and then OK.
- I have now saved the file as an .mpp file type on my PC.
- Now it’s time to upload the project back up to Project Online and overwrite the schedule store there. So once again, File >> Save AS >> Save
- Be sure to enter the exact same name in the Name field.
- Click Yes when prompted with this message.
- Now we need to Publish the project in order to see the Project ID field change.
- Now when we view the Project Center, we shall see the Project ID has changed. ☹