リスト

Windows SharePoint Services 3.0 では、リスト内のフォルダ、リストのインデックス作成、クロス リスト クエリ、リスト アイテムのバージョン管理など、リストのインフラストラクチャを大幅に拡張する新しいリスト機能が導入されています。

リスト内のフォルダ

Windows SharePoint Services 2.0 のドキュメント ライブラリでよく使用される機能の 1 つであるフォルダ機能が、リストでも使用できるようになりました。フォルダにより、1 つのリストの中でコンテンツを細かく整理することができ、汎用性が向上しています。

フォルダの新機能として、特定のフォルダにメタデータを割り当てることができます。これにより、子コンテンツを格納し、単なるコンテナ以上の機能を持つ高機能のコンテンツ ホルダを作成できます。つまり、独立しているが完全に機能するアイテムの種類としてフォルダを機能させることができます。この例として、Windows SharePoint Services のディスカッション掲示板があります。最上位のディスカッションはそれぞれメタデータを持つフォルダであり、1 ~ n 個の子オブジェクトを格納しています。フォルダの外観を変更することによって、ユーザーはコンテナとしてではなく、別のリスト アイテムとしてフォルダを視覚化することができます。カスタム リストでこのモデルを使用すると、動的な親/子リストを作成できます。

多くのビジネス アプリケーションは高機能なコンテナ オブジェクトを必要としており、その親オブジェクトにはオブジェクト自体に関する重要なデータと、同様のデータを持つ 1 ~ n 個の子が含まれます。通常、この問題を解決するには、親 (マスタ) リストの選択によって、子 (詳細) リストの表示が変わるリストを使用します。SharePoint リスト内のフォルダにはメタデータを割り当てることができるので、単一のリストでも同様の機能を実現できます。

たとえば、注文リストを考えてください。フォルダを注文として準備し、フォルダに order number、customer、shipmentmethod など、メタデータを割り当てることができます。これによって、フォルダでマスタ リストの機能を模倣することができます。次に、フォルダに orderitems リスト アイテムを入力できます。各アイテムにはそれぞれ、itemnumber、description、price など、メタデータが割り当てられるので、単一のリスト内でマスタ/詳細リストの高度な機能を実現できます。

リストのインデックス作成

プラットフォームとしての Windows SharePoint Services に不可欠な機能に、アプリケーションのストレージとしてリスト、ドキュメント ライブラリなど、ストレージ コンテナを使用する機能があります。Windows SharePoint Services 3.0 では、このようにリストやライブラリを使用する機能を拡張し、外部アプリケーションとこのプラットフォーム上で構築されたアプリケーションの両方をサポートできるパフォーマンスを備えた、高機能なストレージ モデルを提供します。Windows SharePoint Services 3.0 でストレージ コンテナを拡張する主な方法の 1 つとして、列のインデックス作成があります。列のインデックスを作成し、個別のデータベースに単純な名前と値のペアとして格納することにより、大きなリストの中にある特定のアイテムへのアクセスが大幅に効率化されます。

リストのインデックス作成により、SharePoint リストは本格的なデータ ストアとして、単純なチームサイトだけでなく外部アプリケーションもサポートできるようになります。たとえば、前に取り上げた注文リストの例では、order number 列のインデックスを作成することにより、外部からの要求におけるリスト内の特定のアイテムに対するアクセスが大幅に効率化されます。数十万件のレコードを持つ外部アプリケーションの場合、列のインデックスを作成することによってパフォーマンスが大きく向上し、SharePoint リストをストレージ デバイスとして使用することが容易になります。ビュー、通知、RSS フィードなど、プラットフォームの標準機能を、単純なチーム サイト内でのデータ ストア エクスプローラとして使用できます。

クロス リスト クエリ

Windows SharePoint Services のストレージをより効果的に使用するという発想から強化されたもう 1 つの機能がクロス リスト クエリです。クロス リスト クエリによって、SPQuery オブジェクトを使用して Web サイトまたはサイト コレクション内のすべてのリストにクエリを実行できます。Windows SharePoint Services 2.0 では、親オブジェクトを反復処理してリスト オブジェクトのコレクションを取得し、リストにクエリを実行してアイテムを取得した後、複数のリストからリスト アイテムのコレクションを構築する必要がありました。SPSiteDataQuery クラスを使用すると、すばやく、効率的にクロス リスト クエリを実行することができ、Windows SharePoint Services 内で SQL クエリと同様の高機能なクエリを実現できます。

リスト アイテムのバージョン管理

Windows SharePoint Services 3.0 では、リスト全体ではなく、アイテム レベルでいくつかの機能が向上しています。以下に、重要な新機能の一覧を示します。

  • アイテムごとのセキュリティ   リストおよびドキュメント ライブラリでアイテム レベルのセキュリティが提供され、リスト レベルだけでなく、各アイテムについてロールを設定できます。アイテムごとのセキュリティと、リスト イベントや拡張可能なフィールド型など、他の機能を組み合わせると、アイテムごとのセキュリティを使用して、別のフィールドのエントリに基づいて、アイテムにアクセスできるユーザーを変更できます。たとえば、アイテムの状態が変更されると、アイテムを編集できるユーザーが変更されるようにすることができます。

  • バージョン管理   Windows SharePoint Services 2.0 では、ドキュメント ライブラリのバージョン管理のみが可能で、メジャー バージョンのみが作成されていました。この基本的な機能は、通常のドキュメントに関連するワークフロー、つまりドキュメントが下書きバージョンであるときの作成および編集プロセスと、公開状態へのドキュメントの発行には適していませんでした。

    Windows SharePoint Services 3.0 では、新しい高機能なバージョン管理モデルが用意されています。このモデルには、メジャー バージョンとマイナー バージョンの両方が含まれており、ドキュメント ライブラリだけでなく、リスト内でもバージョン管理できます。さらに、メジャー バージョンとマイナー バージョンでセキュリティの設定を変えることができ、下書きバージョンと公開バージョンのワークフローを分離できます。バージョンは高機能なイベント モデルに関連付けられており、カスタム ワークフロー、アイテムの検証、情報の伝達など、さまざまなシナリオに対応できます。

  • 必須のチェックアウト   Windows SharePoint Services 2.0 では、ユーザーはドキュメント ライブラリからドキュメントをチェックアウトせずにドキュメントを変更することができました。このため、複数のユーザーが同じドキュメントを編集することが可能で、複雑な結合や上書きの問題を解決する必要がありました。Windows SharePoint Services 3.0 では、ドキュメントの編集は、ドキュメントをチェックアウトした場合にのみ行うことができます。この強制的なチェックアウトによって、明確な所有者モデルが定義され、変更の結合が簡単になっています。

See Also

参照

SPListItemVersion