This is part of a series on syncing an MS Project file to SharePoint. Visit part 3, configuring your plan, next.
In a previous post, I explained how you can sync a Microsoft Project MPP file to a SharePoint Task List to avoid “the Project paradox”, where you don’t have enough licenses to Project for all your team members to view or edit your project plan, and management won’t approve more licenses.
It’s a great solution. But, 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.
Below are a few items that I think are worth reviewing before jumping into the deep end of a SharePoint-Project sync setup.
Creating and changing tasks is supported, deleting seems limited
Within SharePoint, you can create and edit tasks and they will then update in the MPP. You can also create, edit, and delete tasks in the MPP and those updates will sync to SharePoint and reflect correctly.
Note that I didn’t include deletions from SharePoint. I have no idea why, but in all my testing whenever I deleted a task in SharePoint, it did not reflect in the MPP. Eventually it would get re-added to SharePoint because, well, the item still exists in the MPP and the MPP periodically syncs.
I’m not sure if this is how it’s supposed to work. But I can tell you for certain that the dozen or more times I tested this function, deleting a task in SharePoint did not delete the task in Project.
Predecessors and successors are supported
In fact, Task Lists support predecessors and successors natively, so I shouldn’t be as surprised as I am that the predecessor/successor feature works flawlessly in SharePoint. Call me a cynic.
Resource names must be people to sync
Resource names are partially supported. If you use a person’s name in the MPP, it will sync to the “Assigned To” field in SharePoint.
Because this field is a “People or group” column, only actual names will sync to SharePoint. Type the names in the MPP exactly as they appear in SharePoint and SharePoint will make an active link to the user’s My Site or Delve page in the Task List. This field is also necessary for the “My Tasks” view (more on this below).
If you don’t use an actual user name from the system in the MPP, you’ll get the error shown below (which you can just click “OK” on) and the field will be blank in the Task List. However, you can create a new field if you want to use “Contractor”, “Vendor”, or other names and map it to a new column in the Task List (more info on mapping columns further down).
Note that if you don’t “fix” your resources to be 1) blank or 2) actual user names, you’ll get this warning every time you sync the MPP to SharePoint. It’s annoying.
And no, you can’t do any Resource calculations in SharePoint itself. Stick to your MPP for that.
Auto-scheduling is supported
Auto-scheduling, although not actually supported in a Task List, will work correctly if it’s enabled in your MPP.
If you make a change to a date in SharePoint, it will sync to the MPP, which then will update the auto-schedule and re-sync back to SharePoint. I’ve found that if you make a date change in SharePoint, you should open the MPP, allow the auto-update to occur, then save the MPP so it will sync to SharePoint and update the dates.
A practical example: your team is having a weekly project update meeting and reviewing all the tasks coming up in the next month. Dates are being changed based on given status updates. These dates can be made in SharePoint without issue. But once the meeting is over, the PM should open the MPP, let the auto-schedule updates work their way through, then save the MPP so it syncs back to SharePoint and corrects all future dates.
One caveat: I don’t know what happens if you make a change to the dates of two tasks that cause a conflict in the future. SharePoint will have no issue with it (because it’s dumb and doesn’t know about auto-scheduling), but Project may give an error (because it’s smart and does the actual calculations). You’ll have to let me know if you run into this.
Sub tasks (indented tasks) are supported
I’ve tested an MPP with tasks that were indented at least six levels and they work. The reason I was testing was because I wasn’t sure if the Task List was “grouping” the sub tasks the way SharePoint views normally group items. And if you know anything about SharePoint views and grouping, you know you can only go two levels deep.
Fortunately, it appears the Task List is not “grouping” the tasks the way SharePoint lists normally do, so you will see subtasks down to at least six levels indented correctly. If you test further and get lower than that, let me know and I’ll update this post.
Mapping columns in Project to columns in Task Lists is supported
You are able to map a specific column that you use in your MPP to a column in the SharePoint Task List. To do so, you’ll have to ensure the source and destination columns are created appropriately in both Project and SharePoint. I covered how to map columns in my post on configuring your solution.
Beware the 5,000-item list view threshold
SharePoint is hindered by a major limitation that even its loudest evangelists will admit: you can’t view more than 5,000 items in a list or library view at a time (even though a library, which is a type of list, can contain millions of files). It’s called the list view threshold and it’s SharePoint’s Achilles Heel.
How does that affect your potential Project-SharePoint sync? Try not to go over 5,000 tasks in your project. If you do, don’t expect to ever see them all in one view again (at least not in SharePoint). Use your views to filter out tasks so you don’t see them all the time.
It’s not like SharePoint will just show you the first 5,000 and let you go about your business, either. It literally pops up an error and won’t load the page. So keep your tasks under control if you want this to work.
Linked Project files aren’t supported
If you have a Project file that calls other Project files for input or tasks, SharePoint won’t read the linked tasks and will pop up an error. In fact, you’ll be hit with an error that tells you the wrong thing, so be prepared.
Slow syncs with more than 100 tasks
If you have more than 100 tasks, your sync may take some time. Project even gives you a heads-up on that with a separate pop-up. It doesn’t impact the functionality (not like the 5,000 limit), but it may impact your timing if, say, you’re trying to update the SharePoint list right before your weekly project status meeting.
The Microsoft documentation says “severe performance issues” appear with 1,000 tasks, but the actual warning from Project says 100 tasks will begin to hit you. Oh wait, this Microsoft documentation says “expect things to go a little slower” when syncing more than 100 tasks. Who knows…
Sync appears to be all or none
I don’t see an option for only syncing certain tasks from an MPP. If you want to have a less detailed view of your MPP in SharePoint, you may want to create a separate MPP and link only the tasks you’d like to see, then sync that to SharePoint. As noted above, you’ll see an error pop up, but it should still work. You’ll want to test first, though.
Let me know if you find a way to pick and choose what syncs.
Go ahead, use your Mac
You can’t use MS Project on a Mac, even if you have a license to the software. It’s just not a Mac program (and likely never will be). But, SharePoint is good in almost any browser, Mac or PC. So if you have Mac users on your team, they now gain the ability to view and update tasks in the Task List, which will sync to your master MPP.
Beware special characters
SharePoint can only accept certain characters, so ensure you won’t have any of those characters in the MPP before you sync to SharePoint. Also, don’t add any of these special characters to the MPP as you’re working in it over time. I’m also told any punctuation will cause an error that’s difficult to understand if you don’t know why it popped up.
Make sure to review Microsoft’s official documentation on how to do this. You may learn another thing or two from them.
Next up, let’s talk about how to get this new connection fully configured and customized for your situation.