サンプル: 管理されたメタデータ依存関係を管理する
最終更新日: 2011年4月20日
適用対象: SharePoint Server 2010
C:\Program Files\Microsoft SDKs\SharePoint 2010\Samples フォルダーにある ManagedMetadataDependencies.zip ファイル内のコード サンプルは、リスト アイテムの依存関係を管理するために、ドキュメント ライブラリ オブジェクト モデルの ItemAdded イベントと ItemUpdated イベントでイベント レシーバーを使用します。このサンプルでは、依存関係管理を示すために、1 つの列を、管理されたメタデータ フィールドを保存するため、1 つの列を、現在のアイテムが依存するその他のアイテムを定義する、複数値の管理されたメタデータ フィールドのため、そして、もう 1 つの列を、現在のアイテムに依存するアイテムを指定する、複数値の管理されたメタデータ フィールドのために割り当てています。
表 1 で示すように、コンテンツ タイプは 3 つの列を必要とします。3 つの列すべてが同じ用語セットを使用します。
表 1. 必要な列
列 |
説明 |
---|---|
TaxonomyName |
アイテムの名前を示す、単一値の管理されたメタデータ フィールド。この列は必須です。 |
Dependencies |
現在のアイテムが依存するその他のアイテムを定義する、複数値の管理されたメタデータ フィールド。この列の値が更新されたとき、指定されたアイテムで依存関係が作成されます。 |
DependOnThis |
現在のアイテムに依存するアイテムを指定する、複数値の管理されたメタデータ フィールド。 |
たとえば、フォルダーである 2 つのアイテム、A と B を想定します。表 2 は、フォルダー A とフォルダー B の関係と、それぞれのフォルダーのそれぞれの列の値の関係を示します。このシナリオでは、フォルダー A はフォルダー B に依存しています。フォルダー B を見ると、フォルダー B は依存関係を持っていませんが、フォルダー A に依存していることを確認できます。
表 2. フォルダーの関係
列の名前 |
フォルダー A |
フォルダー B |
---|---|---|
TaxonomyName |
フォルダー A |
フォルダー B |
Dependencies |
フォルダー B |
|
DependsOnThis |
フォルダー A |
サンプルのビルドと実行
開発サイトあるいはテスト サイトで、このプロジェクトをテストします。
サンプルのビルド
Microsoft Visual Studio 2010 で、*.sln ファイルを開きます。Visual Studio 2010 の [プロパティ] ウィンドウで、サイト URL の値を開発テスト サイトの絶対アドレスに変更します。たとえば、「http://MyDevServer/」に変更します。終了スラッシュを入力していることを確認してください。
サンプルの実行
アイテムが更新されると、依存関係 (そして Dependencies 列のデータ) が更新されます。変更がされた場合、サンプルは、追加あるいは削除された依存関係を探し、次にその DependsOnThis 列を更新する必要があるアイテムを探します。依存関係がプロパティから削除された場合は、サンプルは、現在のプロパティが以前に依存していたアイテムから、そのプロパティを削除します。