Office 365 のテナント契約をしてすぐに SharePoint サイトを使おうとして嵌るポイントの一つが「カスタムスクリプトの許可と禁止」です。カスタム スクリプトが許可されていないと、いくつかの機能やWebパーツが利用できないためです。したがって、SharePoint の書籍を見ながらいろいろと試そうとしたけど、どうも同じようにならない、といったことが起こります。
このことについてはマイクロソフトの公式情報として、下記のリンク先に次のような記述があります。
[Microsoft Docs] Allow or prevent custom script
By default, script is allowed on sites that admins create. It is not allowed on OneDrive, on sites users create themselves, and on the root site for your organization.
訳すと「既定では管理者が作成するサイト(クラシック)上でのみスクリプトが許可される。OneDrive やユーザー自身が作成するサイトではスクリプトは許可されない。また組織のルートサイトも同様である」ということです。
ルートサイト
最後の「ルートサイト」というのが、これまた分かりにくい用語です。これは簡単にいうと、SharePoint Online が利用できるテナント契約すると自動的に用意されているサイトのことで、たとえば、contoso.com というカスタム ドメインにテナントを紐づけたとするとルートサイトのURLは "contoso.sharepoint.com" などになります。自動作成されるのとは別にSharePoint Onlineの管理者が新規に作成する SharePoint サイトというのは、仮想パスというのが用意されていて "sites" もしくは "teams" というパスが URLに入ります。
ということで、ルートサイトは既定ではカスタム スクリプトは実行できない状態となっています。もちろんこの設定は変更可能であり、詳しい手順は先ほど紹介したURLに記載されていますが、SharePoint Online 管理センター上で SharePoint Online 全体の設定を一括設定するか、もしくは PowerShell 使って特定のサイトコレクションに対して設定します。つまり、この設定変更ができるのはOffice 365 全体管理者もしくは SharePoint Online の管理者です。
ちなみに SharePoint Online 管理センター(旧) 上では下記のような設定項目です。
"個人用サイト" というのは OneDrive for Business のことです。オンプレミスの SharePoint では以前は OneDrive for Businessは個人用サイト (MySite) と呼ばれていました。ルートサイトに関しては "セルフサービスで作成されたサイトユーザーがカスタム スクリプトを実行できるようにする" の方が該当するようです。
さらに、設定変更しても反映するまで最大24時間かかるため一晩寝かせるくらいの気持ちで設定する必要があることも付け加えておきます。
カスタム スクリプトが許可されていない(ブロックしている)場合の影響
ところで、カスタム スクリプトが許可されてないとどんな影響があるのでしょうか? これも上記のURLに記載されています。ただ、このURLにある記事は英語であり、日本語に切り替えても機械翻訳されていて、非常に読みにくい。そのため下記に日本語訳してみます(若干意訳あり)。
影響を受ける機能 (クラシック サイト)
サイト機能 | 振る舞い | 備考 |
サイトをテンプレートとして保存 | サイト設定からは利用できない | カスタム スクリプトがブロックされる前に作成したテンプレートは引き続き利用できる |
ドキュメント ライブラリをテンプレートとして保存する | ライブラリ設定からは利用できない | カスタム スクリプトがブロックされる前に作成したテンプレートは引き続き利用できる |
ソリューションギャラリー | サイト設定からは利用できない | カスタム スクリプトがブロックされる前に作成したユーザーが作成したソリューションは引き続き利用できる |
テーマギャラリー | サイト設定からは利用できない | カスタム スクリプトがブロックされる前に作成したテーマは引き続き利用できる |
ヘルプ設定 | サイト設定からは利用できない | カスタム スクリプトがブロックされる前に作成した利用できたヘルプファイル コレクションには引き続きアクセスできる |
HTMLフィールドのセキュリティ | サイト設定からは利用できない | カスタム スクリプトがブロックされる前に設定したHTML フィールドのセキュリティ設定は引き続き利用できる |
サンドボックス ソリューション | ソリューションギャラリーはサイト設定では利用できない | サンドボックスソリューションは追加、管理、アップグレードできない。カスタム スクリプトがブロックされる前に展開したサンドボックスソリューションは引き続き動作する。 |
SharePoint Designer |
HTMLではないページは更新できない。 操作一覧 : フォーム作成とカスタム アクションは動作しない。 データソース : プロパティボタンは利用できない |
ユーザーは引き続きデータソースの一部は開ける。SharePoint Designer 内でカスタム スクリプトが許可されていないサイトを開くには、カスタム スクリプトが許可されているサイトを最初に開く必要がある。 |
潜在的にスクリプトを含むファイルのアップロード |
次のファイルの種類はアップロードできない
|
ライブラリ内に既に存在するファイルは影響を受けない |
利用できない Web パーツ (クラシック サイト)
Webパーツのカテゴリ | Web パーツ |
ビジネスデータ |
|
コミュニティ |
|
お勧めのコンテンツ (Content Rollup) |
|
ドキュメント セット |
|
フォーム |
|
メディアとコンテンツ |
|
検索 |
|
検索型コンテンツ (Search-Driven Content) |
|
イベントのグループ作業 (Social Collaboration) |
|
その他の機能
- マスターページ ギャラリー : マスターページの作成と編集
- 発行サイト : マスターページおよびページレイアウトの作成や編集
コメント