#ProjectOnline time phased data rollup for #OData reporting note #PPM #PMOT #BI

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 a feature in Project Online when changing the rollup of timephased reporting data in Project Online as posted here:

https://pwmather.wordpress.com/2017/11/17/projectonline-time-phased-data-rollup-for-odata-reporting-ppm-pmot-bi-excel-powerbi/

As per the Microsoft support article below:

https://support.office.com/en-us/article/Configure-rollup-of-timephased-reporting-data-in-Project-Online-da8487fe-899e-4510-a264-e2ebc948928c

This mentions only the following endpoints in relation to this change:

image

You will also find that the ResourceDemandTimephasedDataSet endpoint is also impacted by this reporting setting if your projects are set to calculate the resource utilisation from the Project Plan / Project Plan Until. For example, if you have the timephased data setting set to Never as seen below and your projects resource utilisation is set to the Project Plan, the resource demand for those projects will not appear in the ResourceDemandTimephasedDataSet endpoint.

image

Just something to be aware of.

Advertisements
Categories: Paul Mather, Work Tags:

#ProjectServer and #SharePoint 2013 / 2016 May 2018 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #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 May 2018 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4133083

Project 2016 May 2018 update:
https://support.microsoft.com/en-us/kb/4018373

SharePoint Server 2016 / Project Server 2016 May 2018 update: 
https://support.microsoft.com/en-us/kb/4018386 & https://support.microsoft.com/en-us/kb/4018381

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

https://support.microsoft.com/en-us/kb/4133083

Project Server 2013 May 2018 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/4018395

Project Server 2013 May 2018 update:
https://support.microsoft.com/en-us/kb/4022130

Project 2013 May 2018 update:
https://support.microsoft.com/en-us/kb/4018379

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the May 2018 CU for 2013.

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

Categories: Paul Mather, Work Tags:

Change required for #SharePoint Online / #ProjectOnline REST API calls when using WebRequest #PowerShell #dotnet #office365dev

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 blog post to highlight a change the is required when querying Project Online / SharePoint Online REST APIs in code when using the WebRequest class. Previously the PowerShell code sample below would work and authenticate with no issues:

#add SharePoint Online DLL - update the location if required
$programFiles = [environment]::getfolderpath("programfiles")
add-type -Path $programFiles'\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll'

#set the environment details
$PWAInstanceURL = "https://PWAURL"
$username = "username" 
$password = "password"
$securePass = ConvertTo-SecureString $password -AsPlainText -Force

#set the Odata URL with the correct project fields needed,
$url = $PWAInstanceURL + "/_api/ProjectData/Projects()?`$Filter=ProjectType ne 7&`$Select=ProjectId,ProjectName,ProjectPercentCompleted,ProjectOwnerName"

#get all of the data from the OData URL
[Microsoft.SharePoint.Client.SharePointOnlineCredentials]$spocreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePass)  
$webrequest = [System.Net.WebRequest]::Create($url)
$webrequest.Credentials = $spocreds
$webrequest.Accept = "application/json;odata=verbose"
$webrequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
$response = $webrequest.GetResponse()
$reader = New-Object System.IO.StreamReader $response.GetResponseStream()
$data = $reader.ReadToEnd()
$results = ConvertFrom-Json -InputObject $data
$results.d.results 

There has been a change in Office365 and this would now generate a 401 unauthorized error as seen below:

image

It is now required to use the authentication cookie, not sure if this is a permanent change or a temporary issue. Adding the line below resolves the issue:

$webrequest.Headers["Cookie"] = $spocreds.GetAuthenticationCookie($url)

#get all of the data from the OData URL
[Microsoft.SharePoint.Client.SharePointOnlineCredentials]$spocreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePass)  
$webrequest = [System.Net.WebRequest]::Create($url)
$webrequest.Credentials = $spocreds
$webrequest.Accept = "application/json;odata=verbose"
$webrequest.Headers["Cookie"] = $spocreds.GetAuthenticationCookie($url)
$webrequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
$response = $webrequest.GetResponse()

This change would be applicable to all of my PowerShell code samples that query the Project Online OData API found here: https://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=User&f%5B0%5D.Value=PWMather&sortBy=Date

Hope that helps

Categories: Paul Mather, Work Tags:

#ProjectOnline #PowerApps using the Project Online Connector #PPM #Apps #MSProject #O365 Part3

April 26, 2018 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 part three of this series of blog posts we will look at using the CreateProject action from the Project Online PowerApps Connector. For those of you that missed part 1, here is a link: https://pwmather.wordpress.com/2018/03/14/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part1/ and part 2: https://pwmather.wordpress.com/2018/04/11/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part2/

The CreateProject action is: ProjectOnline.CreateProject({“PWASiteURL”}, {“ProjectName”},{Optional parameters}). As you can see, there is the PWA Site as one required parameter and the Project Name as the other. There are also optional parameters for description and start date as documented here. In this post we will add a new page to our example PowerApp to provide inputs to the parameters for the CreateProject action. Add a new blank screen to the PowerApp, in this example I called the new page NewProject:

image

Next I added a label to the page to add “Create a new project:” then two text input boxes, one for the Project Name and one for the Project Description. The two text input box properties were updated to remove the default text and add hint text as seen below for the Project Name input box:

image

Next a date picker was added to select the project start date along with two buttons, one to create the project and one to cancel / navigate back to the homepage. The button text was updated as required and the back button OnSelect property updated to navigate to the Projects page:

image

The create button action for OnSelect would be ProjectOnline.CreateProject("PWAURL", TextInput1.Text,{Description: TextInput2.Text, Start: DatePicker1.SelectedDate}) as seen below:

SNAGHTML1164f9e

Update the control references such as TextInput1 as required. That is the minimum needed to create a new project but really there should be checks to ensure the name is set as that is a required parameter and also do things like clear the inputs once the project is created / navigate back the homepage automatically. Below is a simple example to ensure the project name input is not blank. Firstly add a new label with the text “Project Name is empty” then add a X icon:

image

Now select both of those elements from the left menu and group them together:

image

Now set the group visible property to Off:

image

Select the X icon and update the OnSelect action to UpdateContext({alert:false}):

image

Select the grouping then select the Visible property and change the value from false to alert:

image

Now click the Create button as the OnSelect action needs to be updated to If(IsBlank(TextInput1.Text),UpdateContext({alert:true}),ProjectOnline.CreateProject("PWAURL", TextInput1.Text,{Description: TextInput2.Text, Start: DatePicker1.SelectedDate})) as seen below:

SNAGHTML12b8166

Update the control references such as TextInput1 as required. Now if the Project Name input, in my example TextInput1, is empty the alert will be displayed with the X to close the alert:

image

The final part of this app is to add a button / icon from the home screen to be able to create a new project by navigating to the NewProject screen:

image

That’s it for now but hopefully enough to get you started with the Project Online Connector for PowerApps, there are more actions available for this connector and so much more you can do with PowerApps! Look out for more Project Online related PowerApps blog posts in the future.

Categories: Paul Mather, Work Tags:

#ProjectOnline #PowerApps using the Project Online Connector #PPM #Apps #MSProject #O365 Part2

April 11, 2018 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 part two of this series of blog posts we will look at using the ListTasks action from the Project Online PowerApps Connector. For those of you that missed part 1, here is a link: https://pwmather.wordpress.com/2018/03/14/projectonline-powerapps-using-the-project-online-connector-ppm-apps-msproject-o365-part1/

The ListTasks action is: ProjectOnline.ListTasks("{ProjectGUID}","{"PWASiteURL}).value

As you can see we need to pass in two parameters here, the Project GUID and the PWA Site URL. As this requires the Project GUID, we will use the PowerApp we started with in part 1 and pass in the Project GUID from the first screen. Add another screen to your PowerApp, in this example I have just added a blank screen and renamed it to Tasks:

image

Now add a data table to this new screen:

image

With the new data table selected, click the Advanced option in the right pane:

image

Now on the advanced settings pane, in DATA > Items enter:

ProjectOnline.ListTasks(Gallery2.Selected.Id,https://tenant.sharepoint.com/sites/pwa).value

Update the query as required, for example update to the correct gallery name and update to the correct PWA URL.

SNAGHTML2fcefca

Click “Choose the fields you want to add from the customization pane”, in this example I have selected Name and PercentComplete:

SNAGHTML2fefd2e

Now I will add a label at the top of the screen to display the Project Name. With the label added to the screen, select the label and click the advanced setting pane:

image

In DATA > Text starting typing the name of your gallery added to the first screen, select it then type “.” then click selected then “.” then click Name:

image

Now the project name for the first project in the gallery will display:

image

You could look to include an option here to add new tasks if you wanted, the action to use would be: https://docs.microsoft.com/en-us/connectors/projectonline/#creates-new-task

Now we need to add in a control to be able to navigate back to the projects screen, I have just added a left arrow icon then updated the OnSelect property in the advanced settings pane to navigate to the projects screen:

image

Now on the Projects screen we need to update the next icon on the gallery to navigate to the Tasks screen, select the icon and update the OnSelect property on the advanced pane:

image

Now you have an app that will display a list of all projects directly from Project Online, then access the tasks from that selected project.

Next up we will look at create new projects in Project Online using the CreateProject action.

Categories: Paul Mather, Work Tags:

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

April 11, 2018 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 April 2018 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4098622

Project 2016 April 2018 update:
https://support.microsoft.com/en-us/kb/4018320

SharePoint Server 2016 / Project Server 2016 April 2018 update: 
https://support.microsoft.com/en-us/kb/4018340 & https://support.microsoft.com/en-us/kb/4018336

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

https://support.microsoft.com/en-us/kb/4098622

Project Server 2013 April 2018 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/4018346

Project Server 2013 April 2018 update:
https://support.microsoft.com/en-us/kb/4018352

Project 2013 April 2018 update:
https://support.microsoft.com/en-us/kb/4018335

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the April 2018 CU for 2013.

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

Categories: Paul Mather, Work Tags:

#ProjectOnline #MSProject #Agile updates #Kanban #Scrum #Tasks #PPM #PMOT

March 27, 2018 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)

There are some updates / improvements to the Agile feature in Project Online Desktop client, these follow on from the first release in October last year: https://pwmather.wordpress.com/2017/10/25/agile-now-available-in-msproject-kanban-scrum-sprints-tasks/ 

These updates are available in the latest release of the Office Insider version of the Office click-to-run client.

Two new features in this release for updating the % complete on boards as you move tasks between a status and the ability to filter tasks on the boards using the summary tasks and resources. These are seen below.

% complete on boards

Opening a board view such as the Backlog Board or the Current Sprint Board you will now see a “Set % Complete” row. As seen on the screenshot below this can also be hidden from the view:

image

Clicking the “Set % Complete” enables you to type the desired % complete for that status:

image

As you move a task into that status column, the task % complete will update as per the % complete value for the column:

image

image

Filters

On the board views you have the ability to filter tasks using the summary tasks and resources:

image

image

You can select multiple values from the two filter menus, the tasks will then filter on the board based on your filters:

image

The filters are not persistent, as you change views the filters will be reset.

A great addition to the agile feature in Project Online Desktop client. If you’re on the Insider version of Office click-to-run, take a look and see what you think.

Categories: Paul Mather, Work Tags:
%d bloggers like this: