#Project Roadmap #CDS #App Overview #PPM #ProjectManagement #MSProject #ProjectOnline #Office365 #PowerPlatform #Dynamics365 #PowerBI Part 3

January 22, 2019 at 7:39 pm | Posted in Administration, Configuration, Functionality, Information, Reporting | 2 Comments
Tags: , , , , , , , ,

This post follows on from part 2: https://pwmather.wordpress.com/2019/01/07/project-roadmap-cds-app-overview-ppm-projectmanagement-msproject-projectonline-office365-powerplatform-dynamics365-part-2/ In Part 2 we reviewed the fields and looks looked at the data used by the Roadmap application. In this post we will continue with the Power BI report that was started in part 2. I have made some changes following on from the last post if you have been following and creating the Power BI report. The queries I have can be seen below:

image

Here are the query connection details:

  • Roadmaps queries msdyn_roadmaps but filter to only return roadmaps
  • RoadmapItems queries msdyn_roadmapitems but filtered to only return roadmap items
  • RoadmapRows queries msdyn_roadmaps but filter to only return rows
  • RoadmapRowItems queries msdyn_roadmapitems but filtered to only return row items
  • RoadmapItemLinks queries msdyn_roadmapitemlinks
  • RoadmapRowLinks queries msdyn_roadmaprowlinks

I have also used the Power Query editor options to remove fields I do not need, renamed fields etc. but that is standard Power BI functionality.

Then the following relationships have been set up between these tables:

image

Or the visual view:

image

Now this Power BI file is ready to start creating the reports. Here are some screen shots of example reports:

image

image

I will be releasing the Power BI file to download later this week that can be used as a solution starter for your Project Roadmap reporting. I will then create a blog post on how you can bring in other data from Project Online into the Power BI file.

Advertisements

#ProjectOnline PWA Project Details Page integration with Project Roadmap #Office365 #PPM #PowerPlatform #MSFlow

January 16, 2019 at 7:22 pm | Posted in Administration, Functionality, Information, Reporting | 1 Comment
Tags: , , , , ,

As you are probably aware by now, the new Roadmap feature is live in Project Home as detailed in this blog post: https://pwmather.wordpress.com/2018/12/19/project-roadmap-is-live-ppm-projectmanagement-msproject-projectonline-office365-powerplatfom/ This post covers a new button that would have appeared in your Project Online PWA instance:

image

This new Add to Roadmap button is on the Task tab on Schedule Project Detail Page. This enables you to add published tasks to a project roadmap directly in Project Online PWA without having to navigate away to the Project Home, open the Roadmap then adding the tasks via the Roadmap interface.

When the current project is linked to a roadmap row with at least one task selected (you can select multiple), clicking this will load a modal pop up:

image

You will then need to select the correct Roadmap and Row using the dropdowns. Only Roadmaps and Rows will appear where the current project is already linked. Here is one Roadmap where this project is linked:

image

I’ve selected the Deployment task then clicked the Add to Roadmap button then selected the Roadmap and Row as seen below:

image

Clicking Add will start the process to add the task:

image

Once completed you will see the added to roadmap message as below with a clickable link to the roadmap:

image

Accessing the roadmap will now show the new task added:

image

If you try the Add to Roadmap button for a project that is not linked to a Project Roadmap you will see this modal popup:

image

A great enhancement to Project Online!

#Project Roadmap #CDS #App Overview #PPM #ProjectManagement #MSProject #ProjectOnline #Office365 #PowerPlatform #Dynamics365 Part 2

January 7, 2019 at 6:03 pm | Posted in Administration, Configuration, Functionality, Information | 3 Comments
Tags: , , , , , , ,

This post follows on from part 1: https://pwmather.wordpress.com/2019/01/01/project-roadmap-cds-app-overview-ppm-projectmanagement-msproject-projectonline-office365-powerplatfom-dynamics365-part-1/ In part 1 we had a quick overview of the solutions used in the CDS app for the Roadmap service. In this post we will look at the fields used by the Roadmap service and take a look at some of the data in the Portfolio Service CDS database. As you know, this new feature is known as Roadmap to the end users, but the backend is known as the Portfolio Service, hence both names being used here.

Firstly we will have a look at some of the entities and field definitions from the Portfolio Service solution PowerApps admin interface that we briefly accessed at the end of part 1:

image

As you can see from the screen shot above, there are 6 entities deployed in the Portfolio Service solution. Each of these entities have various other artefacts such as views, keys, fields etc. For this post, we will just look at the fields. We wont explore all of the entities or all of the fields in each entity, but we will look at some of the key entities and fields used by the Roadmap service.

Firstly we will look at the Roadmap entity in the PowerApps portal:

image

You can scroll along the grid to see the properties such as description etc. This entity contains the roadmap details – the roadmap properties and rows added to the roadmap. Some of the key fields here for us as end users for reporting etc. are:

  • msdyn_name – this field will contain the Roadmap name and the row name
  • msdyn_type – this is used to determine the type – either a Roadmap which is type 0 or a row which is type 1
  • msdyn_roadmapid – this is the roadmap / row GUID
  • msdyn_parentroadmapid – this is contains the roadmap GUID for the rows added to a roadmap
  • msdyn_groupaadid – this is the associated Office 365 group ID

The next entity is the Roadmap Item:

image

This entity contains the roadmap item details – items added to rows on the roadmap and items added directly to the roadmap like key dates. Some key fields are:

  • msdyn_name – this field will contain item or key date name
  • msdyn_duedate – this field will contain the due date for row items
  • msdyn_startdate – this field will contain the start date for row items
  • msdyn_status – this is the status for the item such as At Risk, On Track etc.
  • msdyn_type – this is used to determine the type – either a key date which is type 0 or a phase which is type 1
  • msdyn_roadmapid – this is the roadmap / row GUID
  • msdyn_roadmapitemid – this contains the roadmap item GUID

The next entity is the Roadmap Item Link:

image

This entity contains the roadmap item link details – items added to rows on the roadmap that are linked to external projects (Project Online or Azure Boards currently). Some key fields are:

  • msdyn_externalname – this field will contain the external task name
  • msdyn_externalduedate – this field will contain the external due date for row items
  • msdyn_externalprojecttaskid – this is the external task GUID from the external project
  • msdyn_externalstartdate – this field will contain the external start date for row items
  • msdyn_externaltype – this is used to determine the type – either a key date which is type 0 or a phase which is type 1
  • msdyn_externalurl – this is the link to the external project
  • msdyn_roadmapid – this is the roadmap row GUID
  • msdyn_roadmapitemid – this contains the roadmap item GUID
  • msdyn_roadmapitemlinkid – this contains the roadmap item link GUID

The final entity that we will look at is the Roadmap Row Link:

image

This entity contains the roadmap row link details – rows on the roadmap that are linked to external projects (Project Online or Azure Boards currently). Some key fields are:

  • msdyn_externalname – this field will contain the external project name
  • msdyn_externalprojectid – this is the project GUID from the external project
  • msdyn_externalurl – this is the link to the external project
  • msdyn_refreshenddate – this is the finish time the external project last synchronised with the CDS data via the Flow
  • msdyn_refreshstartdate – this is the start time the external project last synchronised with the CDS data via the Flow
  • msdyn_roadmapid – this is the roadmap row GUID
  • msdyn_roadmaprowlinkid – this contains the roadmap row link GUID

Lets explore the data in the Roadmap entity. There are several ways in which we can do this, in code using the Organization Service or the Web API: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/work-with-data-cds or there is a Connector for Power BI: https://powerapps.microsoft.com/en-us/blog/cds-for-apps-powerbi/ For this I will use Power Query in Power BI but also show you how to access the Web API too. To access the Roadmap data in Power BI you will need the server URL. There are at least two ways (probably more) to get the correct server URL for the CDS Roadmap uses. Firstly via the Office 365 Admin Center using the steps below:

Access the Office 365 Admin Center > Admin Centers > Dynamics 365:

image

Then click open on the correct instance and you will see the server URL in the URL bar:

image

The other way, if you do not have access to the Admin Center is by using the browser dev tools. Access Project Home > Press F12 / open the dev tools > Access a Roadmap > In the Network tab, find the network call GetCdsEndpoint then check the Response, you will see a cdsurl property:

image

Once you have the server URL you can either use the Power BI connector or the Web API. The the simplest way to demo viewing this data using the Web API is via the Browser. In this example. Add the following to the end of the server URL: /api/data/v9.1 – you can use a different version, at the time of writing 9.1 was the latest on my tenant. Going to the root Web API URL will return the JSON for all of the entities available. Append the entity that you want to access to the end of the URL and you will see all of the data available in the entity:

image

As the Web API implements the OData protocol you can use the standard query options such as $select or $filter. Here I’m just selecting the name and type from the roadmaps entity:

https://org05724544.crm11.dynamics.com/api/data/v9.1/msdyn_roadmaps()?$select=msdyn_name,msdyn_type

image

Here I’m filtering for roadmaps only as the roadmaps entity contains roadmaps and rows:

https://org05724544.crm11.dynamics.com/api/data/v9.1/msdyn_roadmaps()?$filter=msdyn_type eq 0

image

To easily make sense of the data you need to format the JSON. Power BI is easier to visualise the data.

In Power BI click Get Data > More > Online Services > Common Data Service for App (Beta):

image

Select it then press connect. Accept the warning about being a preview connector (something to be aware of!). Now enter the server URL:

image

Now you can see all of the tables / entities that are in this CDS service, for the purpose of this blog post I will just expand Entities then select Roadmap, Roadmap Item, Roadmap Item Link and Roadmap Row Link:

image

Then click Edit to load these in the query editor. I’ve removed some of the default fields to clean up the data. Here is one of my roadmaps from the msdyn_roadmap table via Power Query in Power BI:

image

Here is a row from my roadmap:

image

Here is a key date added to my roadmap from the msdyn_roadmapitem table:

image

Here is a task (known as a phase in Roadmap) added to a row in the roadmap:

image

Here is a milestone (known as a key date in Roadmap) added to a row in the roadmap:

image

Here is an item link for a task linked to a row in Roadmap from msdyn_roadmapitemlink table:

image

Here is an row link for a project linked to a row in Roadmap from msdyn_roadmaprowlink table:

image

In the final part of this mini series, we will look at following on from this and creating a simple report in Power BI for the Roadmap data and bring in some Project Online data.

#Project Roadmap is live #PPM #ProjectManagement #MSProject #ProjectOnline #Office365 #PowerPlatfom

December 19, 2018 at 9:00 pm | Posted in Add-on, Administration, App, Configuration, Functionality, Information, Reporting | 3 Comments
Tags: , , , , ,

Microsoft Project Roadmap is now live and rolling out! This is available on one of my demo tenants, in this post we will have a walkthrough creating a roadmap. For those of you who might not be aware, Roadmap is a new feature added to Microsoft’s PPM offering, this was announced at Microsoft Ignite: https://pwmather.wordpress.com/2018/09/24/microsoft-project-the-future-ignite-ppm-pmot-workmanagement-projectonline-projectmanagement/ and: https://pwmather.wordpress.com/2018/09/26/microsoft-project-roadmap-product-at-a-glance-ppm-office365-flow-powerplatform-dynamics365-azure-azureboards/

Once this has been rolled to your tenant, it will need to be enabled, Brian Smith covered that already here: https://blogs.msdn.microsoft.com/brismith/2018/12/07/project-online-getting-started-with-roadmap/. Once activated on your tenant, you will see a new option on the Project Home page:

image

For those of you not familiar with the new Project Home, see this post: https://pwmather.wordpress.com/2018/08/20/new-projectonline-project-home-office365-ppm-ui-ux-msproject-fabricui/

Clicking the Roadmap option for the first time will trigger Roadmap to be set up for the first time on that tenant, you will see the message below:

image 

Once that has completed after a short while, you will see the following page:

image

This is the blank roadmap canvas ready for you to create your roadmap items. There is a prompt to do this, see the “Add a row” card. Click the Add row button, this will load a side panel on the right:

image

Specify a name for the row – this could be the project name, feature name etc., it is just your reference for that roadmap item row. Specify an owner for that roadmap row – this is the person who is responsible for that project or feature etc. Then select the connection, the row can either connect to a Project Online project or an Azure DevOps Board:

image

In this example, I will select Project Online. The panel then changes so you can enter the PWA URL:

image

Enter the PWA URL and press the green tick to validate it:

image

Now start typing the name of the project you want to link this row to:

image

Then click the project name to select it. After a few moments, the panel will update:

image

Click See Details to view the permissions of the Flow – Roadmap uses Microsoft Flow behind the scenes to sync the data from Project Online and Azure Boards into the Roadmap database. Click Continue, the panel will then update to show what services the Flow will connect to and the account it will use:

image

Click Connect, after few moments the panel will update to Add items, here you can search for tasks from the linked Project Online project / Azure Board project:

image

Start typing the task names then select them, the selected items will appear in the table below:

image

Note the Type column, “Phase” are tasks with a duration greater than 0 and “Key date” are 0 duration tasks. Click Add at the bottom once the tasks are selected. These items will then be added to the roadmap row:

image

Notice in the right hand panel, you can see the last time the project was updated – this is the last time the project was synchronised to the roadmap database using Microsoft Flow. This happens every 5 minutes but you can trigger it manually by pressing the update button. We will look at the Flow later on. In the right hand panel, you can also click the project name, this will link to the Project Detail Page for that project in Project Online. You can access this project panel by either clicking the row title or selecting the row then clicking the Details button above the timeline.

Key dates can be added to the timeline using the Add key date button:

image

Key dates can be anything from key business dates to dates when a product is due to ship, it is just a way to visualise important dates for the roadmap.

Multiple rows can be added, you can have different rows linked to different PWA instances or different Azure Boards. The row order can be changed using the Move up or Move down arrow buttons above the timeline when a row is selected.

All items on the roadmap can have a status set:

image

Give the roadmap a name by clicking the “Untitled roadmap”, this will open a panel for you to update the name:

image

You have other options on the page, zoom to change the zoom level of the timeline. Filter to filter for a specific owner. Go to date to scroll the timeline to a date and Members to share access to the roadmap. This is done via Office 365 groups, you can either link this to an existing group or create a new one:

image

Once linked to a group, you will see the privacy level below the roadmap title:

image

The roadmap then has all of the features the Office 365 groups provide such as File, Planner, SharePoint, Conversations etc. The group can be accessed by clicking the group name on the members callout:

image

Clicking the Project link on the top bar will take you back to the Project Home, here you will now see your roadmap:

image

You can create many roadmaps from Project Home, linked to different projects and different Office 365 groups. If you wanted another user to access your roadmap, copy the URL link once you’ve accessed the roadmap then send then the URL, just ensure they have been added as a member to that roadmap.

As mentioned earlier on, the roadmap feature use Microsoft Flow to sync the data with the roadmap database. For each row you create that is linked to Project Online or Azure Boards in a roadmap, a new Flow will get created automatically. These will run every 5 minutes to sync the data. Two rows in my example roadmap were linked to projects in Project Online, this created two Flows for me:

image

We can drill in and see the Flow:

image

There are many actions in this Flow to sync the data, the Flow does many checks checking things like the project last published time and will only sync if the project publish was greater than 15 minutes ago. I wouldn’t recommend changing this Flow unless you know what you are doing – there is no need to change this Flow, leave it be! If you do happen to break it by accident, disable the Flow from the Flow admin page then on the roadmap, try to manually update a project row that is linked to that Flow, it will display a Fix option:

image

Click Fix, the panel will then update to show the Fix button:

image

Click Fix and the Flow will be redeployed.

That’s it for this post – a great addition to the Microsoft PPM offering.

#Microsoft #Project Roadmap product at a glance #PPM #Office365 #Flow #PowerPlatform #Dynamics365 #Azure #AzureBoards

September 26, 2018 at 4:40 pm | Posted in Functionality, Information | 1 Comment
Tags: , , , , , ,

Following on from the announcements on Monday at Ignite from the Project product group, there was a session today on the Project Home and Roadmap products. For those that missed the post on the announcements, here is a link to the blog post that has some notes around this: https://pwmather.wordpress.com/2018/09/24/microsoft-project-the-future-ignite-ppm-pmot-workmanagement-projectonline-projectmanagement/

In this blog post I will include some screen shots taken from Chris’ session today at Ignite and mention some of the features that Roadmap has. I wont talk about Project Home here as I already blogged about that previously: https://pwmather.wordpress.com/2018/08/20/new-projectonline-project-home-office365-ppm-ui-ux-msproject-fabricui/

So Roadmap is the new product that is planned to be available early 2019. Roadmap is a product that enables organisations to visualise projects from various different tools in one timeline type view. On the first release it will support Project Online projects as well as Azure Board projects (formerly known as VSTS) with a view to supporting other types of projects in later releases such as Planner projects, new Project Service projects etc. To give you some context before we move on, here is a screenshot of a Roadmap from Chris’ slide deck today:

image

As you can see from the screen show about, each project is a row, each row has a name (free text – not the actual linked project name) and an owner (free select people picker from the the tenant users – not the actual linked project owner). Then in the details you can add tasks from the linked projects. On the timeline you can add key dates. You have full control over the order of the rows, move these up and down as you like using the Move Up and Move Down buttons.

Roadmaps will be created and accessed in the Project Home product, the Create New button in Project Home will contain the Roadmap option once released. This will load a blank canvas pretty much instantly. The roadmaps can be renamed at any time by clicking the name in the top left corner, that loads a Roadmap panel, here you also set the Roadmap owner:

image

To add a new project,firstly you would use the Add row button, type the name of the row and set the owner for the row. You can then connect the row to a Project Online project or an Azure Boards projects in the first release (more project type support to come later). When connecting a row to a project, firstly select whether it is a Project Online or Azure Boards project, then put the correct URL in for that service. Once connected to that service, you can start typing the name of the project you want to connect to then the list of projects will start to appear for you to select. You then connect to that project (using a Microsoft Flow in the background). You can then use the Add Row Item button with that row selected, that will open the add row items panel. Here you can start typing the names of the tasks you want to add then the list of tasks will appear for you to select. Once you have selected all of the tasks (you see a preview table of selected tasks with start and end dates in the row items panel) you then add those to that row. These will be linked to the source project, so as the data changes in the source project, Microsoft Flow will pick up the changes and update the synced data the Roadmap project row is using in the Roadmap common data service (CDS) database. Part of the Flow seen below:

image

Tasks in the roadmap can be given a status of either Unset Status, On Track, Potential Problems, At Risk or Done using the task card:

image

Setting the status will update the task bar on the Roadmap.

Key dates are added to the Roadmap using the Add key date button, this loads a pop to create the key date and set the status (same status options as tasks):

image

For Roadmaps with large numbers of projects added, you can filter by the row / project owner:

image

You also have a zoom control to change the zoom of the timeline.

Access to the Roadmap is controlled via the Office 365 Groups via the Roadmap interface, to add users click the Members button and type the users names:

image

So each Roadmap will get to make use of all the features Office 365 Groups enables such a SharePoint site, SharePoint document library, Shared Inbox, Calendars etc. Using Office 365 Groups means Roadmaps can either be private or public.

That’s is for now, but I’m looking forward to getting access to this!

Before I finish, another interesting slide Chris shared was the Platform one to give an idea of how things are architected (high level):

image

There are lots of exciting changes happening in Project!

Create a free website or blog at WordPress.com.
Entries and comments feeds.