SharePointでリストテンプレートを作る〜カスタムスクリプトの有効化〜

こんにちは!

皆さんは普段、SharePointを利用しておりますか??

私は業務上よく使います。

好き嫌いかで言うとあまり好きではないです。(笑)

 

なぜか嫌いかというと製品に対しての不満もいくつかあるのですが、情報が少ないということです。

世界中で使われているとよく聞くのですが、他の製品やサービスに比べても情報が少ないです。。。。。

でもし私と同じような状況になった方がいた時にすぐに解決できるようにたまにブログに記事を書いています。

 

今回、書く記事はSharePointのテンプレートに関してです。

SharePointではサイトやリストをテンプレート(雛形)にすることができるのですが、テンプレートする前にカスタムスクリプトを有効化しなければいけません。

そこでカスタムスクリプトを有効化する方法を簡単にご紹介します。

SharePointのカスタムスクリプト有効化

カスタムスクリプトを有効化する前に自分が利用できるアカウントがOffice365の全体管理者かSharePoint管理者かは確認してください。SharePointの設定を変更しなければいけないので、すべての人が変更できるというわけではありません。

(1)Office365へログインして「管理者」メニューを開きます。

(2)左ツリーから「管理センター」の「SharePoint」を選択します。

(3)SharePoint管理センター画面へ遷移しますので左ツリーから「設定」を選択します。

(4)いくつか設定項目が表示されますので「カスタムスクリプト」部分へスクロールしてください。以下の2つを有効化してください。

ユーザーが個人用サイトでカスタムスクリプトを実行できるようにします。

セルフサービスによって作成されたサイトでユーザーがカスタムスクリプトを実行できるようにします。

上記の設定を行うことでSharePointのサイトやリストをテンプレート化することができるようになります。

 

よし、これでテンプレートするぞ!と思った方は少しお待ちください。

上記のカスタムスクリプトは組織のルートサイトコレクションにのみ適用されるようです。

私も設定変更はしたけど自分で作成したサイトコレクションでテンプレート化できないな〜といろいろ調べて判明しました!

そこで組織のルートサイトコレクション以外でカスタムスクリプトを有効化するためにはPowerShellを使います。

続いてはルートサイトコレクション以外でのカスタムスクリプト有効化をご紹介します。

 

ルートサイトコレクション以外でのカスタムスクリプト有効化

この場合もOffice365全体管理者もしくはSharePoint管理者の権限が付与されているか?!は事前に確認をお願いします。

(1)まずは最新のSharePointOnline管理シェルをダウンロードしてください。
最新の管理シェルは以下URLにアクセスしてください。

最新のSharePointOnline管理シェルに関する記事

(2)PowerShellを起動してSharePointへ接続します。接続をする場合は以下のコマンドを入力してください。

$adminUPN=”ユーザのアドレス(アカウント)”
$orgName=”SharePointURLの先頭部分”
$userCredential = Get-Credential -UserName $adminUPN -Message “Type the password.”
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential

上記のユーザのアドレスはOffice365へログインするためのアカウントを設定してください。

orgNameの部分に関してはSharePointのURLを入力します。

SharePointのURLは「https://XXXXXXX.sharepoint.com」となっているはずなので、「XXXXXXX」の部分をorgNameに設定します。

(3)上記(2)のコマンドを実行するとダイアログが表示されますのでadminUPNに設定したアカウントのパスワードを入力してください。そうすることでSharePointへ接続できます。

(4)続いて以下のコマンドを入力してください。

Set-SPOsite <SiteURL> -DenyAddAndCustomizePages 0

上記の<SiteURL>部分にカスタムスクリプトを有効化したいSharePointのURLを入力してください。

以上の手続きでカスタムスクリプトの有効化は完了です。

「なぜかテンプレート機能が有効化されないな〜」と悩まれている方はお試しください。

PowerShellのコマンドを叩くだけなのでそこまでは難しくない手続きかと思います。