カテゴリ「SharePoint 全般」の83件の投稿 Feed

2007年12月11日 (火)

よく 私は DEMO 環境を構築するときにMOSS と DC を同居させて、とにかく1台で DEMOができるようにします。で、先日この環境からどうしても DC を切り離す必要がありました。その時に、トラブルに見舞われましたので問題の再現方法と対処策を書いておきたいと思います。

DC を切り離し作業 (ここは一般的な手順であるため概要程度にとどめます)

  1. 別のPCに Windows Server 2003 をインストールし、DC に昇格
  2. MOSS と同居している DC から 新しいサーバーにFSMO を移動
  3. MOSS と同居している DC を削除

3.の手順後、MOSSのサイトにアクセスすると全くサイトにアクセスできない状況になります。これはMOSS で利用しているアプリケーションプールで使用している アカウントが所属しておくべきグループに追加されないことが原因です。以下の手順がMOSSの復旧策です。

  • MOSS サーバー上の "IIS_WPG" ローカルグループにアプリケーションプールで使用しているアカウントを追加
  • DC 上のローカルグループである "WSS_WPG" にアプリケーションプールで使用しているアカウントを追加
  • 最後に、IIS の管理ツールを使用してアプリケーションプールのワーカープロセスを再起動

最後のワーカプロセスの再起動では、管理サイトと共有サービスプロバイダのものもも忘れずに再起動しておきます。管理サイトのアプリケーションプール名は通常、"SharePoint Central Administration v3 " 、共有サービスプロバイダ のアプリケーションプール名は通常は "SharedServices1" です。

ちなみに、上記トラブルシューティングを見てもわかりますが、MOSS を理解するにはシステム管理者の方も開発者の方も最低限、IIS の基本的な管理方法と アプリケーションプールワーカプロセスといった用語はキーワードとして理解しておくといいと思います。これらの用語については、別の回に取り上げるようにしたいと思います。

2007年12月 7日 (金)

サイト コレクションの作成方法には、明示的にパスを指定しそのパスに1つのサイト コレクションを作成する方法とワイルドカードを使用して指定したパスの配下に複数のサイト コレクションを作成する方法とがあります。

既定ではサイト コレクションを作成するときに次の2つのパスが用意されます。

  • ルート パス (/)
  • サイト パス (/sites)

ルート パスは明示的なパスです。ルートパスに作成すると、 http://moss2007/ といったサイトが作成されます。一方、サイト パスはワイルドカードとなっており、sites の配下にhttp://moss2007/sites/sitea/http://moss2007/sites/siteb/ といった複数のサイト コレクションを作成できます。

なお、管理対象のパスは任意のパスを追加することもできます。たとえば、先にワイルドカードである sites 配下にサイト コレクションを作成し、後からルート パスにサイト コレクションを作成しようとしたときに ルートパスが表示されないことがあります。こうした場合にも、あらかじめルート パスを手動で追加しておけば問題ありません。

管理パスの追加方法

  1. [SharePoint 3.0 サーバーの全体管理] サイトにアクセスする。
  2. [アプリケーション構成の管理] タブをクリックする。
  3. [SharePoint Web アプリケーション構成の管理] セクションにある [管理パスの定義] をクリックする。
  4. 管理パスを追加したい Web アプリケーションを選択する。
  5. [新しいパスの追加] セクションに "/" パスを入力し、種類として [明示的な管理対象パス] を選択し [OK] をクリックする。
2007年12月 6日 (木)

SharePoint 上で複数のサイトにある「お知らせ」などの情報を一か所でまとめて表示したいという要望をよく聞きます。

方法は大きく3つあります。

  1. コンテンツ クエリ Web パーツを利用する
  2. SharePoint Designer 2007 のデータビュー(Webパーツ)を利用する
  3. カスタムWebパーツを独自に開発する

一番手軽な方法は"コンテンツ クエリ Web パーツ" を使用する方法です。コンテンツ クエリ Web パーツは複数サイトにある情報を集めて表示する機能があります。ただ、コンテンツクエリ Web パーツを使用する場合以下の点を考慮しなくてはいけません。

  • 同一サイトコレクション内でかつWebパーツを追加したサイト以下のサイトの情報のみを取得できる(別のサイトコレクションにあるものは参照できない)
  • 既定では取得できる列(プロパティ)が限られている

特に注意したいのが、取得できる列です。既定で取得できる列は "タイトル列" です。その他にも、 "説明" や "お勧めのイメージ" 列などが取得できますが、これはアーティクルページで作成された発行ページなどに限定されます。

ですから、「お知らせ」リストのアイテム情報を取得しようとすると、タイトルのみしか表示されません。 もし更新日時などの任意の列を表示したい場合は、コンテンツクエリ Web パーツをカスタマイズする必要があります。カスタマイズについては、以下の サイトが参考になります。(カスタマイズはあまり簡単ではありません。最低でもXML,XSTLの知識は必要ですのでご注意ください)

次に利用しやすいのがSharePoint Designer 2007 のデータビューを利用する方法です。この方法もコンテンツクエリ Web パーツ同様、同一サイトコレクション内のサブサイトの情報を取得できます。SharePoint Designer 2007 を使用して、新規にコンテンツページを作成しデータビューを追加して、生成されるXSLTを編集することになります。コンテンツクエリ Web パーツのカスタマイズに比べて、Designer を使用するので任意の列を比較的簡単に取得でき見た目(XSLT) の変更も容易です。この手法については、有償ですが技術研修カリキュラムを作成していますので、ご利用いただくとよいかもしれません。ちょっと宣伝させていただくとこのコースは、SharePoint Designer 2007 でのサイトのカスタマイズ方法をメインで扱っているものです。

最後に難易度が最も高く、かつ一番柔軟性があるのが Web パーツ開発です。Web パーツを独自開発すればいかようにでもできますから、もっと使い勝手よく複数サイトから情報が取得できます。ちなみに、Web パーツを開発する場合は、Visual Studio 2005 extensions for Windows SharePoint Services を使用すると効率よく開発できます。