SharePoint Framework ソリューションのテナント スコープ ソリューションの展開
SharePoint Framework (SPFx) コンポーネントを構成すれば、ソリューション パッケージがテナント アプリ カタログにインストールされたときに、テナント全体ですぐに利用できるようになります。 これは、./config/package-solution.json ファイル内の skipFeatureDeployment
属性を使用して構成できます。
この属性がソリューションで有効にされていると、ソリューション パッケージがテナントのアプリ カタログにインストールされたときに、テナント内のすべてのサイト コレクションとサイトでソリューションを自動的に使用できるようにするためのオプションがテナント管理者に提供されます。
また、Microsoft 365 Platform Communtiy (PnP) の YouTube チャンネルで以下の動画をご覧いただくと、テナントワイド展開オプションのデモンストレーションをご覧いただくことができます。
注:
この機能を使用するには、最新の SharePoint Framework Yeoman テンプレート バージョンに更新する必要があります。 **npm install -g @microsoft/generator-sharepoint**を実行して、グローバル インストールを更新できます。
テナント全体の展開は SPFx バージョン 1.4 でリリースされ、SharePoint 2019 および SharePoint Online に展開される Web パーツを開発するときに使用できます。 この展開オプションは、SPFx 1.1 のみをサポートしているため、SharePoint 2016 Feature Pack 2 では使用できません。
1.4 よりも古い SPFx Web パーツを使用している場合は、CLI for Microsoft 365 を介した手順によりアップグレードすることができます。
ソリューション固有の要件
このオプションを使用すると、SharePoint Framework ソリューション内のすべての機能フレームワーク定義は無視されます。 ソリューションに機能フレームワーク定義が含まれている場合 (たとえば、カスタム リストを作成する場合)、このソリューション固有のオプションを使用しないでください。
詳細については、「SharePoint アセットとソリューション パッケージのプロビジョニング」を参照してください。
注:
テナント間で自動的に展開されるように構成されたソリューションは、サイト レベルでのアプリの追加機能では表示されません。
ソリューションをテナント間で使用可能にする構成
SharePoint Framework Yeoman テンプレートは、このオプションに関連する特定の質問をします。 この質問は、package-solution.json ファイルの skipFeatureDeployment
属性に直接影響を与えます。
次の構成例では、skipFeatureDeployment
が true
に設定されています。これは、ソリューションがテナント間で一元的に展開できることを示しています。
{
"solution": {
"name": "tenant-deploy-client-side-solution",
"id": "dd4feca4-6f7e-47f1-a0e2-97de8890e3fa",
"version": "1.0.0.0",
"skipFeatureDeployment": true,
"features": [
{
"title": "Application Extension - Deployment of custom action.",
"description": "Deploys a custom action with ClientSideComponentId association",
"id": "54f0dc0e-c190-439d-933b-2dd2809ed3c3",
"version": "1.0.0.0",
"assets": {
"elementManifests": [
"elements.xml",
"ClientSideInstance.xml"
]
}
}
]
},
"paths": {
"zippedPackage": "solution/tenant-deploy-true.sppkg"
}
}
アプリ カタログでのテナント全体への展開の承認
skipFeatureDeployment
属性が true
に設定されたソリューションがテナントのアプリ カタログに展開されると、管理者にはテナント間で一元的に展開されるソリューションを構成するオプションが提供されます。
既定では、[このソリューションを組織内のすべてのサイトで使用可能にする] チェック ボックスは選択されていません。 管理者によってチェック ボックスが選択されている場合、ソリューションのコンポーネントは自動的に表示され、テナント間で使用可能になります。
ソリューションとサイト固有のアップグレード アクションは、フィーチャー フレームワークを使用する場合のみ利用可能なので、一元的に展開されるソリューション向けのアップグレード オプションはないことに注意してください。 これらのソリューションは、CDN でソリューション固有のアセットを更新し、アプリ カタログでパッケージを更新および展開することで更新できます。 これにより、テナント間のすべての既存のコンポーネント インスタンスが自動的に更新され、JavaScript ファイルや更新された CSS ファイルなどの最新のコンポーネント アセットが使用されるようになります。
警告
サイトの拡張機能を含むソリューションパッケージの場合、[組織内のすべてのサイトでこのソリューションを利用できるようにする] チェックボックスをオンにするには、最初にサイトの拡張機能を有効にする必要があるのみです。 既存のソリューション パッケージを更新するときに、デプロイ中にチェック ボックスをオンにすると、[ テナント全体の拡張機能 ] の一覧に重複するエントリが作成される場合があります。
SharePoint サイトでのクライアント側 Web パーツの可視性
一元的に展開されたソリューションに含まれる Web パーツは、クラシック ページとモダン ページの両方の Web パーツ ピッカーで、すぐに表示されます。
拡張機能を持つ skipFeatureDeployment 設定の影響
SharePoint Framework 拡張機能は、SharePoint サイト上ですぐに使用できるようになります。 このことは、これらの拡張機能を fields や user custom actions などの特定の SharePoint 要素内の ClientSideComponentId
プロパティと関連付けることができることを意味します。
また、管理者が展開時に [組織内のすべてのサイトでこのソリューションを利用できるようにする] チェックボックスを選択すると、ソリューションパッケージの 自動化により、アプリ カタログのテナント全体の拡張機能 リストにエントリを作成します。 このリストのエントリは、サイトの拡張機能のテナント全体のアクティベーションを管理します。 自動化は、./config/package-solution.json で参照されている ClientSideInstance.xml ファイルに記述されています。
詳細については、「SharePoint フレームワーク拡張機能のテナント全体への展開」を参照してください。