Archive

Archive for the ‘Paul Mather’ Category

#ProjectOnline data capture / snapshot capability with #PowerShell #SharePoint #Office365 #PPM #BI

August 26, 2016 Leave a comment
Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

This blog post will show an option to capture Microsoft’s PPM Project Online data into a SharePoint list on a schedule to enable time driven data capture for snapshot / trend reporting capability. This example makes use of a PowerShell script I created to get the data and write this to a SharePoint list. The PowerShell script will use the Project Reporting OData API to get all of the specified project data in the PWA Site Collection then create a list item on the specified SharePoint list. The user setting up the script will need to update the source PWA instance URL, username, password and list name. The account specified will need access to the OData API in PWA and contribute access to the target SharePoint list. The SharePoint list will also need to be created beforehand with the required columns. The OData query will need to be updated to include the correct project level fields required and the part of the script that creates the list items will need to be updated too. This is covered below.

This script example can be downloaded here: http://bit.ly/2bvkCvZ

To get the script to work you will need to reference the DLL as seen in the image below:

image

This can be installed from the SharePoint Online Client components / management shell. I used the dll from the SharePoint Online Management Shell in this example.

Please note, this has only been tested in PowerShell 3.0 and might not work in other versions. If you have any issues try this in PowerShell 3.0.

Firstly decide what project level fields you want to capture, this will determine the list column requirements. Then create the SharePoint list in the PWA site collection with the required columns, for this example I created a list called ProjectSnapShots with the columns below:

image

The SnapshotDate column was set to have today as the default value so that when the items are created the date is set automatically.

Update the Project OData query to include the correct fields that you want to capture, in this simple example I have included the following:

image

$url = $PWAInstanceURL + "/_api/ProjectData/Projects()?`$Filter=ProjectType ne 7&`$Select=ProjectId,ProjectName,ProjectPercentCompleted,ProjectHealth,ROI,RiskRating&`$orderby=ProjectName"

As you can see I have a list column for each project level field. The next part of the script that needs to be updated is the item creation:

image

This is where you map the project level fields to the correct SharePoint list columns based on the data you are capturing.

Also ensure the variables have been updated correctly, placeholder values seen below:

image

Save and run the PowerShell script (fully test on a non-production PWA site collection before Production) to ensure the data is captured correctly in the target SharePoint list. You could then set this up to run as a scheduled task on a local server or a scheduled WebJob in Azure to capture the data weekly or monthly etc. For details on a scheduled WebJob see: http://bit.ly/2c26tcj

Once the script is run you will see the data in the SharePoint list, below I have run this 3 times:

image

You could then create a snapshot / trend report as required from the list data and even join to the live Project OData API if you capture the Project ID as I have in the example script / list.

A simple time driven data capture to enable snapshot / trending reports for Project Online. This script could easily be modified to capture the data into a SQL database, either on-prem or in Azure SQL if required. Also if this was to be run in production the script should be updated for error handling with try / catch blocks etc.

The script is provided "As is" with no warranties etc.

Categories: Paul Mather, Work Tags:

#ProjectServer and #SharePoint 2013 / 2016 August 2016 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #MSProject

August 9, 2016 Leave a comment
Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

The Office 2016 August 2016 updates and cumulative updates are now available, please see the links below:

http://bit.ly/2aDN4JS

Project 2016 August 2016 update:
http://bit.ly/2aPUSvh

SharePoint Server 2016 August 2016 update – Project Server 2016 fixes:  
http://bit.ly/2aDNi3y & http://bit.ly/2aPUWLB

The Office 2013 August 2016 updates and cumulative updates are now available, please see the links below:

http://bit.ly/2aDN4JS

Project Server 2013 August 2016 CU Server Roll up package:
http://bit.ly/2aDNdx1

Project Server 2013 August 2016 update:
http://bit.ly/2aPULQv – link not live at time of writing

Project 2013 August 2016 update:
http://bit.ly/2aDMGv3 – link not live at time of writing

Also worth noting, if you haven’t done so already, install Service Pack 1 http://bit.ly/1uorn2C first if installing the August 2016 CU.

As always, fully test these updates on a replica test environment before deploying to production.

Categories: Paul Mather, Work Tags:

#ProjectOnline / SharePoint CSOM updated to include Resource Engagements #Office365 #SharePointOnline

August 8, 2016 Leave a comment
Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

Just a quick post to highlight the latest SharePoint Online / Project Online CSOM version (16.1.5521.1200) now includes the Resource Engagement classes and properties:

image

http://bit.ly/2bedgMM

Categories: Paul Mather, Work Tags:

#ProjectOnline #PowerBI report with hyperlinks #Office365 #PPM #SharePoint #PowerQuery #BI

August 5, 2016 Leave a comment
Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

In this post we will look at creating a very basic Power BI report that includes hyperlinks to various entities in Microsoft’s Office 365 PPM Project Online PWA site. The report created here will be purely to show you how to create links to the Project Site, Project Detail Page, Issues and Risks items.

Firstly I will create my OData URLs I need for my datasets, these can be seen below:

  • Projects: <PWA site URL>/_api/ProjectData/Projects()?$filter=ProjectType ne 7
  • Issues: <PWA site URL>/_api/ProjectData/Issues
  • Risks: <PWA site URL>/_api/ProjectData/Risks

Now launch the Power BI desktop and click Get Data > OData Feed as seen below:

image

Enter the Projects URL and click OK:

image

On the next screen click Edit:

image

In the Query Editor window click Choose Columns:

image

In the Choose Columns window, uncheck all of the columns – quickest way is the uncheck Select All Columns:

image

Now select the following columns: ProjectId, ProjectName, ProjectWorkspaceInternalUrl

Click OK and the query will only contain those columns:

image

Rename ProjectName to “Project Name” and ProjectWorkspaceInternalUrl to “Project Site URL”, this is done by right clicking on the column heading and selecting Rename:

image

I have also changed the query name to Projects:

image

Now click Add Column > Add Custom Column:

image

Enter the name “Project Link” and the formula:

"<PWA site URL>/project%20detail%20pages/schedule.aspx?projuid=" & [ProjectId]

Update the PWA site URL to your Project Online PWA site URL and update the PDP if required, this one uses the Schedule PDP.

image

Click OK. The Projects dataset table is now ready, we now need to add in the Issues data. From within the Query Editor window, click New Source > OData Feed:

image

Enter the Issues URL and click OK:

image

Click OK on the preview window then you will see the 2nd query added:

image

Now we need to Choose Columns, remove them all and select the following: ProjectId, IssueId, ItemRelativeUrlPath, Title

Click OK. Rename the query to Issues then that dataset table is complete:

image

We now need to add in the Risks data. From within the Query Editor window, click New Source > OData Feed:

image

Enter the Risks URL and click OK, click OK on the preview window then you will see the 3rd query added:

image

Now we need to Choose Columns, remove them all and select the following: ProjectId, RiskId, ItemRelativeUrlPath, Title

Click OK. Rename the query to Risks then that dataset table is complete:

image

Now we need to merge the Issues table with the Projects table so that we can get the Project Site URL in the the Issues table. Select the Issues dataset table then click the Merge Queries option:

image

In the Merge window select the Projects table and ProjectId from both as seen below:

image

Click OK and you will see a new column appear:

image

Click the button on the new column to choose the columns to expand from the joined table:

image

Select just the Project Site URL:

image

Click OK and you will see the Project Site URL appear:

image

Rename the column to remove the NewColumn. prefix. Now click Add Column > Add Custom Column:

image

Enter a name “Issue Link” then enter the formula for the new column:

[Project Site URL] & "/" & Text.Range([ItemRelativeUrlPath],0,13) & "DispForm.aspx?ID=" & Text.Range([ItemRelativeUrlPath],13,1)

image

Click OK. Click on a row and ensure the URL is correct – copy in the browser to test:

image

Now select the Risks dataset table to repeat the steps. Click Merge Queries with the same steps as before and click OK. In the new column expand the Project Site URL then rename the column to remove the NewColumn. prefix. Add the custom column called “Risk Link” with the following formula:

[Project Site URL] & "/" & Text.Range([ItemRelativeUrlPath],0,12) & "DispForm.aspx?ID=" & Text.Range([ItemRelativeUrlPath],12,1)

image

Click OK then click on a row and ensure the URL is correct – copy in the browser to test:

image

Then click Close & Apply:

image

Then the Apply Query Changes window will load whilst the data model loads:

image

Once loaded, check the table relationships are ok and change if needed:

image

Now you are ready to build the Project links report as you would normally build a Power BI report. One additional step that you will need to do it make the URL columns into Web Urls. For example, select the “Project Site URL” from the Projects dataset then click the Modelling ribbon and under the Data Category option chose Web URL:

image

Repeat this for the three custom columns created: Issue Link, Risk Link and Project Link.

A very simple report has been created below to show the hyperlinks:

image

This is a very plain report as you can see, but this demonstrates how to create hyperlinks to keys areas of the project from a Power BI report.

Categories: Paul Mather, Work Tags:

#ProjectOnline Project Ideas list view with Project GUID #Office365 #SharePoint #JavaScript #jQuery

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

For those of you that are familiar with the project ideas lists in Microsoft’s PPM PWA application you might want to skip this first paragraph. Any list you create in the PWA site collection at the top level you will see a button Create Projects, if you are not familiar with this feature take a look at this blog post: http://bit.ly/2aeWGwK.

The purpose of this post isn’t to revisit that feature, this post covers getting access to some of the data on that list that is hidden from the views and creating an enhanced view for the Project Ideas type list.

If you look at the view details, you can see below the columns I can add to this view:

image

Yet if I look at the columns available on this list using the REST API I see a few more, a key one being MSPWAPROJUID as seen below:

image

This column gets updated with the Project GUID when you create a project from the list. As this is a hidden column it can’t be added to any views which is a shame as that would be very useful. I thought ok, simple, I will just update the field hidden property false then add it to the view. Whilst that change is very simple with a few lines of code this appears to break the column getting updated with the Project GUID so I don’t recommend doing that currently. If I found a way to get this working I will create a post. So as that didn’t work that lead me on to the next idea, lets build my own view on a page. This can be seen below:

image

I have made the Item Title clickable to open the list item in a new window and where an idea item has been converted into a project, the Project GUID is a clickable link to the view the project. This opens the schedule Project Detail Page. The columns are sortable, by default it is sorted by Item ID, to change this use the arrows in the table column heading. As you can see, I don’t have much data on my test system and only one idea has been created into a project.

I have made the code available on the Microsoft code gallery, it can be downloaded here: http://bit.ly/29ZXh8M

To get the script to work for your PWA instance in Project Online you will need to update the listName variable to set the correct list title for your project ideas list:

image

Replace ProjectIdeas with the correct title. Save the JavaScript file in a document library in the PWA site collection then create a web part page in the PWA site collection, for example I created the page and uploaded the script to the Shared Documents library:

image

On the new web page page I added a content editor web part and linked to the JavaScript file:

image

Click Apply then OK and the data should load if the listName variable is correct. You can then add a link to the new page from the PWA quick launch if needed.

A nice simple solution that provides more functionality than the standard SharePoint view.

Categories: Paul Mather, Work Tags:

#ProjectOnline Resource Engagements update #Office365 #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

Just a quick post to left you know about an update to the Resource Engagements feature activation. When this was released around a year ago in Project Online, it was stated that all Project Online instances would have the feature enabled by September 2016 with the resource plan data migrated. There has been an update to, this date has been delayed for now, see the comment below from the article:

“The feature will no longer be automatically activated on September 22, 2016.”

http://bit.ly/2aesLFf

Categories: Paul Mather, Work Tags:

#ProjectServer and #SharePoint 2010 / 2013 / 2016 July 2016 Cumulative Update #PS2010 #SP2010 #PS2013 #SP2013 #MSProject

Paul Mather
I am a Project Server and SharePoint consultant but my main focus currently is around Project Server.
I have been working with Project Server for nearly five years since 2007 for a Microsoft Gold Certified Partner in the UK, I have also been awared with the Microsoft Community Contributor Award 2011.
I am also a certified Prince2 Practitioner.

This article has been cross posted from pwmather.wordpress.com (original article)

The Office 2016 July 2016 updates and cumulative updates are now available, please see the links below:

http://bit.ly/29uazZV

Project 2016 July 2016 update:
http://bit.ly/29vq2Fb

SharePoint Server 2016 July 2016 update – Project Server 2016 fixes: 
http://bit.ly/29uaDJd & http://bit.ly/29vq9AF

The Office 2013 July 2016 updates and cumulative updates are now available, please see the links below:

http://bit.ly/29uazZV

Project Server 2013 July 2016 CU Server Roll up package:
http://bit.ly/29ub7ix

Project Server 2013 July 2016 update:
http://bit.ly/29vpY8A

Project 2013 July 2016 update:
http://bit.ly/29uaFk0

Also worth noting, if you haven’t done so already, install Service Pack 1 http://bit.ly/1uorn2C first if installing the July 2016 CU.

The Office 2010 July 2016 updates and cumulative updates are now available, please see the links below:

http://bit.ly/29uazZV

Project Server 2010 July 2016 CU Server Roll up package:
http://bit.ly/29ub4mC

Project Server 2010 July 2016 update:
< no update this month>

Project 2010 July 2016 update:
< no update this month>

SP2 is a pre-requisite for the Office 2010 July 2016 updates.

As always, fully test these updates on a replica test environment before deploying to production.

Categories: Paul Mather, Work Tags:
Follow

Get every new post delivered to your Inbox.

Join 498 other followers

%d bloggers like this: