Project Online のパフォーマンスの調整Tune Project Online performance

数年前に Project Online が立ち上がったので、すべてのサイズの組織は、microsoft の Office 365 クラウド インフラストラクチャの利便性の範囲内で、Microsoft の豊富なプロジェクト ポートフォリオ管理 (PPM) 機能を使用できます。With the launch of Project Online a few years ago, organizations of all sizes have been able to use Microsoft's rich set of Project Portfolio Management (PPM) capabilities within the convenience of our Office 365 cloud infrastructure.

クラウドベースのサービスを使用する明らかな利点の 1 つは、展開、セットアップ、ハードウェアとソフトウェアのチューニングに対処する必要を回避する方法ですが、組織が Project Online から最適なパフォーマンスを得る方法がまだ存在します。Although one of the obvious benefits of using a cloud-based service is avoiding having to deal with deployment, setup, and hardware and software tuning, there are still some steps you can take to ensure your organization gets the best performance out of Project Online.

Project Online には多くの構成設定とカスタマイズ設定がありますが、カスタマイズはパフォーマンスに影響を与える可能性があります。Project Online offers many configuration and customization settings, but customizations can have a performance impact. この記事では、Project Online の最も一般的な設定のパフォーマンスへの影響とトレードオフを強調し、Project Online のカスタマイズと構成に関して、情報に基づいた意思決定を行えます。This article highlights the performance impact and tradeoffs of some of the most common Project Online settings, so you can make informed decisions when it comes to customizing and configuring Project Online.

この記事は、Office 365 プロジェクトのネットワーク計画とパフォーマンスチューニングの一部です。This article is part of the Network planning and performance tuning for Office 365 project.

Office 365 と SharePoint Online のベスト プラクティスOffice 365 and SharePoint Online best practices

SharePoint Onlineおよび Office 365のネットワーク計画とパフォーマンスのチューニングに関する豊富な情報があります。There is a wealth of information around network planning and performance tuning for SharePoint Online and Office 365. この情報はすべて Project Online のお客様に関連し、Project Online に固有の以下のベスト プラクティスに加えて参照する必要があります。All this information is relevant to Project Online customers and should be consulted in addition to the following best practices specific to Project Online.

Project Online の構成とカスタマイズProject Online configuration and customization

Project Web App サイトの多くの要素は、管理設定からアクセス許可、およびコラボレーション設定から外観にまで構成およびカスタマイズできます。Many elements of a Project Web App site can be configured and customized, from administrative settings to permissions, and from collaboration settings to look-and-feel. サイト全体のパフォーマンスに影響を与える可能性がある設定Project Web Appします。Let's look at the settings that can potentially have an impact on the overall performance of your Project Web App site.

以下について取り上けます。We will cover:

  • セキュリティ アクセス許可モードSecurity permissions modes

  • エンタープライズ プロジェクトの種類Enterprise Project Types

    • プロジェクト サイトの構成Project site configuration

    • Project Online と SharePoint Online の間の同期メカニズムSynchronization mechanisms between Project Online and SharePoint Online

  • Active Directory リソース共有プールの同期Active Directory Resource Pool sync

  • UI のカスタマイズと外観UI customization and look-and-feel

  • プロジェクト詳細ページ (PDP) とワークフローProject Detail Pages (PDP) and workflows

  • イベント処理Event Handling

  • OData とレポートOData and reporting

  • Project Online クォータProject Online quota

(この情報の一部は、Project Server 2013 Project Server 2016 にも適用されます)。(Some of this information applies to Project Server 2013 and Project Server 2016 as well.)

アクセス許可モード: SharePoint または ProjectPermission modes: SharePoint or Project

Project Online と Project Server 2013では、従来の Project アクセス許可モードではなく、SharePoint アクセス許可モードと呼ばれる、新しく簡略化されたアクセス許可モデルが導入されました。With Project Online and Project Server 2013, we introduced a new and simplified permission model called SharePoint permission mode, as opposed to the legacy Project permission mode. 両方のモードの比較は Technet で確認できますThe comparison between both modes can be found on Technet.

新しい Project Online インスタンスは、既定で SharePoint アクセス許可モードでプロビジョニングされ、このモードが大多数のお客様のニーズに対応できると確信しています。New Project Online instances are provisioned in SharePoint permission mode by default, and we are confident this mode will address the needs of the vast majority of customers. このモードを使用すると、通常の SharePoint グループとアクセス許可を使用してユーザーの承認を管理できます。By using this mode, you can manage user authorization via regular SharePoint groups and permissions.

Project アクセス許可モードは、高いカスタマイズ性を提供しますが、パフォーマンスの点で価格が高い場合があります。Project permission mode offers a high degree of customizability, but it can come at a price in terms of performance. 何百ものカテゴリを作成し、RBS (Resource Breakdown Structure) を介して動的なアクセス許可に大きく依存している場合、管理者やポートフォリオ 管理者など、多くのコンテンツにアクセスできるユーザーのエンド ユーザー エクスペリエンスが遅くなる可能性があります。If you create hundreds of categories and rely heavily on dynamic permissions via your Resource Breakdown Structure (RBS), it might slow down the end-user experience for users who have access to a lot of content, such as admins and portfolio managers.

注意

SharePoint アクセス許可モードと Project Server アクセス許可モードを切り替えると、セキュリティ関連のすべての設定が削除されます。Switching between SharePoint permission mode and Project Server permission mode deletes all security-related settings. SharePoint アクセス許可モードから従来の Project Server アクセス許可モードに切り替える場合は、Project Server 2013 および Project Server 2016 でセキュリティ アクセス許可構造を手動で構成する必要があります。If you switch from SharePoint permission mode to classic Project Server permission mode, you have to manually configure your security permissions structure in Project Server 2013 and Project Server 2016. Project Server アクセス許可モードから SharePoint アクセス許可モードに戻すと、セキュリティ アクセス許可情報が Project Server 2013 Project Server 2016 から削除されます。Switching from Project Server permission mode back to SharePoint permission mode deletes your security permissions information from Project Server 2013 and Project Server 2016.

推奨事項:Recommendation:

可能であれば、全体的なパフォーマンスを向上させる既定の SharePoint アクセス許可モードを維持します。When possible, keep the default SharePoint permission mode for better overall performance. Project アクセス許可モード を使用する必要がある場合は、カスタマイズを可能な限り制限します。If you need to use Project permission mode, limit your customizations as much as possible.

エンタープライズ プロジェクトの種類Enterprise Project Types

エンタープライズ プロジェクトの種類 (EPT) は、フェーズ、ステージ、1 つのワークフロー、およびプロジェクト詳細ページ (PDP) をカプセル化するラッパーを表します。An Enterprise Project Types (EPT) represents a wrapper that encapsulates phases, stages, a single workflow, and Project Detail Pages (PDPs).

また、次の情報を定義できます。EPTs also allow you to define:

  • プロジェクト サイトの構成Project site configuration

  • Project Online と SharePoint Online の間の同期メカニズムSynchronization mechanisms between Project Online and SharePoint Online

プロジェクト サイトの構成Project site configuration

プロジェクト サイトは、SharePoint のコア機能を基に構築されています。Project sites are built on core SharePoint functionality. プロジェクト サイトの作成は簡単なプロセスではなく、組織でプロジェクト サイトが必要になる場合と必要になる場合を決定することで、エンド ユーザーの全体的なエクスペリエンスを向上させるのに長い道のりを行く可能性があります。Creating project sites is not a lightweight process, and deciding if and when your organization might need project sites can go a long way in improving the overall end-user experience.

多くの組織では、Project Online を使用してプロジェクト提案の収集と評価を行い、どのプロジェクトを資金にするか決定します。A lot of organizations use Project Online to collect and rate project proposals before deciding which projects to fund. プロジェクトを初めて発行する場合にプロジェクト サイトが自動的に作成される設定の場合、すべてのプロジェクト提案 (切り取りを行う必要がなくても) はプロジェクト サイトを取得します。If project sites are set to be automatically created the first time a project is published, then all project proposals, even the ones that don't make the cut, get a project site. これらの不要なサイトは、後で手動でクリーンアップする必要があります。These unnecessary sites would have to be manually cleaned up afterwards.

より良い方法は、プロジェクト サイトを使用する場合は、ユーザーがグループ作業サイトを作成する時間を選択するか、またはプロジェクト提案が特定のステージ ゲートに達するとすぐにワークフローによって作成される方法のどちらかです。A better approach, if you decide to use project sites, is either letting the user choose when to create their collaboration site, or, even better, having it created by a workflow as soon as the project proposal reaches a certain stage gate.

現在 SharePoint Online では、 各サイト コレクションに対して作成できるサブサイトの数が制限されています。SharePoint Online currently SharePoint Online limits the number of subsites that can be created for each site collection. EPT を使用すると、新しいプロジェクト サイトを作成するサイト コレクションを定義できます。An EPT allows you to define which site collection to create new project sites in. これにより、複数のサイト コレクションにまたがる場合に、各プロジェクトのプロジェクト サイトを作成できます。This will allow you to create a project site for each project as you can span them across multiple site collections.

PWA サイト コレクション間のプロジェクト サイト

たとえば、IT 部門専用のサイト コレクションがある場合は 、IT プロジェクト EPT を構成してプロジェクト サイトを作成できます https://contoso.sharepoint.com/sites/ITFor example, if you have a site collection dedicated to your IT department, you can configure your IT Projects EPT to create Project sites off of https://contoso.sharepoint.com/sites/IT .

プロジェクト サイトの作成場所

推奨事項:Recommendation:

組織でプロジェクト サイトを使用している場合は、自動的に作成するのではなく、必要に応じて作成するオプションを選択します。If your organization uses project sites, select the option to create them on demand rather than automatically. これにより、最初の発行エクスペリエンスが高速化され、不要なサイトやコンテンツの作成が回避されます。This speeds up the first publishing experience and avoids creating unnecessary sites and content.

EPT ごとに、次の方法でこのオプションを構成できます。For each EPT, you can configure this option by:

  1. [ Project Web App設定] で、[ エンタープライズ プロジェクト の種類] をクリックしますIn Project Web App Settings, click Enterprise Project Types.

  2. 設定を変更する必要がある EPT を選択します。Select the EPT to which you need to change the setting.

  3. [EPT 設定] ページの [ プロジェクト サイト] セクションで、[ユーザーによる選択 を許可する] を選択しますIn the EPT settings page, in the Project Site section, select Allow users to choose.

    プロジェクト サイト作成オプション

    EPT を使用して、独自のサイト コレクションにプロジェクト サイトを作成します。Create project sites in their own site collection by the EPT. サイト コレクション内のプロジェクト サイトの数を SharePoint Online の SharePoint Onlineの制限より少なくします。Keep the number of project sites in a site collection below the SharePoint Online SharePoint Online limits.

何を同期しますか?What do you sync?

Project Online は、Project Server が SharePoint Server 上で実行されるのと同じ方法で、SharePoint Online の上で実行されます。Project Online runs on top of SharePoint Online the same way Project Server runs on top of SharePoint Server. その結果、2 つのシステム間で一定の数のコンポーネントの同期を維持する必要があります。As a result, we have to keep in sync a certain number of components between to two systems. これらの同期には時間がかかる場合があり、ビジネス ニーズによっては不要な場合があります。These synchronizations can be time consuming and, depending on your business needs, can sometimes be unnecessary. この記事では、これらすべての同期システムについて、必要な同期システムと、安全にオフにできる同期システムを決定するのに役立つ情報を示します。This article explores all these various synchronization systems to help you decide which ones you need and which ones you can safely turn off. これらの設定の一部は、既定で既にオフになっています。Some of these settings are already off by default.

以下のセクションでは、以下について説明します。In the following sections, we discuss:

  • プロジェクト サイトのユーザー権限を同期するSync user permissions for your project site

  • エンタープライズ プロジェクトの SharePoint タスク リストを同期するSync SharePoint Tasks Lists for Enterprise projects

ユーザーのアクセス許可の同期Sync User Permissions

プロジェクト サイトは、プロジェクト チームが共同作業、ドキュメントのアップロード、および問題の発生を行うワークスペースです。Project Sites are workspaces where project teams can collaborate, upload documents, and raise issues. 同期ユーザー権限を有効にすると、ユーザーにプロジェクトへのアクセス許可が付与されるたびに、対応する Project サイトの権限が更新されます。When sync user permissions is turned on, whenever a person is granted permission to a project, the corresponding Project site permissions are updated.

この同期は、プロジェクトが発行されるたび行います。This synchronization happens every time the project is published. 同期の利便性のトレードオフは、パフォーマンスです。たとえば、同期する必要があるユーザーとサイトが多くなると、操作が遅くなります。特に、プロジェクト サイトのアクセス許可の再同期を必要とする複数のプロジェクトの一括発行、インポートまたは作成 (プロジェクト サイトを使用)、グループ メンバーシップの更新を行う場合です。The tradeoff for the sync convenience is performance, e.g., the more users and sites that need to be synced, the slower the operation, especially if you're bulk publishing, importing or creating multiple projects (with Projects sites), or updating group memberships that will require a resync of project site permissions.

EPT ごとに、同期ユーザーのアクセス許可が有効になっているか定義できます。For each EPT, you can define if sync user permissions is turned on.

注意

Project Web App サイトの場所とは異なるサイト コレクションにプロジェクト サイトが作成されている場合 (たとえば、Project Web App が場所にあり、EPT がプロジェクト サイトを作成している場合、ユーザー権限の同期はサポートされません。 https://contoso.sharepoint.com/sites/pwa https://contoso.sharepoint.com/sites/IT)If project sites are created in a different site collection than where the Project Web App site is located (for example, https://contoso.sharepoint.com/sites/pwa is where Project Web App is located and the EPT is creating project sites in https://contoso.sharepoint.com/sites/IT), syncing user permissions is not supported.

推奨事項:Recommendation:

以下が展開に当てはまる場合は、Project サイトのアクセス許可の同期オプションを無効にすることを強く推奨します。We strongly recommend that you disable the Project site permission sync option if the following is true of your deployment:

  • 大量のリソースがある ( > 1000)You have a large number of resources (>1000)

  • プロジェクト サイト > (1000) を必要とするプロジェクトが多数含まれています。You have a large number of projects which require a Project site (>1000)

  • 大部分の Project サイトへのアクセスを許可する必要がある多数のリソースがあるYou have a large number of resources that need to be granted access to the majority of Project sites

  • プロジェクト サイトは既定のサイト コレクションの外部に作成されます (同期は無効です)Project sites are created outside of the default site collection (sync is disabled)

Project サイトの権限を管理する際に考慮する必要があるオプションを次に示します。Here are some options to consider for managing your Project site permissions:

  • プロジェクト チームの回転率が低い場合は、プロジェクト発行とプロジェクト詳細ページのパフォーマンスを向上させるために、Project サイトのアクセス許可の同期をオフにしてください。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.

  • PWA のすべてのユーザーに対してアクセス権を付与する必要がある場合、既存のグループのアクセス許可にマップする場合は、親PWA サイトから継承する Project サイトの構成を検討してください。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.

  • サイト アクセスが特定の役割と一致する場合は、それらの役割にマップする 1 つ以上のグループを作成し (グループの同期を有効にしている場合は、同じグループを使用できます)、それらのグループに Project サイトへのアクセス権を付与します。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.

EPT ごとに、次の方法で同期ユーザー制限を有効にできます。For each EPT, you can turn on Sync User Permisssions by:

  1. [ Project Web App設定] で、[ エンタープライズ プロジェクト の種類] をクリックしますIn Project Web App Settings, click Enterprise Project Types.

  2. 設定を変更する必要がある EPT を選択します。Select the EPT to which you need to change the setting.

  3. [EPT 設定] ページの[同期] セクションで、[ユーザー アクセス許可の同期 ] を選択しますIn the EPT settings page, in the Synchronize section, select User Permission Sync.

    ユーザー アクセス許可の同期

エンタープライズ プロジェクトの SharePoint タスク リストを同期するSync SharePoint Tasks Lists for Enterprise projects

プロジェクトの発行速度を 向上させるために、SharePoint タスク リストの同期は既定でオフになっています。Sync SharePoint Tasks Lists is turned off by default to improve the speed of project publishing. これにより、プロジェクト詳細ページ間の切り替え速度も向上します。This also helps speed the transition between Project Detail Pages. ユーザーがプロジェクト サイトのタスク リストとそのタイムラインの視覚エフェクトに依存している場合は、この機能を有効にし、プロジェクト発行のパフォーマンスへの影響が妥当な場合に確認できます。If your users rely on the task list and its timeline visualization in the Project site, you can turn this feature on and check if its impact on the performance of project publishing is reasonable.

注意

Project Web App サイトがあるサイト コレクションとは異なるサイト コレクションにプロジェクト サイトが作成されている場合 (たとえば、Project Web App が場所にあり、EPT がプロジェクト サイトを作成している場合 https://contoso.sharepoint.com/sites/pwa 、SharePoint タスク リストの同期はサポートされていません。 https://contoso.sharepoint.com/sites/IT)If project sites are created in a different site collection than where the Project Web App site is located (for example, https://contoso.sharepoint.com/sites/pwa is where Project Web App is located and the EPT is creating project sites in https://contoso.sharepoint.com/sites/IT), syncing SharePoint Tasks Lists is not supported.

推奨事項Recommendation

[SharePoint タスク リストの同期] オプションは、小規模なプロジェクト計画で使用することを目的としました。The Sync SharePoint Task Lists option was intended for use with small project plans. プロジェクトに多数のタスクがある場合は、発行時にタスクを同期するには、各タスクを一度に 1 つ更新する必要がある場合に時間が必要です。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. たとえば、500 タスク プロジェクト計画を SharePoint タスク リストに同期するには数分かかります。For example, it takes several minutes to sync a 500 task project plan to the SharePoint task list. キュー ジョブは別の相関関係に存在し、プロジェクト計画の保存と編集をブロックしませんが、[SharePoint タスク リストの同期] オプションを有効にしません。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. 250 タスク未満のプロジェクトのみを同期することをお勧めします。We recommend only syncing projects with less than 250 tasks.

既定では、このオプションはオフになっています。This option is turned off by default. ユーザーが EPT ごとに機能を必要とする場合にのみ、SharePoint タスク リストの同期を有効にします。Only turn SharePoint Tasks Lists sync on if your users need the feature for each EPT. このオプションを構成するには:To configure this option:

  1. [ Project Web App設定] で、[ エンタープライズ プロジェクト の種類] をクリックしますIn Project Web App Settings, click Enterprise Project Types.

  2. 設定を変更する必要がある EPT を選択します。Select the EPT to which you need to change the setting.

  3. [EPT 設定] ページの[同期] セクションで、[SharePoint タスク リストの同期 ] を選択しますIn the EPT settings page, in the Synchronize section, select Sync SharePoint Tasks Lists.

    SharePoint タスク リストを同期する

Active Directory リソース共有プールの同期Active Directory Resource Pool sync

Active Directory リソース共有の同期自体には、特定のパフォーマンスの問題は発生しません。また、数千ものリソースを数分Project Web Appインスタンスにインポートできます。Active Directory Resource Pool sync by itself does not have particular performance issues and can import thousands of resources into your Project Web App instance in minutes. ただし、システムの他の部分に対するダウンストリームの影響は、パフォーマンスに影響を与える可能性があります。However, its downstream effect on other parts of the system can impact performance. 目を通す主なプロセスは、前述のリソース アクセス許可の同期です。The primary process to keep an eye on is the resource permission sync previously mentioned. Active Directory グループメンバーシップの回転率が大きく、頻繁にリソース共有を同期する必要がある場合は、関連するアクセス許可同期ジョブに対するダウンストリームの影響を監視します。If there is large turnover in your Active Directory groups membership, and that requires you to sync your Resource Pool often, monitor any potential downstream effects on related permission sync jobs.

推奨事項:Recommendation:

Active Directory の同期を、システムを実際に使用する必要があるリソースのグループに制限し、大規模なグループの同期後に潜在的なアクセス許可の問題を監視します。Limit Active Directory sync to groups of resources that actually need to use the system, and monitor any potential permission issues after the synchronization of large groups. (Active Directory エンタープライズ リソースプールの同期を構成するには、[Project Web Appの設定] で[Active Directory リソースプールの同期 ] をクリックします(To configure Active Directory Enterprise Resource Pool Synchronization, in Project Web App Settings, click Active Directory Resource Pool Synchronization.

PWA ページとビューのカスタマイズPWA pages and views customizations

ページのカスタマイズPage customizations

SharePoint プラットフォームは、モジュール化された Web パーツ インフラストラクチャとカスタム ページのサポートにより、大きなカスタマイズ機能を提供します。The SharePoint platform offers great customization capabilities with its modular webpart infrastructure and support for custom pages. ロゴ、カスタム Web パーツ、および新しいテーマを追加すると、サーバーの近接性、待機時間の短さ、および高帯域幅のネットワークの利点により、オンプレミスインフラストラクチャのパフォーマンスに大きな影響を与えなくなる可能性があります。When you add logos, custom webparts, and new themes, it might not have a significant impact on performance on an on-premises infrastructure due to the benefits of server proximity, low latency, and high bandwidth networks. ただし、オンライン サービスでは、ストーリーは異なります。However, on an online service, the story is different.

大きなファイル サイズのロゴやグラフィックをアップロードすると、オンプレミス展開ではページの速度が少し低下する可能性がありますが、オンラインでは、ページの読み込み時にパフォーマンスが大幅に低下します。When you upload a logo or graphic with a large file size, it might slow down pages a bit on an on-premises deployment, but online, the performance hit on page loads is substantial.

ページに複数の Web パーツを追加する場合も、同じ原則が適用されます。The same principle applies when you add multiple webparts to a page. 複数の Web パーツを含むカスタム ページが必要な場合がありますが、ユーザーが実際にデータを並べて表示する必要がない限り、専用ページを 1 か所に配置するよりも、個別の専用ページを用意する方が適切です。It might be tempting to have a custom page with multiple webparts, but unless users actually need to see the data side by side, it is better to have separate specialized pages than having it all in one place. ユーザーがページ上の 1 つの Web パーツのコンテンツのみを必要とする場合でも、ページが他のすべての Web パーツのデータを読み込み、表示するのを待つ必要があります。If users only need the content of one webpart on the page, they still have to wait longer for the page to load and display the data for all the other webparts.

推奨事項:Recommendation:

ページをカスタマイズする場合は、Project Online サイトを通常のインターネット Web サイトとして扱い、可能な限り軽量なページを作成します。When you customize pages, treat your Project Online site as any regular Internet website, and create lightweight pages as much as possible.

ビューのカスタマイズViews customizations

ここでも、ページ読み込みパフォーマンスを向上させるには、簡潔さが長い道のりになります。Here again, simplicity goes a long way to improving page load performance. 組織は、プロジェクト センター、リソース センター、タスクProject Web Appタイムシートなど、複数のページを使用してカスタム ビューを作成できます。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 simple and targeted views rather than a few "all-in-one" views.

次の例では、2 番目のビューの読み込み時間が最初のビューよりも平均 2 ~ 3 秒少ない。In the examples below, the second view takes an average of 2 to 3 seconds less to load than the first one.

カスタマイズされたプロジェクト センター ビューのスクリーンショット。

プロジェクト センター ビューのスクリーンショット。

推奨事項:Recommendation:

ビューを構成する場合、不要なデータをほとんどの場合読み込む複雑な一連のビューではなく、より高速なナビゲーションのために、単純な特殊なビューをユーザーに提供します。When you configure views, offer users simple specialized views for faster navigation rather than a complex all-in-one view that would load unnecessary data most of the time.

ユーザー ビューの設定User View Settings

プロジェクト センター: ロールアップによるグループ化Project Center: Group by with Rollups

ユーザーは、さまざまなフィールドでデータをグループ化する方法など、ビューを表示するさまざまな方法を構成できます。Users can configure different ways to have the view rendered to them including having data grouped by different fields. グループ化 を使用する 場合、サポートされている集計フィールド (たとえば、コストの合計やユーザー設定フィールド) のデータをロールアップできます。When using group by, data can be rolled up for supported aggregation fields (for example, summing costs or a custom field). これらの集計値を計算すると、サービスは、合計を表示するためにすべての値を読み込む必要があります。Computing these aggregate values requests the service to load up all the values in order to display the total.

フィールド別にグループ化され、集計フィールド用にロールアップされたデータの例。Example of data grouped by fields and rolled up for aggregation fields.

推奨事項:Recommendation:

ユーザーがロールアップ値を表示する必要がない限り、リボンの [ロールアップ ] オプションを無効にします。Unless the user needs to see the rolled up values, disable the Rollup option in the ribbon.

ロールアップ オプション

プロジェクト センター: ガント チャートProject Center: Gantt Chart

[ガント チャート] ビューのグラフ部分には、各プロジェクトがサマリー ガント バーとして表示されます。The chart portion of the Gantt Chart view displays each project as a summary Gantt bar.

推奨事項:Recommendation:

ユーザーにガントを表示する必要がない限り、リボンの [ガント チャート] オプションを無効にします。Unless the user needs to see the Gantt, disable the Gantt Chart option in the ribbon.

[ガント チャート] オプション

カスタム プロジェクト詳細ページとワークフローCustom Project Detail Pages and Workflows

ページ設計に関して上で説明した推奨事項に加えて、プロジェクト詳細ページ (PDP) は、プロジェクト全体の再計算をトリガーしてワークフロー アクションを開始できる点で特に重要です。どちらのアクションも、カスタマイズに応じてパフォーマンスの点でコストの高い操作になる可能性があります。In addition to the recommendation provided above for page design, Project Detail Pages (PDPs) are particular in that they can trigger a recalculation of the entire project and kick off workflow actions, both of which can be expensive operations in terms of performance, depending on your customizations.

Project Online と Project Server には、プロジェクト情報に関する 2 つの主要な更新プロセスがあります。Project Online and Project Server have two main update processes for project information:

  • スケジュールの再計算が必要な更新 (下記の一覧を参照)Updates requiring a scheduling recalculation (see list below)

  • プロジェクト名、説明、所有者など、スケジュール以外の関連フィールド。Nonschedule-related fields, such as project name, description, and owner.

両方の更新プロセスを同時にトリガーしないように、同じ PDP で両方の種類のデータを更新しないようにすることをお勧めします。We recommend that you avoid updating both types of data on the same PDP to avoid 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 deliverables

PDP のパフォーマンスを向上させる 2 つ目の方法は、各 PDP に表示される Web パーツとユーザー設定フィールドの数を減らすことです。A second way to improve PDP performance is to reduce the number of webparts and custom fields displayed on each PDP. ビジネス プロセスで同じフィールド セットを頻繁に更新する必要がある場合は、読み込みと時間を節約するために、これらのフィールドのみを含む専用 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. すべてのユーザー設定フィールドを一切表示すると、多くの不要なオーバーヘッドが発生します。Displaying all custom fields at all times results in a lot of unnecessary overhead.

推奨事項:Recommendation:

軽量な専用 PDP を作成し、スケジュールに関連する更新プログラムとスケジュールされていない更新プログラムが混在しないようにします。Create lightweight specialized PDPs, and avoid mixing schedule-related and nonschedule-related updates.

新しい REST API を使用したワークフローでのユーザー設定フィールドの一括更新Bulk custom fields updates in workflows with new REST API

ワークフロー内のプロジェクト ユーザー設定フィールドの値を一度に 1 つ更新するには、[プロジェクト フィールドの設定] アクションを使用して個別のサーバー要求が必要です。Updating project custom fields values in a workflow one at a time requires a separate server request using the Set Project Field action. これにより、待ち時間の長い低帯域幅ネットワークで多くのユーザー設定フィールドを同時に更新すると、パフォーマンスが低下します。This results in reduced performance when updating a lot of custom fields at the same time on a high-latency, low-bandwidth network.

この問題を解決するには、ユーザー設定フィールドを一括で更新 する CSOM メソッドがありますTo solve this issue, there is a CSOM method to update custom fields in bulk. このメソッドでは、更新するユーザー設定フィールドの名前と値を含む辞書を渡す必要があります。This method requires you to pass in a dictionary containing the name and values of all the custom fields you want to update.

オンデマンドでプロジェクト サイトをプロビジョニングする APIAPI for provisioning project sites on-demand

各プロジェクトには、チーム メンバーが共同作業を行い、ドキュメントを共有し、問題を発生できる専用の SharePoint サイトを用意できます。Each project can have its own dedicated SharePoint site where team members can collaborate, share documents, and raise issues. これらのサイトは、最初の発行時に自動的に作成するか、Project Pro または管理者が Project Web App 設定を使用してプロジェクト マネージャーによって手動で作成するか、または単に無効にすることができます。These sites can be automatically created on first publish or manually created by the project manager via Project Pro or the administrator via Project Web App settings, or they can simply be disabled.

CreateProjectSite('')メソッドを使用すると、プロジェクト サイトを作成する時間を決定できます。You can use the CreateProjectSite('') method to decide when to create their project sites. これは、プロジェクト提案が事前に定義されたワークフローの特定のステージに達した後にのみ、最初の発行ではなく、サイトを作成する必要がある組織に特に便利です。This is particularly useful for organizations who want to create their sites only after a project proposal reaches a specific stage in a predefined workflow, rather than on first publish. これにより、プロジェクト サイトの作成を延期することで、プロジェクト作成のパフォーマンスが大幅に向上します。This significantly improves the performance of project creation by postponing the creation of Project sites.

イベント処理Event Handling

アドインは、Project Online で発生したイベントに応答できます。Add-ins can respond to events being raised in Project Online. たとえば、アドインはプロジェクトの作成後に追加のアクティビティを実行できます。For example, an add-in can perform some additional activity after a project has been created. ユーザーは、Project Online で作業を続行する前に、これらのアドインがイベントの処理を完了するのを待つ必要があります。Users may have to wait for these add-ins to complete handling the events before they can continue working with Project Online.

推奨事項:Recommendation:

Project Online は、ユーザーが待機する必要がある時間を最小限に抑えるために、特定のイベントを非同期的に処理するように構成する必要があります。Project Online should be configured to handle certain events asynchronously to minimize the amount of time users will need to wait. これを行うには、使用するアドインの開発者に、コードが After イベントを非同期的に処理できる必要があります。To do this, ask the developer of any add-ins you use to make sure their code is able to handle After events asynchronously. この記事では、 これらのイベントを 処理するために従うプラクティスの詳細について説明します。They can go to this article to learn more about practices they can follow for handling these events.

開発者がアドインの変更の準備ができていることを確認した場合は 、PWA 設定ページで [非同期 After イベント 処理を有効にする] 設定を有効にする必要があります。If the developer confirms the add-in is ready for the change, you then need to enable the Turn on asynchronous After event processing setting on your PWA Settings page.

  1. [PWA 設定] ページの[運用ポリシー] セクションで、[その他のサーバー設定 ] を選択しますOn your PWA Settings page, in the Operational Policies section, select Additional Server Settings.

  2. After イベント の非同期イベント処理セクション で、 非同期 After イベント処理をオンにしてください。In the Asynchronous event handling for After events section, make sure that Turn on asynchronous After event processing is selected.

    After イベント設定の非同期イベント処理

  3. [保存] を選択します。Select Save.

    その後、インスタンスをテストして、すべてが正しく動作するように確認する必要があります。You'll then need to test your instances to verify that everything works correctly.

    注意

    この設定は、サイト コレクション管理者だけが表示および変更できます。This setting can only be seen and changed by the Site Collection Administrator.

OData とレポートOData and Reporting

ProjectData OData サービスProjectData OData Service

Project Online には、サービスに格納されているデータに関するレポート作成/視覚化を作成する方法を提供する OData レポート サービスがあります。Project Online has an OData reporting service that provides a way to build reporting/visualization on the data stored in the service. ProjectData OData レポート サービス API はここで定義 されていますThe ProjectData OData reporting service API is defined here.

ProjectData OData レポート サービスへの呼び出しは、SharePoint Online によって管理されます。Calls to the ProjectData OData reporting service are governed by SharePoint Online. 記事 「SharePoint Online で調整またはブロックを回避する」を参照して、呼び出しが調整される可能性が低く、再試行と指数関数的バックオフの推奨事項を正しく実装してください。Please review the article Avoid getting throttled or blocked in SharePoint Online to ensure that the calls are less likely to be throttled and to correctly implement retry and exponential back off recommendations.

さらに、このドキュメントに記載されている推奨事項に従って、データを取得するために必要な呼び出しの数、長さ、頻度を減らします。In addition, following the recommendations outlined in this document will reduce the number, length and frequency of calls needed to retrieve data. 調整が頻繁に発生する場合は、複数の部署が同じデータを照会したり、この記事で説明したベスト プラクティスに従って全員に影響を与える可能性があるなど、組織全体で確認します。If throttling is occurring often, check across the organization as multiple departments could be querying the same data or not following the best practices outlined in this article and affecting everyone.

タイムスケール レポートTimephased Reporting

Project Online では、時間単位のレポート データに必要な粒度のレベルを選択できます。In Project Online you can choose the level of granularity you need for timephased reporting data. レベルのオプションと影響については 、「Project Onlineで時間スケールのレポート データのロールアップを構成する」を参照してください。The options and impact of the levels are fully documented in Configure rollup of timephased reporting data in Project Online. シナリオのデータ量が最も少ないレベルを選択すると、OData レポート サービス エンドポイントでデータをより速く表示し、ダウンロードにかかる時間が短縮されます。Choosing a level that generates the least amount of data for your scenarios will allow the data to be visible in OData Reporting service endpoint faster and will reduce the amount of time it will take to download.

パフォーマンスの高い順のオプションの一覧 (生成されるデータ量に関連するパフォーマンスが最も高いオプションから最もパフォーマンスの最も小さいものへ):The list of options in order of performance (from most to least performant correlating to the amount of data generated):

  • NeverNever

  • 会計期間Fiscal Periods

  • 毎月Monthly

  • 週次Weekly

  • 毎日Daily

会計期間 は、レポート データが定義済みの会計期間に対してのみ保持されるのに対し、Monthly は、すべてのプロジェクトの全期間にわたってデータを保持するという、月次に比して大きな利点があります。Fiscal Periods has the big advantage over Monthly in that reporting data is only held for defined Fiscal Periods, whereas Monthly will hold data for the full duration across all of your projects.

Project OData サービスを使用すると、レポート用に Project Online インスタンスから情報を抽出できます。By using the Project OData service, you can extract information from your Project Online instance for reporting.

推奨事項:Recommendation:

ビジネス ニーズと一致する最も時間スケールの少ないデータを保存します。Store the least amount of timephased data that is consistent with your business needs. 発行の完了を待機するワークフローがある場合は、日次を使用しない。Do not use Daily if you have workflows that wait on publish to complete. 毎日、必要なデータが生成され、ワークフローが待機するまでにかなりの時間がかかる場合があります。Daily can take significant time to generate the required data causing workflows to wait.

サービスのクエリQuerying the service

ProjectData OData サービスの 1 つのクエリで返されるエンティティの数には制限があります。There are limits to the number of entities that can be returned in one query of the ProjectData OData service. その結果、大量のデータのクエリを実行するには、複数の Web 要求をサービスに送信する必要があります。そのため、各要求のネットワーク オーバーヘッドと待機時間が増加します。As a result, querying a large amount of data requires multiple web requests to be sent to the service, adding network overhead and latency for each request.

推奨事項:Recommendation:

完全な "すべて更新" データの読み込みは実行しないようにします。Avoid performing full “refresh everything” data loads. これらの更新は、特にピーク時の使用時間中に PWA サイトのパフォーマンスに影響を与える可能性があります。その結果、PWA でのユーザー操作または調整の全体的なパフォーマンス低下が発生します。These refreshes can impact performance of the PWA site especially during peak use times leading to overall performance degradation of user operations in PWA or throttling.

時間外に Odata 更新操作を実行します。Perform Odata refresh actions after hours. リアルタイムまたは実際のレポートに近い状態を維持する決定は、PWA サイトでのユーザー エクスペリエンスに対するパフォーマンスのトレードオフも考慮する必要があります。Decisions to maintain real time or close to real reports should also take into consideration the performance tradeoffs to the user experience in the PWA site. "すべてを更新する" 要件が存在する場合は、「SQL Server Integration Services (SSIS) – 大規模データセットの推奨」セクションを参照してください。If “refresh everything” requirements exist, please review the “SQL Server Integration Services (SSIS) – Recommended for large datasets” section.

プロジェクト、割り当て、タスクなど、多数のエンティティを含む Project Web App インスタンスの場合は、返されるデータを次の少なくとも 1 つの方法で制限する必要があります。For a Project Web App instance that contains a large number of entities, such as projects, assignments, or tasks, you should limit the data returned in at least one of the following ways. 返されるデータを制限しないと、クエリは既定の制限を超え、サーバーのパフォーマンスに影響を及ぼすことがあります。If you don't limit the data returned, the query can exceed the default limits and affect server performance.

  • データを制限するには$filter URL オプション$selectを使用します。Always use a $filter URL option and $select to limit the data. たとえば、次のクエリはプロジェクトの開始日でフィルター処理し、プロジェクト名の順に 4 つのフィールドのみを返します。For example, the following query filters by project start date and returns only four fields, in order of the project name:

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?$filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&$orderby=ProjectName&$select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • 複数値のルックアップであるユーザー設定フィールドを避ける。Avoid Custom Fields that are multi-value lookups. 複数値ルックアップであるユーザー設定フィールド値を処理するには、追加の計算が必要です。Extra computation is required to process custom field values which are multi-value lookups. これらのフィールドは、より一般的な顧客シナリオに実装されたいくつかの最適化を利用できない。These fields are not able to take advantage of several optimizations that have been implemented for more common customer scenarios. 複数値のユーザー設定フィールドが既に構成されている場合は、フィルター処理された Odata クエリでこれらのフィールドが指定されていないことを確認して、検索速度と信頼性を向上します。If multi value custom fields have already been configured, improve the lookup speed and reliability by ensuring that none of those fields are specified in your filtered Odata query.

  • キーまたは関連付けによるエンティティのクエリ。Querying entities by key or association. エンティティに対してクエリを実行する場合は、メタデータ ドキュメントを参照 https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/ $metadata。When querying entities, refer to the metadata document at https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/$metadata. 可能な限り、次のいずれかの方法でエンティティにクエリを実行します。Whenever possible query the entity in one of the following ways:

  • KeysKeys

    注意

    複数のキーがある場合、最初のキーを使用すると、2 番目のキーを使用するよりもパフォーマンスが向上します。If there is more than one key, using the first key will perform better than only using the second key.

  • 関連付けAssociations

    たとえば、AssignmentId と ProjectId を使用して Assignment エンティティにクエリを実行できます。For example, you can query the Assignment entity via AssignmentId and ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12' and ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    
    or
    
    https://ServerName/ProjectServerName/_api/ProjectData/Assignments(AssignmentId=guid'719d849a-79b4-e911-b073-00155d9c3d12',ProjectId=guid'b5b02399-79b4-e911-b073-00155d9c3d12') 
    

    AssignmentId 経由:via AssignmentId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12'
    

    ProjectId 経由:via ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter= ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    

    Project 経由の関連付けを介して:via association via Project:

    https://ServerName/ProjectServerName/_api/ProjectData/Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • $top 演算子および $skip 演算子を繰り返し使用してクエリを複数回実行し、1 回に 1 ページのデータを返すようにします。Do multiple queries to return data one page at a time, by using the $top operator and the $skip operator in a loop. たとえば、次のクエリは、すべてのプロジェクトの Issues 11 から 20 を、案件に割り当てられているリソースの順に取得します。For example, the following query gets Issues 11 through 20 for all projects, in order of the resource who is assigned to the issue:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • 割り当てエンティティを照会するときに、プロジェクト/タスク/リソース 名を取得 しないようにします。Avoid retrieving the Project/Task/Resource name when querying the Assignment Entity. サービスは、追加の処理を実行してそれぞれの名前を取得します。The service performs additional processing to retrieve the respective names. データが他のクエリから既に取得されている場合は、Assignment のクエリを実行するときに、そのデータを $selectに含めない。If the data has already been retrieved from other queries, do not include it in the $select filter when querying Assignment.

推奨事項:Recommendation:

  • サーバー側フィルターを使用して必要な列のみを取得することで、実行時にクエリを実行するデータの量を制限します。Limit the amount of data you query at runtime by using server-side filtering to retrieve only the columns that you need. この影響は、ユーザー設定フィールドで最も顕著です。The impact of this is most noticeable with custom fields. 必要な場合にのみ、ユーザー設定フィールドに追加します。Add in the custom fields only if you need them.

  • エンティティ キーでフィルター処理を行っている必要があります。Ensure that you are filtering on the entity key. エンティティ キーはインデックス付けされ、よりパフォーマンスの高いデータ取得エクスペリエンスを提供します。The entity key is indexed and will offer a much more performant data retrieval experience. 各エンティティのキーを見つけるには、PWA インスタンスの Service Metadata Document (以下を参照) https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/ を$metadataYou can find the key(s) for each entity by reviewing the Service Metadata Document in your PWA instance: https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

データの取得とレポートの作成Retrieving Data and Building Reports

PowerBIPowerBI

データ量が少ない場合、Power BI は Project OData サービスから定期的にデータを読み取り、さまざまな動的レポートの提供に役立ちます。If the amount of data is small, then Power BI can regularly read data from the Project OData service and help provide a variety of dynamics reports. サンプル コンテンツ パックは、こちらから参照 できますA sample content pack can be found here.

Project Online のデータ量が多い場合でも、ここで概説する PowerBI データ サイズの制限を満たす限り、データのサブセットを取り込 むこはできますIf the amount of data in Project Online is large, you can still bring in a subset of the data as long as it meets the PowerBI data size limits outlined here. 別のオプションとして、移動中のウィンドウにレポートを作成する方法があります。たとえば、過去 30 日間にアクティブだったプロジェクトをフィルター処理したり、次の 6 か月間のリソース容量を表示したりします。Another option is to create your reports in a moving window, i.e., filtering projects who were active in the last 30 days or viewing resource capacity for the next 6 months. PowerBI がサービス$filter最適化$select活用できない可能性がある場合のベスト プラクティスについては、以下のセクションを参照してください。Review the $filter/$select section for best practices as PowerBI may not take advantage of the service-side filtering optimizations.

Excel ODataExcel OData

Excel を使用して、データをダウンロードし、カスタムの視覚エフェクト/レポートを構築できます。Excel can be used to download data and build custom visualizations/reports. Project Online のデータ量が多い場合、データのサブセットは移動ウィンドウを使用できます。つまり、過去 30 日間にアクティブだったプロジェクトをフィルター処理したり、次の 6 か月間のリソース容量を表示したりします。If the amount of data in Project Online is large, a subset of the data can be using a moving window, i.e., filtering projects who were active in the last 30 days or viewing resource capacity for the next 6 months. Excel ではサービス$filter最適化$select活用できない可能性があります。ベスト プラクティスについては、以下のセクションを参照してください。Review the $filter/$select section for best practices as Excel may not take advantage of the service-side filtering optimizations.

SQL Server Integration Services (SSIS)SQL Server Integration Services (SSIS)

SSIS を使用すると、Project Online レポート データを Project OData サービスからローカルサーバー データベースSQL Microsoft Azure にダウンロードできます。Using SSIS, Project Online reporting data can be downloaded from the Project OData service into a local SQL server database or into Microsoft Azure. ダウンロードすると、レポートや視覚エフェクトを作成できます。Once downloaded, any reports/visualizations can be authored. ローカル データと Project Online の同期を維持するには、さらにプロセスが必要です。A further process is needed to keep the local data in sync with Project Online.

SSIS を使用する場合は、Project Online が最適化されている次のパターンを使用します。When using SSIS, use the following pattern that Project Online has been optimized for. このパターンにより、ローカル データの取得と保持に要する時間が短縮されます。さらに、ビジネス要件を実行するために必要なフィールドのみをダウンロードします。The pattern will reduce the amount of time it takes to retrieve and keep the local data in sync. Further only download the fields that are needed to perform the business requirements. クエリを実行するフィールドが少なめの場合は、データの取得が速く行います。The fewer the fields being queried, the quicker the data can be retrieved.

完全同期Full Sync

関心のあるレポート データの現在のスナップショットを取得します。Retrieve the current snapshot of the reporting data you are interested in. Project および関連するエンティティを効率的に取得するには、 のメソッドを使用します。Use the following method to efficiently retrieve Project and related entities.

たとえば、Project エンティティ を使用 します。For example, using the Project entity.

  1. 追加のフィルターを含めて、Project エンティティから ProjectId を照会します。Query the ProjectId from the Project entity including any additional filters. たとえば、特定の開始日または終了日を持つプロジェクトにフィルターを適用します。For example, filter on projects that have specific start or finish dates.

  2. ダウンロードする必要があるフィールドを指定して Project エンティティにクエリを実行し、以前に取得した 1 つの ProjectId でフィルター処理します。Query the Project entity specifying the fields that need to be downloaded, filtering on a single ProjectId that was previously retrieved. 以下のデルタ同期パターンで使用されている ProjectModifiedDate を含めます。Include the ProjectModifiedDate as it is used in the delta sync pattern below.

  3. ProjectId ごとに手順 2 を繰り返します。Repeat step 2 for each ProjectId. さらに、ProjectId ごとに、関連するエンティティのデータをダウンロードします。In addition, for each ProjectId, download the data for related entities.

たとえば 、Task エンティティを使用 する場合:For example, using Task entity:

  1. タスク エンティティフィルターからの TaskId に対するクエリを、追加フィールドと前の手順のプロジェクト ProjectId に対して実行します。Query on the TaskId from Task entity filtering on any additional fields as well as the project ProjectId from the previous step.

  2. ダウンロードする必要があるフィールドを指定して Task エンティティにクエリを実行し、以前に取得した 1 つの TaskId でフィルター処理します。Query the Task entity specifying the fields that need to be downloaded and filtering on a single TaskId that was previously retrieved. TaskModifiedDate は、以下のデルタ同期パターンで使用する場合に含めます。Include the TaskModifiedDate as it is used in the delta sync pattern below.

  3. TaskId ごとに繰り返します。Repeat for each TaskId.

    同様に、関連するエンティティごとに同じ方法を使用します (例: Assignment、TaskTimephasedData)。 Similarly, use the same approach for each related entity, e.g., Assignment, TaskTimephasedData

上記の手順は、たとえばタイムシート情報を取得する場合など、エンティティの他のグループに適用されます。The preceding steps apply to other groups of entities, for example, when retrieving timesheet information:

  • タイムシート: フィルター条件に基づいて TimesheetId と ModifiedDate を取得し、次にタイムシート レコードを取得し、次に TimeSheetLines を TimeSheetId でフィルター処理し、他の関連するエンティティに進み、主キー ID (TimesheetUID) フィールドと変更日フィールドによって確実に登録されます。Timesheet: Retrieve the TimesheetId and ModifiedDate based on filter criteria , then Timesheet records, then TimeSheetLines filtering on the TimeSheetId and continue on to other related entities, ensuring that you're filering by primary key Ids (TimesheetUID) and modification date fields.

Resource エンティティ情報を取得する場合:When retrieving Resource entity information:

  • ResourceId と ResourceModifiedDate、Resource レコード、ResourceTimephasedDataなどを取得します。 それぞれの主キー ID と変更日フィールドを含める。Retrieve the ResourceId and ResourceModifiedDate, then Resource records, then ResourceTimephasedData etc. Include the respective primary key Ids and modification dates fields.

デルタ同期Delta Sync

レポート データのローカル コピーを最新の状態に保つには、定期的にチェックします。Check periodically to keep the local copy of the reporting data up to date. 必要に応じて、タイトルの各グループ (タイムシート、リソースなど) に対して、以下の手順を繰り返します。Repeat the steps below as needed for the respective group of entitles, e.g., Timesheet, Resource…

  1. Project エンドポイントからすべての ProjectId と変更日をクエリし、条件を$filterします。Query all the ProjectId’s and modification date from the Project endpoint using $filter criteria.

  2. ProjectId が存在しなくなったローカル プロジェクトおよび関連レコード (タスク、割り当てなど) を削除します。Delete local project and related records (Tasks, Assignments, etc.) where the ProjectId no longer exists.

  3. プロジェクト レコードのサービス変更日とローカル変更日が異なる場合は、一度に 1 つの ProjectId でフィルター処理する必要があるすべてのフィールドについて Project エンドポイントにクエリを実行します。Where the service modification date and the local modification date are different for the project record, query the Project endpoint for all the required fields filtering on a single ProjectId at a time. さらに、ProjectId ごとに、関連するエンティティのデータをダウンロードします。In addition, for each ProjectId, download the data for related entities.

たとえば 、Task エンティティを使用 する場合:For example, using Task entity:

  1. 追加フィールドに対する Task エンティティ フィルターからの TaskId および TaskModifiedDate に対するクエリ、およびデータが変更された前の手順のプロジェクト ProjectId (つまり、Project サービス変更日がローカル変更日と一致しなかった) に対するクエリ。Query on the TaskId and TaskModifiedDate from Task entity filtering on any additional fields as well as the project ProjectId from the previous step where the data has changed, i.e., Project service modification date didn’t match the local modification date.

  2. 存在しなくなった TaskId のローカル レコードと関連レコードを削除します。Delete local and related records for TaskId that no longer exists.

  3. サービス変更日とローカル変更日が異なる場合は、TaskId とエンティティ主キーを渡す各エンティティ エンドポイントに対してクエリを実行し、ローカル バージョンを更新します。Where the service modification date and the local modification date are different, query the respective entity endpoint passing in TaskId and entity primary key and update the local version.

関連するエンティティ (Assignment、TaskTimephasedData など) ごとに繰り返します。Repeat for each related entity, e.g., Assignment, TaskTimephasedData.

Project Web App クォータProject Web App Quota

既定では、Project Web App サイトには 25 GB の制限があります。この制限は、サイトが有効になっている SharePoint サイト コレクションに格納Project Web App制限とは別です。By default, the Project Web App Site comes with a 25GB limit and is separate from the limit on all data stored in the SharePoint site collection where Project Web App is enabled. レポートの粒度オプションを使用してデータ量を減らすと、クォータ内にとどまる際に役立ちます。Using the reporting granularity options to reduce your data volume can help in staying within the quota.

注意

PWA クォータは最大 100 GB まで増やします (増分)。PWA quota can be increased (in increments) to a maximum of 100 GB. クォータ制限に達すると、新しい PWA サイトが必要になります。A new PWA site will be required once the quota limit has been reached. 50 GB を超える増加では、PWA サイトで日単位のレポート粒度オプションを使用しなくなった 必要 があります。Increases beyond 50GB require that the PWA site no longer use the daily timephased reporting granularity option. PWA サイト クォータの増加については、Microsoft にお問い合わせください。To discuss increasing the PWA site quota, please contact Microsoft.

まとめConclusion

Project Online は、インターネット上で実行されているクラウド サービスと同様に、オンプレミス展開と比較して最高のパフォーマンスを提供するために特定のチューニングを必要とします。Project Online, like any cloud service running on the Internet, requires specific tuning to deliver the best performance compared with an on-premises deployment.

システムは常に改善され、パフォーマンスが向上しますが、エンド ユーザーに優れたエクスペリエンスを提供するために、その間に実行できるいくつかの手順があります。Although we are constantly improving the system to speed up performance, there are some steps you can take in the meantime to provide a good experience to your end users.

概要の推奨事項:Summary recommendation:

  • 可能な場合は、SharePoint アクセス許可モードを使用します。Use SharePoint permission mode when possible.

  • 実際に使用する機能のみを有効にしてください。Only turn on the features you will actually use.

  • ページの読み込み時間を短縮するには、ページとカスタマイズを可能な限りシンプルで軽量な状態に保ちます。Keep pages and customization as simple and lightweight as possible for faster page load times.

  • サーバー側のフィルタリングを使用するか、Odata フィード データを SQL Serverデータベースにエクスポートすると、レポートの柔軟性が向上します。Use server-side filtering or export Odata feeds data to a SQL Server database for more reporting flexibility.

  • レポートのニーズを満たすデータ量が最も少ないレポートの粒度オプションを選択します。Choose a reporting granularity option that uses the least amount of data that satisfies your reporting needs.

Project Online: ソフトウェアの境界と制限Project Online: software boundaries and limits