サイトデザインによるモダンサイトのテンプレート化とサイト作成 その2:サイトデザインの作成と登録

投稿者: | 2021年2月9日

はじめに

クラシックサイトはサイトをテンプレート化して複製することが可能でしたが、モダンサイトのチームサイトやコミュニティサイトはサイトテンプレートの機能がありません。
その代わりに「サイトデザイン」と「サイトスクリプト」と呼ばれるサイトテンプレートに似た機能が存在します。
この「サイトデザイン」と「サイトスクリプト」について何回かに分けて、使い方等を一通り記載します。

今回はサイトデザインの作成と登録ということで、サイトデザインの作り方などを記載します。

サイトデザインとサイトスクリプトの正体

サイトスクリプトは、サイトの設定やリストの設定に関する定義情報です。
このサイトスクリプトを複数組み合わせて、ひとつのセットにしたものをサイトデザインと呼びます。
サイトスクリプトの実体は JSON データです。
JSON データとして定義情報を書き、これをサイトデザインとしてまとめて、サイトデザイン単位でサイトに適用します。

前の記事でサイトデザインを適用する流れを記載しましたが、その際に使ったサイトスクリプトはこちらになります。

docs にもサイトスクリプトのサンプルが掲載されています。

サイトスクリプトの記述の仕方は docs に記載があるので詳細は割愛します。

サイトスクリプト作成のポイント

サイトスクリプトはひとつの JSON ファイルで、ファイルの中にはサイトに適用するアクションを多数列挙することができます。
アクションは上から順に適用されるようになっています。

アクションは、アクションの種類を指定する「verb」属性と、verb の種類ごとに定義された属性で構成されています。
指定可能な verb と verb ごとの属性は docs に記載があるので参照してください。

サイトスクリプトは JSON ファイルとして管理ができるので、意味のある単位でサイトスクリプトファイルを作っておくことで、再利用することができます。

サイトスクリプトにはいくつか制限事項があるので、以下にまとめます。(2021年2月時点)

  • サイトスクリプトに含めることができるアクションの上限値
    300 個(または、100,000文字) ※ただし Invoke-SPOSiteDesign コマンドでスクリプトを実行する場合は 30 個
  • テナントに登録可能なサイトスクリプト及びサイトデザインの数
    100 個
  • サイトスクリプト内に日本語を含む場合は文字コードを Shift-JIS にして保存

サイトデザイン及びサイトスクリプトの登録

サイトデザインとサイトスクリプトを利用できるようにするためには、あらかじめテナントに登録する必要があります。
登録は以下の手順で行います。

  1. Get-Content コマンドレットでサイトスクリプトファイル (json ファイル) をロード(下記 2 行目)
  2. Add-SPOSiteScript コマンドレットでサイトスクリプトをテナントに登録(下記 3 行目)
  3. Add-SPOSiteDesign コマンドレットでサイトデザインをテナントに登録(下記 12 行目)

以下は、SharePoint Online Management Shell でのコマンドの例です。

なお、12 行目の Add-SPOSiteDesign コマンドレットのパラメータ「WebTeamplate」は、サイトデザインを有効化するサイトテンプレートの ID を指定します。
サイトテンプレート ID については、こちらの記事に一覧を作成していますが、これらのどれにサイトデザインを適用することができるかは確認していません。
少なくとも、チームサイト (サイトテンプレート ID : 64)、コミュニケーションサイト (サイトテンプレート ID : 68)、Microsoft 365 グループなしのチーム サイト (サイトテンプレート ID : 1) は適用可能です。

無事登録できると、下図のようにサイト作成時に「デザインの選択」の欄に作成したサイトデザインが表示されます。

 

次の記事では、既存のサイトからサイトデザインを生成する方法について記載します。