Check out the MS Project Podcast

MS Project Podcast - On the airEarlier in the week I was lucky enough to be interviewed for the MS Project Podcast by Prasanna Adavi and David Fletcher.

The interview was a little about Nintex Workflow for Project Server, some Office 365 and a fair dose of my love of all things Project Server.

The episode is available at ttp:// or you can subscribe to the ongoing podcast at

This is a great initiative by Prasanna and David and I encourage you all to get subscribing and sharing your Project stories with them Smile


Have your say.. SharePoint & Project Server App Development

Thanks to Jeremy Thake for the heads up, but I thought I would repost this here to alert some of the Project Server community that build apps for SharePoint and Project Server and read this blog.

Microsoft have launched a public UserVoice community to collaborate on feedback for the SharePoint app model moving forward. If you’re not familiar with UserVoice, it allows you to submit ideas and vote & comment on other user ideas.

Welcome to the Office Developer Platform UserVoice!

Let us know what you would like to see in future versions of the Apps for Office and SharePoint APIs and capabilities, MSDN documentation, code samples, and architecture guidance. This site is for suggestions and ideas.

There are already some great items up there, including a couple I have submitted.


Office App Development UserVoice Community

If you’re developing apps for SharePoint or Project Server, make sure you get involved and be heard.

Hiding buttons in Project Online

A common requirement from customers is to be able to hide  / disable buttons within their Project Server instance and of course, this requirement will not go away with Project Online. I wrote a a while back about how you could disable or hide ribbon buttons using a simple sandboxed solution. Well the good news is that this approach is still valid for Project Online. Given all the focus on the app model and the flexibility and restrictions it introduces, it is sometimes forgotten that you can still deploy sandboxed solutions to your Project Online environment.

In choosing to utilise Sandboxed Solutions in Project Online, you should choose to remember that whilst the solutions are ‘sandboxed’, if you do end up having a rogue solution that causes your sandbox to suspend, then ALL your solutions in the sandbox will suspend until the resources reset. In the case of ribbon customisations, I think this is a pretty light and risk free way of deploying the customisation.

For this post I am going to take the .WSP file created in the above blog post, using the source posted here.

To deploy the solution, navigate to Site Settings and choose Solutions

Project Online : Site Settings

Choose to upload the HideRibbonButton.wsp from the above solution

Upload Solution

Once the file has uploaded, choose to Activate the solution.

Activate Solution

Once activated, navigate to Site Settings > Manage Site Features, note the two additional features that have now appeared like in the original post. Features

In this case, activating the relevant features will either hide the EPT Change Button or Disable the EPT Change Button within your Project Online tenant.

Disabled Button

There you have it, a simple sandboxed solution in this case from Project Server 2010, that I have simply deployed directly into Project Online with no modifications, allowing you to hide buttons. Of course, it’s not just Online, sandboxed solutions are still present in Project Server 2013, so still a valid option too Smile

Project Server 2010 to 2013 Migration Reference Sheet

Following on from the last few upgrade and migration posts, I thought I would pull together a simple reference sheet that takes you through the migration process from Project Server 2010 to Project Server 2013.

Project Server 2010 to 2013 Migration Reference Sheet

The sheet takes you through the key steps and commands required to migrate between Project Server 2010 and Project Server 2013.

The reference sheet can be downloaded from or by clicking on the picture above.

Speaking at the Aussie SharePoint Conference Part 2 in Melbourne

SPC MEL 2013 Im speakingI am excited to announce that I will once again be speaking at the Australian SharePoint Conference this time in Melbourne on the new Work Management capabilities of SharePoint & Project Server 2013. Hopefully this time the demo gods will be on my side and Project’ Sync to SharePoint will work.

The abstract for the session is:

If you have ever tried to track work in SharePoint, lists or even on pieces of paper, you are going to love the new Work Management capabilities of SharePoint 2013. With SharePoint 2013, your organisation has access to a task management solution that can start simply and scale up to the enterprise level at the click of a button. Come along to this session to get an understanding of these exciting new capabilities and how you can leverage them today.

Once again, the quality of this conference and knowledge of the speakers is second to none. This time the conference has an overall theme of collaboration and how to make your organisation work better, a tailor made theme for Project, Project Server and Work Management.

The conference is on the 11th – 12th June at the Pullman in Melbourne. You can find out more and register at

Some common errors when upgrading / migrating to Project Server 2013

The process of upgrading from Project Server 2010 to Project Server 2013, or migrating between environments can be quite complex, requiring a number of steps to be completed in the correct order. In this post, I am going to document some of the common and uncommon errors that you may run into. I also intend to update this post as I uncover more.

Unmounted Project Service Database

Unlike SharePoint Content databases, Project Service databases need to be mounted before you can run a Test against them. If you do not mount them, you will see the following error.

Test-SPProjectDatabase : Could not find the ProjectDatabase instance (looking for database name: ‘ProjectWebApp’, service name: ‘demo2013’)

Test-SPProjectDatabase: Could not find the ProjectDatabase instance

To rectify this issue, make sure you mount the Project Database prior using

Mount-SPProjectDatabase –Name <ProjectServiceDatabaseName> –WebApplication <WebApplicationURL>

ConvertTo-SPProjectDatabase returns a ‘There are no addresses available for this application’ error.

The ConvertTo-SPProjectDatabase is used during an upgrade to convert the four Project Server 2010 databases (Draft, Published, Archive and Reporting) into one consolidated Project Service database with the different schemas.

ConvertTo-SPProjectDatabase returns a 'There are no addresses avaialble for this application' error

You will see the ‘There are no addresses available for this application’ error if you try and run this command and the Project Service App is not started. To rectify this, navigate to Central Administration and ensure the Project Service App is started and recycle the box, then try again.

Compilation Error – Microsoft.Office.Project.PWA.IDS does not contain a definition for ‘Licence_Copyright_Text’

You may run across this error message when navigating to a PWA instance that originated in Project Server 2010.

Compilation Error – Microsoft.Office.Project.PWA.IDS does not contain a definition for ‘Licence_Copyright_Text’

Compilation Error – Microsoft.Office.Project.PWA.IDS does not contain a definition for ‘Licence_Copyright_Text’

This error occurs when a 2010 PWA site has been mounted but the PWA site wasn’t upgraded using the following command:

Upgrade-SPSite -Identity <PWA URL> -VersionUpgrade

The PWA Settings option is missing from the Site Settings Menu

In Project Server 2013, the Server Settings menu item has been replaced by a PWA Settings option on the Site Settings menu. When performing an upgrade from Project Server 2010, this menu option is not automatically added when using the DB Attach method via PowerShell.

In the screenshot below you can see that the upgrade has been completed successfully, but the PWA Settings option is missing.

PWA Setting menu option not available

To fix this error, ensure you enter the following PowerShell command:

Enable-SPFeature –Identity pwasite –URL <URL of PWA site>

This will enable the pwasite feature which provides the PWA Setting menu link.

Migrating Project Server 2013 database between environments

A common requirement when setting up a new Project Server instance, is to replicate production data back into another environment such as Development or Test. In doing so, you have an environment where you can develop, test configuration changes or even perform training against, without impacting your production Project Server instance.

In this post we will walkthrough migrating data from our production Project Server 2013 environment which will be the source, over to a development / test environment which will be the target using the simple and fool-proof database attach method.

As with all these posts there are a few assumptions:

  • All of your environments are at the same patch level for SharePoint and Project Server
  • The target environment has been ‘cleaned’, removing any existing PWA and SharePoint content and associated databases prior to restoration.
  • You are on the same domain

So let’s get started…

Backup your source databases

On the source environment, backup the SharePoint content database hosting PWA and site collections and the Project Service Database (as this is most likely from a production environment you could always just take a copy of your production backups that you have correct? ;) ).

Restore to your target environment

In your target environment, restore the two databases into SQL, the Project Service Database and the Content DB that contains the PWA site and Project Workspaces you wish to migrate.

Databases Restored

Once restored, check that each of the databases has the correct permissions assigned (db_owner). In my example here, I am using a single account demo box (demo\administrator), but you will need to use the correct account for your environment.

Set Database Owner

Test and Mount the SharePoint Content Database

Before mounting the SharePoint Content database, it is a wise move to Test the Content database against the web app you intend to restore it to. In performing the test, SharePoint will check the contents of the Content DB against the target web application to see if all the features, customisations etc. are present. If they are not, this step will highlight what is missing so you can rectify the problems.

To Test the SharePoint Content DB, enter the following command in a SharePoint Management Shell running as an administrator.

Test-SPContentDatabase –Name <SP Content Database Name> –WebApplication <Web Application URL>

Test-SPContentDatabase Output

In this case you can see there is a missing setup file and web part that I should correct before proceeding, but as the test output shows, they are not Upgrade blocking problems, so I can continue if I wish.

Once the test is complete, the next step is to mount the database using this command:

Mount-SPContentDB –Name <SP Content Database Name>  –WebApplication <Web Application URL>

Mount-SPContentDatabase Output

Again, just like the upgrade you need to make sure you have access to the PWA site collection, to do so, either enter the following command:

Set-SPSite –Identity <URL of PWA Site Collection> –SecondaryOwnerAlias <Domain Account>

Set-SPSite Output

Mount and Test Project Service Database

Next we need to Mount then Test the Project Service Database. This step is slightly different than with the SharePoint Content databases in that you need to mount the database before testing it, however SharePoint will let you test a content database whilst the database is not mounted.

Mount-SPProjectDatabase –Name <Name of Project Service DB>  –WebApplication <Web Application URL>

Mount-SPProjectDatabase Output

Once mounted, enter the following command to test the Project Service Database:

Test-SPProjectDatabase –Name <Name of Project Service DB>

Test-SPProjectDatabase Output

Here you can see we have a clean bill of health and are fine to proceed to the next stage and wire up the Project Web Instance.

Mount and Test Project Web Instance

Finally, now that the Content database and Project Service database have been mounted into SharePoint, all that is needed is to wire them up together by using the Mount-SPProjectWebInstance command:

Mount-SPProjectWebInstance –DatabaseName <Name of Project Service DB> –SiteCollection <URL of PWA Site>

Mount-SPProjectWebInstance Output

Once mounted, run the test command to check that all is wired up correctly:

Test-SPProjectWebInstance  <URL of PWA site>

From my testing, this will return that one of the tests, the check for the Queue status will return a FailedWarning initially as the queue is starting up, then a few minutes later it will show that the status is Passed.

Test-SPProjectWebInstance Output

There should be no need to enable any features as we are moving from one 2013 environment to another.

Post Migration Tasks

If you development / test environment is running under a different administrator account, then make sure you navigate to Central Administration > Manage Service Apps > Project Server Service App and choose to Edit your Project Server Instance, modifying the Administrator account to be the correct account for your environment.

Edit Project Web App

Next, choose to Manage the PWA instance and use the Bulk Update Connected Project Sites to ensure the workspaces are relinked and reassociated with the correct development / test instance and not still linked to Production. Finally if you have Reports or OLAP cubes, you will need to reconfigure those to work with the restored databases.

And that’s it, all that is outstanding is to test your migration, checking you have access to all the capabilities and data before releasing the environment back to your dev’s or testers.

Oh and one last thing, I would highly recommend once you have migrated your environments that you do something to differentiate the environment from production, either by changing the look and feel / colour scheme, or by editing the main PWA page to but a ‘Welcome to the DEV site’.  You only have to do something in the wrong environment once to realise what a good idea this is Smile