SharePoint アドイン モデル内のカスタム アクション
概要
新しい SharePoint アドイン モデルで SharePoint 内のリスト アイテム メニューとリボンを変更する方法は、完全信頼コードの場合とは異なります。 一般的な完全信頼コード (FTC) / ファーム ソリューション シナリオにおいて、リスト アイテム メニューとリボンの変更内容は XML (カスタム アクション) で定義され、機能内にパッケージ化され、SharePoint ソリューションを使用して展開されます。
SharePoint アドイン モデル シナリオでは、SharePoint クライアント側オブジェクト モデル (CSOM) または REST API を使用して、リスト アイテム メニューとリボンを変更するカスタム アクションを作成します。 このパターンは、一般的に リモート プロビジョニング パターン と呼ばれます。
基本ガイドライン
新しい SharePoint アドイン モデルにおけるカスタム アクションの作成と展開については、大まかに次のような基本ガイドラインが提供されています。
- カスタム アクションを使用して、リスト アイテム メニューとリボンを変更することができます。
- カスタム アクションを実装するアドインから直接カスタム アクションを使用してメニュー項目を非表示にすることはできません。
- これは、HideCustomAction 要素 (MSDN API ドキュメント) が、SharePoint ECMA クライアント側オブジェクト モデル (CSOM) - UserCustomAction プロパティ (MSDN API ドキュメント)、または SharePoint/Office 365 REST API - SP.UserCustomActionCollection オブジェクト (sp.js) (MSDN API ドキュメント) で使用できないためです。
- メニュー項目を非表示にする必要がある場合は、カスタム アクションを使用して JavaScript またはカスタマイズ済み CSS を SharePoint ページに埋め込む必要があります。 SharePoint ページに埋め込まれた JavaScript または CSS により、メニュー項目は非表示になります。
- カスタム アクションを実装するには、SharePoint クライアント側オブジェクト モデル (CSOM) や SharePoint/Office 365 REST API を使用します。
作業の開始
次のサンプルでは、ホスト Web のサイト設定メニューにカスタム アクションを追加する方法、カスタム アクションでダイアログ ボックスを表示する方法、リモート アドイン Web からページをホストするダイアログを非表示にする方法、およびカスタム アクションを使用してリストの作成と Web テーマの設定を行う方法の例を示しています。
Provisioning.SiteModifier (O365 PnP サンプル)
ここでは、[サイトの設定] メニューにサンプルのカスタム アクションのリンクが追加されたことを確認できます。
ここでは、[サイトの変更] のリンクからポップアップ ウィンドウが開くことを確認できます。
関連リンク
- ユーザー コントロールと Web コントロール (SharePoint アドイン レシピ)
- ガイダンス記事の https://aka.ms/OfficeDevPnPGuidance
- MSDN の https://aka.ms/OfficeDevPnPMSDN
- ビデオの https://aka.ms/OfficeDevPnPVideos
PnP サンプル
適用対象
- Office 365 マルチテナント (MT)
- Office 365 専用 (D)
- SharePoint 2013 オンプレミス