OfficeDev / Project-Accelerator

An Accelerator solution for Project for the web
https://project.microsoft.com
MIT License
132 stars 28 forks source link
cds dynamics manage-solutions powerapps project

Project for the web Accelerator

The Project for the web Accelerator applies useful customizations to the Project for the web Power App. The Accelerator can easily be deployed to any environment that has Project for the web already in it. Scenarios included in the Accelerator are...

πŸ’‘ Project Requests. Create a list of ideas for Projects that include a business case and expected impact. The included Power Automate flow will create projects whenever the state of requests is set to Approved.

πŸ’Ό Programs. Create a heirarchy of programs and projects see how work fits into the bigger picture.

πŸ”₯ Risks and Issues. Manage the surprises that accompany every project. Create and assign risks and issues to minimize impacts to a project's schedule.

🚧 Changes. Use change tracking processes to help understand the history of a project.

πŸ“ Status. Centralize recording of project status to keep stakeholders up-to-date.

This repository also contains a Power BI template that can be deployed alongside the Accelerator. For the best experience, deploy the Accelerator, then deploy the Power BI content pack, and finally, customize the Accelerator to use the deployed Power BI report. Follow the instructions below to get started!


Here's the latest version of the Accelerator

Here's the latest version of the Power BI Template for the Accelerator


Important Notes about the latest release of the Accelerator (1.7.0.5)

This release of the Accelerator includes a Power Automate flow that converts Project Requests in an Approved state into projects. To disable this flow, follow the instructions located later in this guide.

Contents of this GitHub Repository

File Description
README.md This README file.
LICENSE.md Details about the MIT License for anyone looking to reuse code in this repository in their own applications
releases folder containing the Project for the web Accelerator and Power BI template

Deploying the solution

Prerequisites

Instructions

  1. Sign into powerapps.com.
  2. In the top header, open the Environment menu and select the environment you have the Project solution installed in.
  3. On the left navigation, click the Solutions menu item.
  4. Click on the Import button in the top menu bar of this page.
  5. In the popup, press the choose file button and navigate to the local directory where you downloaded the Accelerator zip file.
  6. Press next, and select an existing connection to a Power Automate flow or create a new one.
  7. Press the next button and then import to begin importing the solution. This will take several minutes, so grab a coffee β˜•.

Once this has been completed you're done deploying the solution!

The Project Power App in this environment will look similar to the screenshot below.

Project Power App with Accelerator

Customizing the Accelerator

Like the Project Power App, the Accelerator has been marked as β€œmanaged”, which means that changes directly to the Accelerator solution are not allowed. The environment needs to be customized directly or a solution is created which contain the customizations and layered on top of the accelerator (preferred).

The layering approach allows Microsoft to make future improvements and fixes to the Accelerator. Customers can deploy these changes as upgrades to their environment. Custom solutions can package up and deployed to multiple environments where the accelerator is deployed. To learn more about this process, please review Application lifecycle management (ALM) with Microsoft Power Platform. To get started on creating a custom solution, please review Create a solution.

Converting a Project Request into a Project using Power Automate

The Accelerator helps teams take their ideas and turn them into projects. This is possible because a Power Automate flow is included in the solution.

To get started, create a new Project Request. All requests start of in a New state.

Project request in a new state

To create a project, change the state to Approved and press the Save button to save the record. In a few moments, a new project will appear in the list of projects.

Customizing the flow

The flow included with the Accelerator is very simple: it creates a project from a request in an Approved state. This can be customized to support scenarios such as including steps to send a notification to Teams. Customizing the flow starts in the Power Platform makers portal.

  1. Open the Project for the Web Accelerator solution in Power Apps
  2. Look for the When the request state is updated to Approved cloud flow Cloud Flow in the solution
  3. Click on the label to open the flow in flow.microsoft.com
  4. Edit the flow to support the workflows of your team
  5. Save the Flow and close the browser tab
  6. In the Power Apps makers portal, press the _Publish all customizations- button to persist changes to the flow Publish customizations button

Disabling the flow

The flow can be disabled from within the solution explorer. Open the Project for the Web Accelerator solution in Power Apps

  1. Look for the When the request state is updated to Approved cloud flow
  2. Press the "..." to open the menu for the flow
  3. Select the Turn Off menu option
  4. At the top of the window, press the _Publish all customizations- button to persist changes to the flow Turn off flow

Using the Power BI template

Prerequisites

Deploy the Power BI template

  1. Download the Power BI template for the Accelerator.
  2. Deploy it using Power BI Desktop or in the PowerBI.com service.
  3. When prompted for the environment url, use the base url of your environment. For example: https://myenvironment.crm.dynamics.com

When you deploy the report, ensure that your team will have access to it. Learn more about sharing in Power BI.

Modify the Project Accelerator – Reports menu to use the deployed template or any Power BI report

Prerequisites

  1. Power BI report has been deployed to PowerBI.com
  2. A customized solution has been created to include the changes. To create a solution please review Create a solution.

The Report menu currently points at a web resource file containing HTML with instructions on how to get the Power BI Template with the Accelerator. Since the Accelerator is managed, the web resource cannot be edited. There are two options to have the report bring up the Power BI report:

Updating the report menu via Power BI embedded report

  1. Sign into powerapps.com
  2. Select the environment containing the Accelerator
  3. Select solutions -> the customized solution -> Edit
  4. Select the Objects option
  5. New -> Dashboard -> Power BI embedded

Add embedded report to solution

  1. Give the report a name and choose the workspace/report and save

Choose Power BI Report

  1. If not already added, add the site map to the custom solution
    • Add existing -> more-> Site Map
    • Choose Project – msdyn_ProjectServiceCore
    • Click add
  2. Select the site map and click edit
  3. Select the Reports option under Reporting
    • Select Type = Dashboard
    • Default Dashboard = choose the report from the drop down
    • Save and close

Set Sitemap embedded report

  1. Click Publish
  2. Go back to the Project app and click Report
  3. The report will now show up along other reports in the environment

Power BI reports in the Project Power App

Updating the report menu via Web resource (full frame)

The Accelerator already contains a placeholder for the Power BI template. Once you've deployed the Accelerator and the Power BI template, follow these steps to have the Power BI report appear in the Accelerator.

  1. Once you've deployed the Power BI template, open the report in PowerBI.com.
  2. Press the file -> Embed Report -> Website or portal

The website or portal menu option under the share button

  1. Copy the link in the top box ("Here's a link you can use to embed content") and keep it handy.

Embed link

  1. Sign into Power Apps

  2. Select the environment containing the Accelerator

  3. Select solutions -> the customized solution -> Edit

  4. Select the Objects option

  5. New -> more -> Web resource

  6. Set

    • Display Name: Accelerator Power BI report
    • Name: Accelerator_report
    • Type: Webpage HTML
  7. Create a new html file to upload with the follow text. Update the β€œREPLACE THIS” with the embedded string copied earlie

  <html>
  <head>
    </head>
    <body onfocusout="parent.setEmailRange();" style="overflow-wrap: break-word;">
      <iframe width="100%" height="100%" src="https://github.com/OfficeDev/Project-Accelerator/raw/main/REPLACE THIS" frameborder="0" allowfullscreen="true"></iframe>
    </body>
  </html>
  1. Press OK to save the changes and close the dialog.
  2. If not already added, add the site map to the custom solution
    • Add existing -> more-> Site Map
    • Choose Project – msdyn_ProjectServiceCore
    • Click add
  3. Select the site map and click edit
  4. Select the Reports option under Reporting
    • Select Type = Web Resource
    • URL = Accelerator Power BI report

Set Sitemap web resource

Power BI reports in the Project Power App

Licensing

The Accelerator solution and Power BI template are distributed free of charge under the MIT license. However, using them in your environments to work with Project for the web has certain licensing implications.

Refer to the Project Service Description for details about Project licensing.

Using the Accelerator without the Power BI content pack

Using all the customizations -except the reports- requires a Project Plan 1 license. This applies to your project managers who also need to do things like organize programs, track issues and risks, manage the business case and financials, or edit the custom columns such as corporate sponsor of the project.

Users who don't need to make any changes to the project and only need to view things like risks and issues need a Microsoft 365 license.

Using the Accelerator with the Power BI content pack

Users who need to view the Power BI reports in the Project Accelerator need the following

  1. an M365 or Project Plan 1 license
  2. a Power BI license

Using the Accelerator without using Project for the web

All the content on this site is completely free for you to reuse in your own applications. Refer to the LICENSE file for details. It is only when using the Accelerator with the Project Power App or when using the Project for the web tables that there are additional licensing implications.

Support and Troubleshooting

For support of the Accelerator you can either raise an issue here in Github or open a new service request through the Microsoft 365 admin center Support tab. Microsoft fully support the deployment and use of the Accelerator with Project for the web, however we do not support any subsequent customizations that either you or a partner may have added on top of the Accelerator. We would of course still support the core functionality even if customizations have been added.

For best experience to avoid any issues with subsequent releases of the Accelerator always follow best practices of using managed solutions for any additional customization. Learn about using solutions and related documents for guidance on working with solutions and understanding correct use of solution layers.

Errors about Dependencies

If you get an error (shown below) that you need a version of msdyn_ProjectServiceCore > 1.0.0.87, navigate to your list of solutions for your environment in Power Apps and ensure that the latest version of the Project Service Core solution is installed. You'll see an "Update" option next to the solution name if there is an update available. After the update is complete, try installing the Accelerator package again. Power BI reports in the Project Power App

Unable to turn on the flow for converting Project Requests into Projects

Some customers upgrading from an earlier version of the Accelerator may encounter one of these errors trying to turn on the flow.

Failed to activate component(s). Flow save failed with code OpenApiOperationParameterValidationFailed and message Input parameter item' validation failed in workflow operation...

or this error in flow.microsoft.com

Flow save failed with code OpenApiOperationParameterValidationFailed and message Input parameter item validation failed in workflow operation Create_a_new_record: The API operation 'CreateRecord' is missing required property item/msdyn_schedulemode.

To resolve this, do the following.

  1. In the Project Accelerator solution, open the flow by clicking on the label of the cloud flow When a Request State is Updated.... This will open the flow.microsoft.com editor. Solution explorer
  2. Press the Edit flow button Edit flow button
  3. Click the Condition step to expand it Condition step
  4. In the If yes condition, expand the Create a new record step.
  5. Choose a value for the Scheduling Mode field. Set it to Fixed Duration if you're unsure of which scheduling mode you want. Don't leave it blank. Learn more about scheduling modes.
  6. Press the save button to persist the changes
  7. Press the back arrow at the top of the flow editor Back arrow
  8. Press the Turn On button to enable the flow Turn on
  9. Close the browser tab to return to the Accelerator solution in make.powerapps.com
  10. Press the Publish customizations button at the top to persist the changes.
  11. The flow should now work! To try it out, open a Project Request to the Approved state and a project will be created