Project Server 2016 – Force In/Out not available


After few months I am back, adding new content to the blog.

One of the issues I ran into with the latest version of project server (2016) is that the client was not able to Force In/Out projects in the portfolio analysis.


When the user tried to select Force In or Force Out no option was available.

Now, there was something special with this site collection. The PWA was created in the root of the web application and the URL was something like http: //abc .

If the PWA was created somewhere else (e.g. http: //abc/sites/PWA) then everything worked fine.ForceInOut_working

After migrating the site collection to a different location (e.g. http: //abc/Sites/PWA2) everything worked fine.

The conclusion is that we should avoid creating PWAs in the root of the web application, at least for the moment. If you ran into the above issue the solution is to migrate the content to a different location, other then the root of the web application.

Posted in Project Server 2016

Project Pro 2016 and Project Server 2013

As most of you are aware Project 2016 has been release with some fantastic new features:

One of the functionalities I thought I would like to test is if Project Pro 2016 can connect to a Project Server 2013 environment. And to my surprise, it works – you can connect, save and publish a project to a Project Server 2013 environment from Project Pro 2016.

Here are the steps I followed:

  1. Define the Project account in Project Pro 2016
  2.  The URL points to a Project Server 2013 environment
  3. Create a new Project
  4. Save and Publish as in Project Pro 2013
  5. Access the project in PWA (again Project Server 2013)


The new versions are backwards and forwards compatible so it should make it easier from the implementation/adoption point of view.

Tagged with: ,
Posted in MS Project 2016, Project Server 2013

Project Server Workflows – Flag fields

One of the issues the Project Server/Project Online users may run into when using custom fields in Project Server workflow is that the fields are not initiated (e.g.No value selected for a lookup field) and workflow cannot progress unless a value is specified for that field.

If a flag field is used in the workflow then you will notice that the project will not progress to the next stage and workflow status will be “Suspended”. To work around this issue the user will have to change the flag value to Yes and then switch back to No in order for the project to progress to the next stage.

Also in the SharePoint logs an error can be found:

Exception occured in scope Microsoft.ProjectServer.WorkflowActivities.ReadBooleanProperty. Exception=System.NullReferenceException: Object reference not set to an instance of an object.    at Microsoft.ProjectServer.WorkflowActivities.ReadBooleanProperty(Guid projectId, String propertyId)     at Microsoft.ProjectServer.WorkflowActivitiesServerStub.ReadBooleanProperty_MethodProxy(WorkflowActivities target, ClientValueCollection xmlargs, ProxyContext proxyContext)    at Microsoft.ProjectServer.WorkflowActivitiesServerStub.InvokeMethod(Object target, String methodName, ClientValueCollection xmlargs, ProxyContext proxyContext, Boolean& isVoid)    at Microsoft.SharePoint.Client.ServerStub.InvokeMethodWithMonitoredScope(Object target, String methodName, ClientValueCollection args, ProxyContext proxyContext, Boolean& isVoid)

The easiest solution is to use a custom field with a lookup table (Yes/No), having No as default. Also, the field can be made mandatory in that particular stage so a value will be selected before submitting the project. This way we make sure there is a value available all the time when performing checks etc. on that fields using workflow functionalities.

Tagged with: , ,
Posted in Project Online, Project Server 2013

Standard Project, Resource and Task fields in project server cubes

(other than lookup fields)

Project Server 2010/2013 provides an excellent option to perform various analyses through a number of cubes (e.g. OLAPPortfolioAnalyzer). When configuring pivot tables/charts that are connected to the project server cubes, the option to include some of the standard fields (e.g. Task Start Date, Task Finish Date)  is not quite obvious.

This is an example of such configured report


If I want to include some of the standard fields, all I have to do is to right click on the selected dimension, select Show Properties in Report and select which properties to include in the report.


Once that has been completed, the updated report will look like:


This option is no going to cover all the fields and in order to do that other options should be investigated (e.g. reporting services). However, in some case it may be more than what we want to report on.

Tagged with: , , ,
Posted in Project Server 2010, Project Server 2013, Reporting/SQL Server

Project Server 2013 migration – another workflow issue

Update 15/10/2017 —

The issue might occur on a non-migrated environment. If you started with a fresh new installation and configuration of a Project Server 2013 environment you might experience this issue (if you are unlucky). If that happens then the steps to fix it are the same. Thanks to Christoph @ Solvin for letting me know.

— End Update —

One of the things the users may experience following the migration from Project Server 2010 to Project Server 2013 is that for the migrated projects the workflows cannot be re-started and/or the projects cannot be associated with a new EPT.

It looks that following the migration from 2010 to 2013 the project server database and wss content database are not in sync anymore from the workflow perspective.

The project server table pub.MSP_Workflow_Instances contains a number of workflow instances that are not present in the wss_content workflow table.

The solution is either to manually delete the instances  in the pub.MSP_Workflow_Instances or to manually insert the missing workflow instances in the wss_content Workflow table.

After performing either action the workflows restart successfully.

Please note that performing these actions against project server or SharePoint databases are not supported so you will be performing the actions at your own risk!

The SQL script in our case looked like:

select *



FROM [EPM_WSS_Content].[dbo].[Workflow]) and ENTERPRISE_PROJECT_TYPE_NAME='<insert ept name>’





FROM [EPM_WSS_Content].[dbo].[Workflow]) and ENTERPRISE_PROJECT_TYPE_NAME='<insert ept name>’


The error you may see in the logs:

The errors returned from the queue are as follows:

 Error ID: 35209

 Error ID: 35109

 Error ID: 26000

 Detailed error below – send it to the administrator for more detailed troubleshooting.

 <?xml version=”1.0″ encoding=”utf-16″?>



    <class name=”QueueChangeWorkflow”>

      <error id=”35209″ name=”EnterpriseProjectTypeInvalidWorkflowAssociationUid” uid=”4010f740-20ff-4e83-beb4-6de36e0c77e4″ />


    <class name=””>

      <error id=”35109″ name=”WorkflowCannotChangeWorkflow” uid=”6c469354-3493-4462-b01a-5ccb23c909ab” />


    <class name=”Queue”>

      <error id=”26000″ name=”GeneralQueueJobFailed” uid=”408256f7-ecf9-41f4-be06-3fba71274799″ JobUID=”fed5d809-52a7-40e5-8685-ebfab5219421″ ComputerName=”XXXXXXXXXXXXXXXXXXXX” GroupType=”WorkflowChangeWorkflow” MessageType=”WorkflowChangeWorkflowMessage” MessageId=”1″ Stage=”” />




 You can do the following:

  1. Try troubleshooting using the error IDs, error XML.
  2. Contact administrator with your jobID (fed5d809-52a7-40e5-8685-ebfab5219421) and error XML.

 To turn off these notifications, go to Project Web App, click Personal Settings on the left menu, and then click Manage My Alerts and Reminders.

 From this page, you can clear the check box for those notifications you no longer want to receive.


Tagged with: , , ,
Posted in Project Server 2010, Project Server 2013, SharePoint 2013

Cumulative Work and Cumuative Cost with OData

One of the things we may want to include in the reports that are built using the OData feed is the Cumulative Work (or Cost). However, this option (field) is not available in the OData feed tables.

The good thing is that excel provides the option to display the cumulative work in the charts or tables.

The chart below has an example of a timesheet chart built using the OData feed from the table TimesheetLineActualDataSet, displaying the timed actual work.


Now the question is: how the Actual Work can be represented as cumulative and not just the total for that particular week/day/period? The answer is in one of the Excel functionalities: use of Total Running In.

If the Value Field Settings is accessed for the field required to be displayed as cumulative



there is an option under the Show Values As tab where the Running Total In can be selected.



Once this option has been enabled, the updated chart will look like:


Also, the % Running Total In can be selected, displaying the % of the total actual work that has been completed in that period/day/week


If we have multiple fields displayed in the chart then each one of them can be configured individually. The example below displays both Cumulative Planned Work and Cumulative Actual Work.


Displaying the cumulative work (or cost) is simple and it is a matter of using the options available in Excel.

Tagged with: , , , ,
Posted in Project Online

TimeSheet Reporting using multiple tables in OData

We heard many people asking about how to report on various data when they are using Project Online. OData feeds can be used to build such reports and a really good example can be found here:

Now, the question is what if the data is found in multiple tables? Can we combine these tables? The answer is yes, we can combine them in the same way as we can join database tables using sql joins (left, right, etc.). Let’s say we want to have a report displaying the the actual work reported by each resource, per week and task.

These would be the steps you would need to go through:

1. when we select the tables, we need to make sure the “Enable the selection of multiple tables” is enabled (it should be selected by default) and then select the tables.Tables Once we have clicked through the Next steps, the relationships (if any) between the selected tables must be defined.

2. Define the relationships RelationshipsDefinition

Click new and define the relationships between the tables Relationships

Once we’ve done that, the report can be configured

3. We can simply drag&drop in the pivot table the corresponding fields from various tables ReportBitmap

We’ve seen how the fields from multiple OData tables can be combined and it is a matter of using the other Excel tools to format our report.

Tagged with: , ,
Posted in Project Online

Replace project owner on multiple projects

I worked recently with a client asking for an easy way to change the project owner. The idea is that when a project manger leaves the company or moves to a different area within the organization someone else will take over his/hers projects. An easy way of doing that is by running a Powershell script which will replace the owner with the new project manager.

I find the script very useful and I shared it on TechNet if anyone wants to use it.

The script details and a download can be found here:


Tagged with: , ,
Posted in Powershell, Project Server 2010, Project Server 2013

Building charts in MS Project using Cost resources

I helped someone recently on the forums to build some nice charts for cost resources in MS Project 2013. MS Project 2013 comes with some new charts and these can be easily configured as per the client’s needs.

The entire thread on how these charts can be built can be found here:


Tagged with: ,
Posted in MS Project 2013

Project Server Archive on a custom schedule

I recently had a requirement to implement archiving in project server based on a custom schedule. On top of that there was a requirement that all projects will end up in the archive, no matter if they were not updated since the last arhive.

The easiest way to achieve that was to use PowerShell, SharePoint and Project Server together. In order to have a custom schedule I have used a SharePoint list to define the schedule. ThePowerShell script was checking the today’s date against the dates defined in the custom list and, if found, one custom field was updated for each project so all projects will end up in the archive. Once this step completed, the archive step was successfully backing up all the project to the archive area.

Then script can be downloaded from here:

Tagged with: , , ,
Posted in Powershell, Project Server 2013