まだSharePointについて分かっていないなあ・・・

もう、8か月間も会社ではMOSS2007というかWSS3.0関連の仕事んなんですけど、いっこうになじめなない気がする。まだ全然分かってないし。

SharePointとはイントラネットなどで情報共有サイトやポータルサイトを簡単に作成できるWindows Serverの追加ソフトウェア。WSS3.0(Windows SharePoint Services 3.0)という部分は無償だが、より高度な機能を使うにはMOSS2007(Microsoft Office SharePoint Server 2007)を購入する必要がある。
エクスプローラでの共有ディレクトリとかExchangeのパブリックフォルダのようなものがブラウザの中で実現できる。
ASP.NETSQL Server(DB)を使ったWebサイトの実装例ともいえる。Webページ等の外観の部分までDBの中に入っていて、HTTP要求が来たときに実体化される。
社内の情報共有DBにGUIをつけたものともみなせる。
Web開発者でなくてもWeb画面での設定だけで、特定用途のページであれば簡単に作成できる。
汎用性や拡張性はあると思うが、実行速度は遅い。隠されすぎていて障害原因追跡が困難な場合がある。かゆいところに手が届かないことが多い。開発者は予備知識がかなり必要だと思う。
SharePointの基本的なオブジェクトモデルはWebサーバー、Webアプリケーション、サイトコレクション、サイト、リスト、リストアイテムというように階層をなしている。大まかにいえば、サイトが1つのWebページに対応していて、リストがテーブルに対応している。
リストはエクスプローラの詳細表示にあたるものでもある。実際「リスト」の一種「ドキュメントライブラリ」はそれをブラウザ内で表現したものと言える。リストアイテムがエクスプローラで言うところのファイルである。

プログラミングモデルでは以下のクラスが対応している。
「SPList クラス」
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splist.aspx
「SPListItem クラス」
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splistitem.aspx

「フォルダ」とい概念もある。複数の「アイテム」をまとめておける一種の「アイテム」である。
今日(昨日)はこれではまってしまった・・・
通常の方法(?)
「SPList.Items プロパティ」
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splist.items.aspx
でリストのアイテム全体を取得すると、フォルダは含まれない。
フォルダは
「SPList.Folders プロパティ」
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splist.folders.aspx
の方に含まれる。

別の方法
「SPWeb.GetSiteData メソッド」
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.spweb.getsitedata.aspx
でリストの内容を取得すると、結果にはアイテムとしてフォルダも含まれてくるので、当初不可解なアイテムが存在するのかと思って戸惑った。
オブジェクトとしてはフォルダでもSPListItemであるがContentTypeフィールドが「フォルダ」となっているので区別できる。