質問
Moss2010アプリを構築しています。カスタムサイト定義を作成したいのですが、それ自体にサイトがあります(だから、本当に欲しいサイトコレクションのようなものになります)。 C#のみを介してこれをやりたいと思います。
最良の方法は何でしょうか?サイトの定義はこれに伴いないようです。
ありがとう
解決
サイトの階層が設計時に既に既にわかっている場合、Web UIに実装してから、サイトテンプレートとして保存できます。
他のヒント
これを行う簡単な方法は、BlankInternetが使用するOOBサイトプロビジョニングプロバイダーを使用することです(この例をstswebtemp.xmlおよび付随するサイト階層マニフェストファイルで参照してください)。
別の方法は、サブサイトをプログラム的に作成するカスタムプロビジョニングプロバイダーを使用することです(できればXMLファイルで)。階層を作成するためのサブサイトのWebテンプレートのプロビジョニングプロバイダーを再利用します。
別のオプションは、PowerShellを使用することです。 Web/Subwebを定義するXML構造を定義します(uが好きな場合はOOBプロビジョニングプロバイダーの構造を再利用します)。
サイト定義をスコープして、サイトコレクションのrootでサイトのみを作成できます(webtemp.xnlファイルを介して)。
サイトの定義を別の機能と関連付けるステープラー機能を作成できます。さらに、機能Xの機能レシーバークラスを作成できます。機能アクティベーションイベントを使用すると、SharePointオブジェクトモデルを使用して、必要なサブサイトを作成できます。サイトコレクション。
私は自分で試していませんが、SharePointのデフォルトのサイト定義の一部で使用されている「PortalProvisioningProvider」クラスを活用することが可能だと思います。このクラスは、サブサイト階層を説明する別のXMLファイルを読み取ります。見る ここ 詳細については。