3.9.2 コンテナを使用した文書管理

ここでは,コンテナを使用した文書管理について説明します。

<この項の構成>
(1) 関連づけの種類
(2) 関連づけの方法
(3) 関連づけた文書またはコンテナの参照

(1) 関連づけの種類

ここでは,コンテナから設定できる関連づけの種類について説明します。関連づけを表すコンテインメントには,次の3種類があります。

(a) 直接型のコンテインメント

直接型のコンテインメントとは,包含するオブジェクトをParent(親),包含されるオブジェクトをChild(子)として,1:n(nは1以上の整数)で関連づけるコンテインメントです。Parentは複数のChildと関連づけられますが,Childは一つのParentとしか関連づけられません。このコンテインメントを使用して,文書をまとめてフォルダに格納するような管理が実現できます。フォルダには複数の文書を格納できますが,一つの文書は複数のフォルダに格納できません。なお,上位のコンテナを下位以下のコンテナのChildとして関連づけることはできません。

クラスライブラリで直接型のコンテインメントを設定する場合は,CdbrReferentialContainer::LinkメソッドまたはCdbrReferentialContainer::LinkAndLockメソッドの引数にDBR_CONTAINMENT_DIRECTを指定します。

次の図に直接型のコンテインメントで関連づけられたオブジェクトの例を示します。

図3-39 直接型のコンテインメントで関連づけられたオブジェクトの例

[図データ]

(b) 参照型のコンテインメント

参照型のコンテインメントとは,包含するオブジェクトと包含されるオブジェクトをn:m(n,mは1以上の整数)で関連づけるコンテインメントです。

このコンテインメントを使用して,複数の観点で文書を分類する管理が実現できます。複数の文書に対して共通の分類から関連づけたり,一つの文書に対して複数の分類を関連づけたりできます。

クラスライブラリで参照型のコンテインメントを設定する場合は,CdbrReferentialContainer::LinkメソッドまたはCdbrReferentialContainer::LinkAndLockメソッドの引数にDBR_CONTAINMENT_REFERENTIALを指定します。

次の図に参照型のコンテインメントで関連づけられたオブジェクトの例を示します。

図3-40 参照型のコンテインメントで関連づけられたオブジェクトの例

[図データ]

(c) 構成管理型のコンテインメント

構成管理型のコンテインメントとは,包含されるオブジェクトが複数のバージョンを持っている場合に,特定のバージョンに固定するか,常に最新のバージョンにつなぎ替えるかを選択して,包含されるオブジェクトを関連づけるコンテインメントです。このコンテインメントは,CdbrConfiguratedReferentialContainerクラスまたはCdbrVersionTraceableContainerクラスから作成したオブジェクトで設定できます。CdbrReferentialContainerクラスでは使用できません。

構成管理型のコンテインメントについては,「3.10 構成管理コンテナを使用した文書の構成管理」を参照してください。

(2) 関連づけの方法

コンテナと文書またはコンテナへの関連づけは,LinkメソッドまたはLinkAndLockメソッドなどをコールして設定します。これらのメソッドをコールすると,直接型または参照型のコンテインメントで関連づけられます。

コンテナ「プロジェクトA」から,文書「企画メモ」および「提案書」を直接型のコンテインメントで,コンテナ「資料」を参照型のコンテインメントで関連づけた例を示します。

図3-41 コンテインメントで関連づけた文書とコンテナの例

[図データ]

なお,コンテインメントは,コンテナが管理します。コンテインメントは,コンテナに接続して操作します。

コンテインメントを指定した操作をする場合,リンク識別子を使用します。リンク識別子は,コンテインメントを設定した時に取得します。また,関連づけている文書やコンテナの一覧を取得する時にも取得できます。この識別子を使用して,コンテインメントを指定した操作や,コンテインメントのプロパティの操作ができます。

(3) 関連づけた文書またはコンテナの参照

コンテナからコンテインメントによって関連づけた文書またはコンテナの情報は,GetContainableListAndLockメソッドなどによって,コンテナから参照できます。また,関連づけられている文書またはコンテナから,GetContainerListAndLockメソッドなどによってコンテナを参照することもできます。例えば,図3-41の場合は,コンテナ「プロジェクトA」から関連づけている文書「企画メモ」「提案書」およびコンテナ「資料」を参照できます。また,文書「企画メモ」からコンテナ「プロジェクトA」を参照できます。