Project Pro 2016 and Project Server 2013

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

https://blogs.office.com/2015/09/30/whats-new-in-project-2016/

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
    ProjectAccount
  2.  The URL points to a Project Server 2013 environment
  3. Create a new Project
    CreateNewProject
  4. Save and Publish as in Project Pro 2013
    SaveToProjectServer2013
  5. Access the project in PWA (again Project Server 2013)
    ProjectCenter
    PWAProjectSchedulegif

 

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

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.

ShowProperties

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

UpdatedReport

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

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 [SP2013_PWA_ServiceDB].[pub].[MSP_WORKFLOW_INSTANCES]

where WORKFLOW_INSTANCE_UID NOT IN (SELECT Id

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

/*

delete

FROM [SP2013_PWA_ServiceDB].[pub].[MSP_WORKFLOW_INSTANCES]

where WORKFLOW_INSTANCE_UID NOT IN (SELECT Id

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″?>

<errinfo>

  <general>

    <class name=”QueueChangeWorkflow”>

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

    </class>

    <class name=””>

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

    </class>

    <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=”” />

    </class>

  </general>

</errinfo>

 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.

OriginalChart

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

ValueFieldSettings

 

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

RunningTotalIn

 

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

UpdatedChart

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

UpdatedChart2

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.

UpdatedChart3

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: http://www.prasannaadavi.com/2014/06/timesheet-status-report-with-odata-in.html

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:

https://gallery.technet.microsoft.com/Powershell-script-to-6c485008

 

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