Project Online is a cloud-based service that can offers Microsoft’s rich set of Project Portfolio Management (PPM) capabilities within the convenience of the Office 365 cloud infrastructure.
Although one of the benefits of using a cloud-based service is avoiding having to deal with deployment, setup, and hardware and software tuning, it still requires adjustments to deliver the best performance compared with an on-premises deployment.
This article highlights the design recommendations when it comes to customizing and configuring Project Online. Below are areas that can potentially have an impact on overall performance of your Project Web App site.
Security permissions modes: SharePoint Or Project
By default, the Project Online instance comes with SharePoint Permissions mode. When possible, keep the default SharePoint permission mode for better overall performance. If you must change it to Project permission mode, limit your customization as much as possible. A comparison between each setting can be found on TechNet.
Enterprise Project Types
- Project site configuration
You can configure this at each Enterprise Project Type (EPT) level. Project Site creation is turned off by default. If your organization uses project sites, select the option to create them on demand rather than automatically. The first publishing experience is sped up by avoiding the creation of unnecessary sites and content.
Synchronization between Project Online and SharePoint Online
- Sync user permissions for your project site
You can configure this at each Enterprise Project Type (EPT) level. This setting is disabled by default. Disable the Project site permission sync option if the following is true of your deployment:
- You have a large number of resources (>1000)
- You have a large number of projects which require a Project site (>1000)
- You have a large number of resources that need to be granted access to majority of the Project sites
- Project sites are created outside of the default site collection (sync is disabled)
Here are some options to consider for managing your Project site permissions:
- If your project teams have low turnover, consider turning off Project site permission sync to improve Project Publish and Project Detail Pages performance. You would then have to manually grant or remove permission to your Project sites whenever someone joins or leaves a project team.
- If access needs to be granted for all users in PWA and it maps to your existing group permissions, consider configuring your Project sites to inherit from the parent PWA site.
- If site access aligns with specific roles, create one or more groups that map to those roles (possibly if you have Group sync enabled, you can use the same groups) and grant those groups access to the Project site.
Sync SharePoint Tasks Lists for Enterprise projects
You can configure this at each Enterprise Project Type (EPT) level. This setting is disabled by default to improve the speed of project publishing. The Sync SharePoint Task Lists option was intended for use with small project plans. If the project has a large number of tasks, syncing them on publish will take some time as each task needs to be updated one at a time. For example, it takes several minutes to sync a 500 task project plan to the SharePoint task list. Even though the queue job is on a separate correlation and does not block saving and editing of the project plan, we recommend not enabling the Sync SharePoint Task Lists option. We also recommend only syncing projects with less than 250 tasks.
Active Directory Resource Pool sync
Limit Active Directory sync to groups of resources that are actually using the system. In other words, do not add resources to these AD groups unless they need to use the system.
UI customization and look-and-feel
- Page customizations
When you customize pages, treat your Project Online site as any regular Internet website, and create lightweight pages as much as possible.
Organizations can create custom views by using multiple Project Web App pages, including Project Center, Resource Center, Tasks, and Timesheets. The more content is displayed, the slower page rendering will be. You can reduce each page load time by a few seconds if you provide users with a greater number of targeted and pertinent views rather than a few “all-in-one” views. When you configure views, offer users simple specialized views for faster navigation rather than a overcomplex all-in-one view that would load unnecessary data most of the time.
User View Settings
- Project Center: Group by with Rollups
Unless user need to see the rolled-up values, disable the Rollup option in the ribbon.
Project Center: Gantt Chart
Unless users need to see the Gantt chart, disable the Gantt Chart option in the ribbon.
Project Detail Pages (PDP)
Create lightweight, specialized PDPs, and avoid mixing schedule-related and non-schedule related updates.
Project Online has two main update processes for project information:
- Updates requiring a scheduling recalculation (see list below)
- Non-schedule related fields, such as project name, description, and owner.
We recommend that you avoid updating both types of data on the same PDP to prevent triggering both update processes at the same time. Here is a list of the most common actions that require a schedule recalculation.
- Project calendar changes
- Changes to the following date fields:
- Start date
- Finish date
- Status date
- Current date
- Changes in project custom fields
- If the project has any dependencies on deliverable
A second way to improve PDP performance is to reduce the number of web parts and custom fields displayed on each PDP. If your business processes require frequent updates to the same set of fields, create a dedicated PDP with only these fields to improve load and save time.
OData and reporting
When querying OData
- Use a $filter URL option, or use $select to limit the data
- Get an entity collection by using an association
- Do multiple queries to return data one page at a time, by using the $top operator and the $skip operator in a loop
If your reporting needs require you to extract a large volume of data, do not use Power BI instead consider building your own Custom Tool/SQL Server Integration Services (SSIS) package to copy your reporting data into a SQL server database locally or in Microsoft Azure.
Looking for a Custom Tool/Solution to copy your Project Online Reporting data into SQL Server database locally or in Microsoft Azure, we have a readily available solution for you. Know more about it by contacting EPMA today.