Microsoft has two alternate methods to the client-side object model that you can use in Project Online apps and workflows. These methods can help with significant performance improvements when you save and publish projects in custom apps/workflows.
UpdateCustomFields: This method bulk updates project custom fields and is available in the REST API to use only with Project Online.
Previously, custom workflows could only update one custom field at a time. Updating project custom fields one at a time can result in a poor end-user experience when users transition between Project Detail Pages. Each update required a separate server request using the Set Project Field action and updating multiple custom fields on a high-latency, low-bandwidth network resulted in a non-trivial overhead. To resolve this issue, Microsoft has added the UpdateCustomFields method to the REST API that lets you bulk update custom fields. To use UpdateCustomFields, you pass in a dictionary that contains the names and values of all the custom fields you want to update.
The REST method can be found at the following endpoint:
https://<%PWA URL%>/_api/ProjectServer/Projects(‘<%Project GUID%>’)/Draft/UpdateCustomFields()
CreateProjectSite: This method creates a project site and is available in the REST API, CSOM API, and JSOM API to use only with Project Online.
Every project can have a dedicated SharePoint site where team members can collaborate, share documents, raise issues, and so on. Previously, sites could only be created automatically on first publish or manually by the project manager in Project Professional or by the administrator in PWA settings, or they could be disabled.
Microsoft has added the CreateProjectSite method so you can choose when to create project sites, this is particularly useful for organizations who want to create sites automatically when a project proposal reaches a specific stage in a pre-defined workflow, rather than on first publish. Postponing project site creation significantly improves the performance of creating a project.
Prerequisite: Before you can use CreateProjectSite, the Allow users to choose setting must be set for project site creation in PWA Settings > Connected SharePoint Sites > Settings.