This is part of a series on syncing an MS Project file to SharePoint. Visit part 2, limits and supported functionality, next.
No, I’m not saying a simple SharePoint Task List can replace Microsoft Project. I’m saying you, the project manager, can use a simple SharePoint Task List to let everyone on your team view and update a Project file without the need for a Project license, while you keep control of the MPP (that’s Project’s proprietary file type).
If you are a project manager or work with them — especially PMI-certified Project Management Professionals (PMPs) — you probably run into what I like to call “the MS Project paradox”: you don’t have enough licenses to Project for all your team members to view or edit your files, and management won’t approve more licenses.
MS Project is a super powerful tool, but as such, it’s not cheap; at the time of publishing this post, an individual license to Project Professional 2016 is $1,160, likely more if purchased for an business situation.
So how do you make sure everyone can see the status and make updates?
The typical situation I’ve run into is the PMs have Project, but few others do because it’s hard to justify a full Project license for someone who only needs to view the plan or make some status updates only occasionally. But time would definitely be saved if everyone could open the file and/or make updates themselves.
That includes project team members who need to make regular status updates, but how about that executive in the company that likes getting detailed updates on your project occasionally? Could you ever justify buying a Project license for their once-per-month review habits? Better yet, would you ever trust them to even open your Project file and not break your baby?
Because of all that, it always seems wherever an MPP file exists, a PDF version of that MPP also lives nearby because so many people can’t open the MPP. But thanks to SharePoint, that’s no longer necessary!
You can get around the Project paradox if you connect your MPP to a SharePoint Task List. It gives the PM the ability to control the MPP file and syncs the information to the Task List so anyone with the correct access to the Task List can view statuses or make updates that sync to Project. And the sync is two-way.
If you’re using SharePoint Online (part of Office 365), you can even provide no-cost access to external colleagues including vendors, sub-contractors, clients, customers; basically, anybody with an email address.
It’s an ingenious way to get around the MS Project paradox.
Alright, let’s get our hands dirty in the awesomeness of this solution. You have three options for syncing between SharePoint and Project. You can:
- Create a site from the MPP: Take an MPP and have SharePoint create a site based on it. [I highly recommend this]
- Sync MPP to existing SharePoint site: Sync an MPP to a Task List in a SharePoint site, either one you’re already using or one you create just for this. [I recommend if it’s necessary]
- Sync SharePoint to an MPP: Sync an existing Task List in a SharePoint site to a new MPP. [I recommend against this]
I’ll cover how each of these work, along with my thoughts, opinions, and some caveats, below.
In the screenshots below, I used an example construction project MPP file found at this website. My MPP is shown below. It had 100+ tasks, and it had tasks that were indented at least three levels. Most, if not all items have predecessors and successors. All have resources identified.
Create a site from an MPP
If you have an MPP that you’re currently using or building for the project you’re leading, you can have a SharePoint site created from scratch based on the MPP file.
I recommend this method. It’s easy, clean, and keeps all your project-related content in one place. The other two options (covered below) are harder to keep organized because you’re not starting from scratch.
First, I suggest that the MPP you’re using be generally fleshed out and contain all the columns you want it to have before pushing the first sync.
“But we want to build the MPP after and build the site now” or “But we don’t have enough info for the MPP yet; let’s just get the site going first.” Fine, but I still say you should get your project plan down first, then build your solution on known entities. Business analysis best practices and all; just sayin’.
Second, the person doing this must have 1) a Microsoft Project Professional license and 2) the ability to create a site in SharePoint. It’s best if the PM and the Site Owner (or IT admin) sit down and do this together so all i’s are dotted and t’s crossed.
If you’re the PM, get the power to create a site from your SharePoint admin. If you’re the admin, get a temporary license to Project if you don’t already have one. And both of you do this together over screen share or in person. Once the first sync is pushed, you (as the PM with a Project License) no longer need to have the access to create a site. However, you do need to retain at least Designer permissions on the site indefinitely (Site Owner/Full Control is even better).
Third, if you’re using people’s names as resources in the MPP, ensure they’re entered exactly as they appear in SharePoint. Happily, SharePoint recognizes the user names and adds them in a people field in the Task List. This will also work for external users in SharePoint Online, presuming they’ve accepted at least one invitation to view content in your SPO system in the past.
Fourth, by creating the site from an MPP, SharePoint will store the master copy of your MPP in SharePoint. Once the site is created, you should delete the local copy of the MPP file because it’s not actually connected to SharePoint.
To find your master file once the site is created, go to Site contents > Site Assets. Your MPP will be there.
Here’s how to create the site:
- Open the MPP.
- Click File > Save As.
- Choose the “Sync with SharePoint” option. In the “Sync with SharePoint Tasks List” section, choose “New SharePoint Site” under “Sync with”, type in a name in the “Project name” field, and type in the address of the parent site where you’re going to create this site as a sub-site.
4. Click Save.
5. Allow SharePoint and Project to sync.
6. Once the sync is completed, your browser should open the new site automatically. If it doesn’t, browse to the new site. The home page will contain a dashboard view of your plan.
7. Browse to Site contents. Confirm that a new Task List has been created and contains all the tasks from your MPP. Then check Site Assets and confirm the MPP has been uploaded there.
8. Delete or archive the MPP file you used to create the site. This file is replaced by the version in the Site Assets library. Only make updates to the master version in your Site Assets library.
Your new project site can now be used to track progress, but it can also be used like any other SharePoint site. Create document libraries, team calendars, workflows, and provide permissions as you please. It’s a nice way to keep all project information in one central place.
Sync MPP to existing SharePoint Task List
This second option lets you sync an already-existing MPP to an already-existing SharePoint Task List. This is not my recommended method, though it’s a good back-up option if the sync-to-a-new-site method above doesn’t meet your needs.
In this situation, you’d have an MPP that you’ve already fleshed out or are using actively, and you sync the content to a new/blank Task List in a SharePoint site your team is already actively using. (I haven’t tried syncing an existing MPP that has content to an existing Task List that has content. I don’t recommend trying that.)
You’d likely do this in a situation where your team already has a productive and useful SharePoint site and creating it from scratch (or migrating the content to a new site created with an MPP, as described above) doesn’t make sense.
First, you need to choose a site you want to sync to. Likely you’ll use whichever site your project team is already using to store files, create calendars, etc. In this site, you’ll have to create a new Task List. To do so, you likely have to be a Site Owner; if you’re not, contact the Site Owner to do this for you.
Second, if you’re using people’s names as resources in the MPP, enter or update them in the MPP so the look exactly as they appear in SharePoint. Happily, SharePoint recognizes the user names and adds them in a people field in the Task List. This will also work for external users in SharePoint Online, presuming they’ve accepted at least one invitation to view content in your SPO system in the past.
Here’s how to sync the first time:
- Open the MPP.
- Click File > Save As.
- Choose “Sync with SharePoint”. In the “Sync with SharePoint Tasks List” section, choose “Existing SharePoint Site” under “Sync with”, type in the address of the site where you or your Site Owner created the Task List (yes, the Task List must already exist), then click “Verify Site”. Once Project has connected to the site, choose the name of the Task List from the drop-down menu under “Tasks List”.
Note that the URL needs to point to the site’s general home address, not the Task List itself. If you start from the blank task list and the URL is something like
you only want the part that goes up to …/teamsite/. So only enter
https://[companyname].sharepoint.com/teamsite in the “Site address” box.
4. Click Save.
5. Allow SharePoint and Project to sync.
6. Once the sync is completed, browse to the Task List and check that all the tasks have been synced from Project.
With this option, it doesn’t matter where the MPP lives. You can keep it in the SharePoint site (recommended) or elsewhere. Every time you want to sync, you’ll have to do the File > Save As > Sync to SharePoint option. Though your site info should be there moving forward.
Sync existing SharePoint Task List to a new MPP
This third option lets you sync an already-existing SharePoint Task list to an MPP file. I don’t recommend this method.
In this situation, you’d likely have a Task List you’ve been using because it’s the easiest way to have relatively complex project plan without the need for expensive Project Licenses. You as a PM may have Project, but couldn’t use it because of licensing limitations for your team members who needed to see or update progress.
Well, now you can get the benefits of Project by basically importing the simpler SharePoint tasks into Project where you can manipulate them using Project functions, and sync what everyone else needs to see back to SharePoint while maintaining the ability for everyone to view and edit content when they need to provide updates.
I haven’t tried syncing an existing Task List to an MPP that also has content (basically, a merge). I don’t recommend trying that.
Overall, I don’t recommend this method because it’s not as clean as the others. It takes SharePoint data and Project-izes it rather than taking good, complex Project data and SharePoint-izing it.
I think of it like taking a small photo and enlarging it: you get a larger photo, but the image is blurry because the details provided in the small version are lacking. Shrinking a high-resolution photo, on the other hand, takes good, complex data and simplifies it cleanly. So, I say always start with Project and push to SharePoint.
That said, here’s how to sync your Task List with Project:
- From the Task List, point to the Ribbon and click List > Open with Project.
2. Perform your updates in Project, then click Save and the info should be synced to your Task List.
Limits and supported functionality
Now, before you get too excited, let’s acknowledge that Project is a pretty intense program, so it can do a lot of complex things. SharePoint’s not so complex when it comes to Task Lists.
I was skeptical about how much SharePoint could really support, but I was pleasantly surprised to see how much SharePoint could do when I tested and ran my own Project-SharePoint sync.
Take a look at my post on the limits and supported functionality of the SharePoint–MS Project sync solution. You should definitely review this before making any big decisions. Don’t be that guy/gal who jumps into the deep end without swimmies.
Project only syncs certain fields to a SharePoint Task List automatically, but you can take custom columns in Project and sync them to custom columns in SharePoint as well. See my post on limits and supported functionality for more details on how to do that.
Using your new Project-SharePoint project plan
This post covers how to create your synced MPP-Task List. But you and your project team members need to also know how to view, update, and use your solution on a day-to-day basis. Read and share my later post in this series to understand how to use this solution to run your project and get the most out of your team members taking responsibility for updating the plan moving forward.
- The official Microsoft article on this subject is here. It’s worth the read.
- I used Microsoft Project Professional 2013 and SharePoint Online in classic experience mode for all screenshots. Microsoft indicates you need Project Professional 2013 or 2016 or Project for Office 365 AND SharePoint Server 2013 or 2016 or SharePoint Online.
- The MPP file I used came from b4ubuild.com. Many thanks to them for providing a great starter MPP for real-world applications that I could use to test this out.
- I have no idea how this process interacts or works with the SharePoint Online Modern List Experience. Tread carefully if your tenant has been upgraded.
- I have no idea what happens if you move the MPP file from the Site Assets library to a new library. I suggest not doing it.