2019年2月 3日 (日)

[SharePoint Online] カスタム スクリプトの許可と禁止

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 管理センター(旧) 上では下記のような設定項目です。

2019-02-03_16-43-13

"個人用サイト" というのは OneDrive for Business のことです。オンプレミスの SharePoint では以前は OneDrive for Businessは個人用サイト (MySite) と呼ばれていました。ルートサイトに関しては "セルフサービスで作成されたサイトユーザーがカスタム スクリプトを実行できるようにする" の方が該当するようです。

さらに、設定変更しても反映するまで最大24時間かかるため一晩寝かせるくらいの気持ちで設定する必要があることも付け加えておきます。

カスタム スクリプトが許可されていない(ブロックしている)場合の影響

ところで、カスタム スクリプトが許可されてないとどんな影響があるのでしょうか? これも上記のURLに記載されています。ただ、このURLにある記事は英語であり、日本語に切り替えても機械翻訳されていて、非常に読みにくい。そのため下記に日本語訳してみます(若干意訳あり)。

影響を受ける機能 (クラシック サイト)

サイト機能 振る舞い 備考
サイトをテンプレートとして保存 サイト設定からは利用できない カスタム スクリプトがブロックされる前に作成したテンプレートは引き続き利用できる
ドキュメント ライブラリをテンプレートとして保存する ライブラリ設定からは利用できない カスタム スクリプトがブロックされる前に作成したテンプレートは引き続き利用できる
ソリューションギャラリー サイト設定からは利用できない カスタム スクリプトがブロックされる前に作成したユーザーが作成したソリューションは引き続き利用できる
テーマギャラリー サイト設定からは利用できない カスタム スクリプトがブロックされる前に作成したテーマは引き続き利用できる
ヘルプ設定 サイト設定からは利用できない カスタム スクリプトがブロックされる前に作成した利用できたヘルプファイル コレクションには引き続きアクセスできる
HTMLフィールドのセキュリティ サイト設定からは利用できない カスタム スクリプトがブロックされる前に設定したHTML フィールドのセキュリティ設定は引き続き利用できる
サンドボックス ソリューション ソリューションギャラリーはサイト設定では利用できない サンドボックスソリューションは追加、管理、アップグレードできない。カスタム スクリプトがブロックされる前に展開したサンドボックスソリューションは引き続き動作する。
SharePoint Designer

HTMLではないページは更新できない。

操作一覧 : フォーム作成とカスタム アクションは動作しない。
サブサイト : サブサイトの新規作成、サイトの削除はWebブラウザーが起動しサイト設定へとリダイレクトされる

データソース : プロパティボタンは利用できない

ユーザーは引き続きデータソースの一部は開ける。SharePoint Designer 内でカスタム スクリプトが許可されていないサイトを開くには、カスタム スクリプトが許可されているサイトを最初に開く必要がある。
潜在的にスクリプトを含むファイルのアップロード

次のファイルの種類はアップロードできない

  • asmx
  • aspx
  • htc
  • jar
  • master
  • swf
  • xap
  • xsf
ライブラリ内に既に存在するファイルは影響を受けない

利用できない Web パーツ (クラシック サイト)

Webパーツのカテゴリ Web パーツ
ビジネスデータ
  • ビジネス データ アクション
  • ビジネス データ アイテム
  • ビジネス データ アイテム ビルダー
  • ビジネス データ関連リスト
  • Excel Web Access
  • インジケーターの詳細
  • ステータス リスト
  • Visio Web Access
コミュニティ
  • このコミュニティについて
  • ツール
  • 個人用メンバーシップ
  • 最新の状況
  • 参加
お勧めのコンテンツ (Content Rollup)
  • カテゴリ
  • プロジェクトの要約
  • 関連ドキュメント
  • RSSビューアー
  • サイトの集合表示
  • カテゴリに属するサイト
  • 用語のプロパティ
  • タイムライン
  • WSRP ビューアー
  • XMLビューアー
ドキュメント セット
  • ドキュメントセットのコンテンツ
  • ドキュメントセットのプロパティ
フォーム
  • HTMLフォームWebパーツ
メディアとコンテンツ
  • コンテンツ エディター
  • スクリプト エディター
  • Silverlignt のWebパーツ
検索
  • 絞り込み
  • 検索ボックス
  • 検索ナビゲーション
  • 検索結果
検索型コンテンツ (Search-Driven Content)
  • カタログの再使用
イベントのグループ作業 (Social Collaboration)
  • 連絡先の詳細
  • メモ掲示板
  • 組織ブラウザー
  • サイト フィード
  • タグ クラウド
  • ユーザー タスク

その他の機能

  • マスターページ ギャラリー :  マスターページの作成と編集
  • 発行サイト : マスターページおよびページレイアウトの作成や編集

 

コメント