2007年12月21日 (金)

サイトコレクション作成時にカスタム作成したサイトテンプレートを選択できるようにしたい

****2007/12/21 一部訂正しました********

MOSS のサイトのほとんどはテンプレート化して再利用できるようになっています。他の部署でも共通で利用するリストやライブラリ、メニューを用意してサイトそのものをテンプレート化し、すぐに利用できるような状態で横展開できるようにする場合などに便利です。また副次的な効果として、組織内で決まったテンプレートを利用させることでサイトの利用ガイドの作成を簡素化したり、ヘルプデスクの負担を軽減にもつながるといったこともあるようです。

設定はチームサイトの場合だと、[サイトの操作]メニュー→[サイトの設定] にアクセスし、[外観] セクションにある "テンプレートとしてサイトを保存" から行います。サイトは 拡張子stp というファイルとしてサイトコレクションのルートに保存されます。


しかし、"グループ作業ポータル" のような発行機能が有効になっているサイト (こうしたサイトを"発行サイト"といいます) には、サイトの設定ページの[外観] セクションに "テンプレートとしてサイトを保存" メニューがありません。発行サイトもテンプレート化できると書いてしまっていましたが、訂正します。発行サイトのテンプレート化はマイクロソフトのサポート対象外であり、確かに"_layouts/savetmpl.aspx" からテンプレート化まではできたとしても実際にテンプレートを元にサイトを作成するとエラーが表示されてうまく動作してくれません。もし、発行サイトをサイトコレクション作成時に利用できるようにするのであれば、テンプレートではなく、"サイト定義" というものを作成する必要があります。サイトテンプレートとサイト定義については、改めて別の機会に投稿します。(2007/12/21 訂正) この一見するとサイトのテンプレート化ができないように見えます。実は、既定ではテンプレート化するメニューが非表示になっているだけです。サイトの保存メニューは次の URL を指定することで表示できます。

次にテンプレートをサイトコレクションのルートサイト用への追加します。この作業はWebブラウザからは実行できないため、stsadm.exe を使用します。
  1. サイトテンプレートをサイト テンプレート ギャラリーからダウンロードして任意の場所に保存する
  2. 次のコマンドラインを実行する
    stsadm.exe -o addtemplate -filename テンプレートファイルのパス -title 任意のタイトル
  3. iisreset を実行して、IIS を再起動する

以上で、新規にサイトコレクションを作成するときにカスタムテンプレートを選択できるようになります。

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255797

サイトコレクション作成時にカスタム作成したサイトテンプレートを選択できるようにしたいを参照しているブログ:

コメント

そうなんですよね、発行サイトに関しては単純に保存するとファイル循環参照エラーが出てしまいますものね。
いくつか方法がある中で「サイト定義」は一番いい方法だと思いますが、SharePoint Designerで作るのもいいですよね。

発行サイトに関してはコンテンツタイプも絡むので、なかなかやりがいのあるところです(^^;)

いつもお世話になっております。

本項目を検証させていただいているのですが、
stpファイルを指定して、実行すると、
アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))
と表示されてしまいます。

何か考えられる原因はありますでしょうか。

tnisiho様、コメントをありがとうございます。

ご指摘の現象は、手元の環境では再現できていないのですがアクセス拒否のエラーとのことですので、stsadm.exeでstpファイルが読み取れないということでしょうね。。。stpファイルのアクセス権限あたりがあやしい感じがします。

すみません、お役に立てず。また、もし原因が分かったようでしたら、ご一報くださいませ。

ありがとうございます。何度か、試したら上手くいきました。やはり権限問題だったようです。

tnishio様、やはり権限の問題だったのですね。とにかく無事に実行できたようで安心しました。今後ともよろしくお願いいたします。