"モダン" チーム サイトのカスタマイズ

2016 年に、SharePoint Online チームは、"モダン" コラボレーション サイトをリリースしました。 これらの "モダン" チーム サイトは、Microsoft 365 グループと統合され、大幅に向上したエンド ユーザー エクスペリエンスを実現しています。 "モダン" チーム サイトは、高い応答性を確保するように設計され、エンド ユーザーの立場からの作成や使用が非常に高速化されています。 以下に、"モダン" チーム サイトでの主な利点をいくつか示します。

  • 完全なレスポンシブ エクスペリエンスのため、カスタマイズなしであらゆるデバイスにネイティブでスケールできるように設計されている。
  • ネイティブ ニュース、クイック リンク、およびアクティビティ機能がある。
  • Microsoft 365 グループと統合されている。
  • "クラシック" チーム サイトと比べてサイト作成が大幅に高速化。
  • Microsoft Flow と PowerApps をサポートする "モダン" リストとモダン ライブラリが含まれる。
  • "モダン" ページの編集機能がある。
  • サイトの使用状況に関する追加の洞察が得られる、更新されたサイトのコンテンツ ページが含まれる。

この記事では、"モダン" チーム サイト内で使用可能な機能拡張オプションについて説明します。

重要

"クラシック" エクスペリエンスは廃止されていません。"クラシック" と "モダン" の両方が共存しています。

"モダン" チーム サイトでサポートされているカスタマイズ

"モダン" サイトには、"クラシック" チーム サイトと比較して、さまざまなレベルのカスタマイズ オプションがあります。 機能拡張とブランド化に主に重点を置いた、追加のカスタマイズ オプションを徐々に導入していきます。 次の一覧は、"モダン" チーム サイトでサポートされている機能の簡単な概要を示しています。 次の操作を実行できます。

  • SharePoint Framework を使用し、クライアント側の Web パーツを提供したり、SharePoint Framework 拡張機能を持つその他のユーザー インターフェイスの要素を含めたりすることによって、サイトのユーザー エクスペリエンスを変更します。
  • カスタム テーマの適用/ロゴの変更
  • すぐに使用できるテーマの適用
  • カスタムのサイト列 (フィールド) とコンテンツ タイプの作成
  • リストとライブラリの作成
  • 地域設定、言語、監査設定などのサイト構成の設定

注:

既定では、"モダン" チーム サイトのスクリプト機能は無効になっています。 カスタム テーマを適用することもできますが、エンド ユーザー向けのオプションとして、カスタム テーマをテーマ ギャラリーに導入することはできません。 テーマ ギャラリーにテーマを追加する場合は、サイト上でスクリプトを有効にする必要があります。

"モダン" チーム サイトでサポートされていないこと

"モダン" チーム サイトには、標準的なカスタマイズが現時点で利用できないエリアが多数あります。 これらの特定のトピックの中には、リリース準備が整うと、サポートされるものがあります。 以下は、"モダン" チーム サイトで現在サポートされていないカスタマイズの一覧です。

  • カスタム マスター ページ - 今後、代替オプションを使用して、ブランド化がより広範にサポートされる。
  • クラシック seattle.master または oslo.master を使用するように "モダン" サイトを変更。
  • カスタム ページ レイアウト - 今後、複数のキャンバスをサポート予定。
  • サイトまたはサイト コレクションを対象範囲とする発行機能の有効化。技術的には機能を現在アクティブ化できますが、この構成はサポートされていません。
  • ユーザー カスタム アクション/カスタム JavaScript - SharePoint Framework 拡張機能から JavaScript をページに埋め込む方法をより高度に制御できるようになる。
  • "モダン" サブサイト - "モダン" チーム サイトで作成されたサブサイトは "クラシック" エクスペリエンスを使用する。ユーザー エクスペリエンスは "モダン" サイトと同様のエクスペリエンスに変更できます。
  • 使用可能なサブサイトのテンプレート オプションを制御する機能。
  • "モダン" チーム サイトでのコミュニティ機能のアクティブ化や、コミュニティ サブサイトの作成。
  • サイトのテンプレート保存。 また、ルート サイトがグループに関連付けられたチーム サイトやコミュニケーション サイトであるサイト コレクションのサブ サイトはサポートされていません。
  • プログラムでナビゲーション要素を更新します。

"モダン" チーム サイトではスクリプト機能も無効になっている (いわゆる NoScript サイト) ため、カスタマイズできない他のエリアが数多くあります。 NoScript の影響は、"モダン" サイトでも "クラシック" サイトでも同様です。 "モダン" サイトは、既定で NoScript が有効になっています。つまり、スクリプト機能は利用できません。 しかし、"モダン" サイトとクラシック サイトの両方で NoScript の設定を無効にして、いくつかの機能を有効にすることは可能であり、サポートされています。

ソリューションの設計時には、NoScript 設定に関するこれらの主要分野を考慮してください。

  • サンドボックス ソリューションがサポートされていない。
  • "クラシック" 機能拡張オプションを使用して (例: ユーザー カスタム アクション経由で)、サイトでカスタム JavaScript を有効にできない。
  • SharePoint Designer を使用してサイトにアクセスできない。
  • エンド ユーザーは一部の Web パーツを使用できない。
  • サイト プロパティ バッグ エントリをアクセスまたは更新する機能。

注:

影響を受ける機能の完全なリストは、Microsoft サポート記事「カスタム スクリプトを許可または禁止する」の「カスタム スクリプトがブロックされているときに影響を受ける機能」のセクションでご確認いただけます。

"モダン" チーム サイトでの PnP プロビジョニング エンジンの使用

PnP プロビジョニング エンジンを "モダン" チーム サイトで使用できます。 PnP プロビジョニング エンジンは、サイトが "モダン" チーム サイトであるかどうかを自動的に検出し、サポートされている機能に基づいて動作を調整します。 プロセスは、スクリプト機能が無効になっていない "クラシック" サイトで PnP プロビジョニング エンジンを使用する場合とまったく同じです。

リモート テンプレートが "モダン" チーム サイトまたは NoScript が有効になっているサイトに適用された場合、次の要素は無視されます。

  • 監査設定でのサイト コレクション AuditLogTrimmingRetention の構成
  • テンプレートからカスタム テーマを適用する - 現在の実装には、カスタム テーマをカタログに格納する依存関係があります。これはサポートされていません
  • コンテンツ タイプのフォームの設定
  • サイト、Web、リストのレベルへのカスタム ユーザー アクションの追加
  • ファイルの種類が ".asmx"、".ascx"、".aspx"、".htc"、".jar"、".master"、".swf"、".xap"、".xsf" のファイルの追加
  • 次の URL "_catalogs/theme""style library""_catalogs/lt""_catalogs/wp" を含むライブラリにファイルを追加する
  • サイト ページへの Web パーツの追加
  • プロビジョニングされたサイトのプロパティ バッグへのプロビジョニング テンプレート情報の格納
  • サイト プロパティ バッグへのプロパティ バッグ エントリの追加または更新
  • "クラシック" の発行設定およびアセット
  • サイトのクロールなしの設定
  • サイトのマスター ページの設定

"モダン" チーム サイトへのカスタム テーマの適用

注:

以下のメソッドは、テナント テーマが出てくる前に書き込まれました。テーマ "モダン" の新しい方法については、「SharePoint サイトのテーマ」を参照してください。

"モダン" チーム サイトでは、エンド ユーザー向けの新しいギャラリー エントリをアップロードできませんが、カスタム テーマはサポートされています。 これを行うには、サイトに必要なアセットをアップロードして、ApplyTheme メソッドを実行します。 次の PowerShell スクリプトは、"モダン" チーム サイトに対してこれを実行する方法を示しています。


# Connect to a previously created Modern Site
Connect-PnPOnline https://[tenant].sharepoint.com/sites/siteurl -UseWebLogin

# Apply a custom theme to a Modern Site

# First, upload the theme assets
Add-PnPFile -Path .\sppnp.spcolor -Folder SiteAssets
Add-PnPFile -Path .\sppnp-bg.png -Folder SiteAssets

# Second, apply the theme assets to the site
Set-PnPTheme -ColorPaletteUrl "SiteAssets/sppnp.spcolor" -BackgroundImageUrl "SiteAssets/sppnp-bg.png" -ResetSubwebsToInherit


カスタム テーマを使用した "モダン" チーム サイト

カスタム テーマを使用した

注:

  • SharePoint PnP UpdateUnifiedGroup メソッドに示されている Groups Graph API を使用して、"モダン" チーム サイトのロゴを変更することができます。
  • "モダン" チーム サイトにカスタム テーマを適用すると、タイムアウトが発生する場合があります。 これを解決するには、テーマを適用する前に、サイトで利用可能なユーザー インターフェイス言語をすべて無効にして、後で元に戻します。

サイトが "モダン" チーム サイトであるかどうかを特定する

サイトの 'Web.WebTemplate' 値を確認することで、サイトが "モダン" チーム サイトであることを検出できます。 "モダン" チーム サイトは、"GROUP" テンプレートを使用します。 スクリプトが無効になっている場合、サポートされる機能は "クラシック" チーム サイトの場合と同じなので、コードで両方の設定を確認し、適切な動作やサポートされている機能を判別する必要があります。

スクリプトが有効かどうかを確認するための直接のプロパティはないので、アクセス許可を使用して現在の状態を特定できます。 スクリプトが有効になっている場合は、サイトの基本アクセス許可に AddAndCustomizePages アクセス許可はありません。

/// <summary>
/// Can be used to check if site has noscript enabled.
/// </summary>
/// <param name="web">site object to inspect</param>
/// <returns>True if no scripting is enabled, False if it's not</returns>
public static bool IsNoScriptSite(Web web)
{
    // Ensure that we have the needed properties - Notice that these are 
    // PnP CSOM extension capabilities
    web.EnsureProperties(w => w.WebTemplate, w => w.EffectiveBasePermissions);

    // Definition of no-script is not having the AddAndCustomizePages permission
    if (!web.EffectiveBasePermissions.Has(PermissionKind.AddAndCustomizePages))
    {
        return true;
    }

    // It's a site without noscript enabled
    return false;
}

その他の考慮事項

その他の SharePoint Framework 機能のリリースと一致する ”モダン” チーム サイトのその他のカスタマイズ オプションについては、段階的に紹介します。 現在、正確なスケジュールをお知らせすることはできませんが、新しい機能がリリースされた場合は、"モダン" エクスペリエンスに関する記事を随時更新する予定です。

関連項目