This is the first of a few blog posts containing examples for extending the Project for the Web application. For those of you that have not seen any previous blog posts on Project for the Web here is a link: https://pwmather.wordpress.com/tag/project-for-the-web/ & a video: https://youtu.be/4OeegM8ScMk that I published when Project for the Web was released.
As you are all probably aware by now, Project for the Web is the new Project service built by the Project team at Microsoft. This new service is not built in SharePoint like Project Online, this is built on the Power Platform Common Data Service for Apps. There are two interfaces to access Project for the Web, the Office interface as accessed here https://project.microsoft.com/ or via the Power Apps interface accessing the Project model-driven app. Extending the Office UI is not possible so all customisations are via the Power Apps interface. In this blog post we will start adding an Issues entity to the app. The example can be seen below in my new model-driven app called “Project PPM”:
New “Logs” grouping with Issues on the site map and “Number of Issues” in the project view
Issues entity with related project – clicking the project name navigates to that project:
New Issue form – a few example fields:
Project view with Issues tab and “Number of Issues” field that counts the number of issues for the current project:
Issues tab in the current project:
Clicking New Issue here loads the New Issue form but with the current project pre-selected:
As you can see, this is a very simple customisation but shows various basic steps that can be repurposed to extend the app further. The steps below will walkthrough making these changes.
Access https://make.powerapps.com/ and ensure you’re in the default organisation where the new Project for the Web service is deployed. These steps below add the entity directly rather than via a solution, I’d recommend creating everything via a solution so that it can easily be exported / imported to different environments if needed. Items can be added to solutions after if required, this post does not cover solutions though. Under Data click Entities and add a new Entity, I called mine “Issues”:
Add the fields you want such as Due Date, Description, Owner, Status etc. and save the entity. Also create a field such as “Related Project” that is a lookup to the Project entity – this is important if you want that relationship:
Next access the Views option in the Issues entity and modify / create views as needed, here I’ve just modified the default “Active Issues” view to add my new fields in – Publish the changes:
Now access the Forms option in the Issues entity and update the Main form to add the new fields in – Publish the changes:
Save the Issues entity and access the Project entity, here I added a new rollup field called “Number of Issues”:
I updated the view/s to add the “Number of Issues” field in where applicable and Published the views. The Information form was updated to include the Number of Issues on the Summary tab:
A new 1-column tab component was added to the form, I called this “Issues” and then a Subgrid related data component was added and linked to the new related Issues entity:
The form was then published and the entity saved as required.
That’s all the changes to the entities for this example. Next up is creating the new model-driven app. With the changes just carried out, the default “Project” app will include the changes to the Project entity but you wont have the new Issues entity on the left nav:
In the next post we will look at creating the app seen at the start of the post with future posts planned on more additions such as Risks, a process flow, Programs etc.