Many times, project managers tend to create several ‘versions’ of project schedules, before deciding which version should be the final version.

If you are using MS Project 2013 ‘sync’ with SharePoint 2013 (more details here) , there is neat little trick you can use to enable ‘versioning’ on your Project Schedules. (Sorry Project Server folks, this is not for you!)

When you sync your project schedule to the SharePoint task list, the project schedule gets placed in the “Site Assets” library, and it is the ‘master’ copy that the task list will sync to. This way people do not need to maintain the project schedule locally, and then have fidelity issues, sync issues and so on.

image

Now because Site Assets is a document library, that gives us the ability to enable versioning on the library items.

Just navigate to Library Settings >> and Click on Versioning Settings >> Create Major Versions.

image

image

image

You might want to select the other options based on your requirements. Now let’s check out the project schedule file and make some edits.

image

This opens the project in MS Project 2013. Lets add a new task.

image

Once we sync the data, the task will now appear in the task list as we expect it to.

image

You will also see that there are now ‘versions created in the Site Assets library.

image

image

The beauty of this is that you can now ‘restore’ back to any previous version.

image

I restored it back to a version that did not have the new task we added above.

image

Now when you open the project in MS Project 2013, you will be presented with this, showing that there is a conflict.

image

If you choose to keep the MS Project version, just select that option, and sync. Now you will see that the Task list is also updated (i,e, restored to an older version).

Few words of advice:

  • While I was testing this all worked flawlessly on my on-premises Virtual Machine, but I had some quirky issues getting it work in Project Online. If you notice any issues, please let me know, and I will try my best to replicate and troubleshoot.
  • Once you have “Actuals” in your plan/ task list, be careful as to this option’, as restoring to previous version means you might also lose the ‘delta’ of actual information.
  • As always, do not just jump and do this on a live project. Test it first in your demo/dev environments and make sure it works for your scenario.