付録A.4 文書のバージョン管理

ここでは,文書のバージョン管理について説明します。

<この項の構成>
(1) バージョンを利用した文書管理
(2) バージョンの管理方法
(3) 文書のバージョン管理で使用するDMAクラス
(4) バージョン管理でのオブジェクトの操作

(1) バージョンを利用した文書管理

DocumentBrokerでは,文書に「第1版」「第2版」などの連続する版(バージョン)を付けて管理できます。文書にバージョンを付けて管理することによって,過去のある時点での文書を取り出したり,その文書を基にして新たな文書を作成することなどができます。

(2) バージョンの管理方法

バージョンは,文書を新規に作成して保存した時点から付けられます。保存されている文書を更新して,次に保存する時点で,バージョンを上げるかどうかを選択できます。また,文書に複数のバージョンが付けられている場合は,最新のバージョンを編集して,新しいバージョンとして保存できます。

文書のバージョン管理の概念を,次の図に示します。

図A-6 文書のバージョン管理の概念

[図データ]

なお,最後のバージョン番号が最新のバージョン(カレントバージョン)になります。

図A-6を,DMAオブジェクトの概念に置き換えて次の図に示します。

図A-7 文書のバージョンを表現するDMAオブジェクトの関連(例)

[図データ]

文書をバージョン管理する場合のDMAオブジェクトの参照関係を次の図に示します。

図A-8 バージョン管理でのDMAオブジェクトの関係の例

[図データ]

次に,図A-8の説明を兼ねて文書のバージョン管理に使用するDMAオブジェクトについて説明します。

(a) ConfigurationHistoryオブジェクト

文書の一連のバージョンを統括するDMAオブジェクトです。バージョン管理される文書の最上位に位置します。したがって,文書がバージョン管理されている場合,ConfigurationHistoryオブジェクトが文書として表現されます。つまり,文書Aに第1版から第3版までのバージョンがある場合,ConfigurationHistoryオブジェクトによって,第1版から第3版までの一連のバージョンが,まとめて文書Aとして表現されます。

ConfigurationHistoryオブジェクトは,図A-8に示したとおり,dmaProp_PrimaryVersionSeriesプロパティにVersionSeriesオブジェクトへのリファレンスを保持します。

(b) VersionSeriesオブジェクト

バージョンの構成を管理するオブジェクトです。例えば,ある文書に対してバージョンが幾つあるか,最新のバージョンはどれか,などの情報を管理しています。VersionSeriesオブジェクトは,ConfigurationHistoryオブジェクトの直下に一つだけ存在します。

VersionSeriesオブジェクトは,図A-8で示したとおり,dmaProp_VersionDescriptionsプロパティにVersionDescriptionsオブジェクトを要素に持つEnumerationOfObjectオブジェクトへのリファレンスを保持します。また,dmaProp_CurrentVersionDescriptionプロパティには,最新のバージョンのVersionDescriptionオブジェクトへのリファレンスが格納されています。このプロパティによってEnumerationOfObjectオブジェクトを介さずに最新のバージョンの文書を探索できます。

(c) VersionDescriptionオブジェクト

図A-8で示したとおり,VersionDescriptionオブジェクトは,dmaProp_VersionSeriesプロパティにVersionSeriesオブジェクトへのリファレンスを保持し,dmaProp_VersionプロパティにDocVersionオブジェクトへのリファレンスを保持しています。このように,VersionDescriptionオブジェクトは,VersionSeriesオブジェクトにDocVersionオブジェクトを結び付けて,VersionSeriesオブジェクトで管理するバージョンに対応する文書(DocVersionオブジェクト)が何であるかを管理します。

(d) DocVersionオブジェクト

文書の特定のバージョンに相当するDMAオブジェクトです。バージョン管理されているDocVersionオブジェクトは図A-8のように,dmaProp_VersionDescriptionsプロパティに,VersionDescriptionオブジェクトを要素に持つEnumerationOfObjectオブジェクトへのリファレンスを保持します。

DocVersionオブジェクトの詳細については,「付録A.3 DMAオブジェクトで表す文書」を参照してください。

(e) Reservationオブジェクト

新しいバージョンを作成する権利をVersionSeriesオブジェクトに予約する場合に使用するDMAオブジェクトです。新しいバージョンのチェックインが完了すると削除されます。チェックインについては,「付録A.4(4) バージョン管理でのオブジェクトの操作」を参照してください。

(3) 文書のバージョン管理で使用するDMAクラス

文書のバージョン管理に使用するDMAクラスを,継承関係に基づいて次の図に示します。

図A-9 文書のバージョン管理に使用するDMAクラスの継承関係

[図データ]

(4) バージョン管理でのオブジェクトの操作

文書に新しいバージョンを作成するための操作の概要について説明します。

(a) 新しいバージョンを作成するための権利の予約

文書に新しいバージョンを作成するには,VersionSeriesオブジェクトに新しいバージョンを追加するための権利を予約する必要があります。

(b) DocVersionオブジェクトのチェックイン

最新のバージョンとするDocVersionオブジェクトを,VersionSeriesオブジェクトに登録します。さらに,VersionSeriesオブジェクトに対して接続するVersionDescriptionオブジェクトが通知されます。これをチェックインといいます。

(c) 予約のキャンセル

(a)での操作をキャンセルすると,作成されたReservationオブジェクトは削除されます。

(d) バージョン管理でのオブジェクトの操作例

バージョン管理でのDMAオブジェクトの操作例を,次の図に示します。

図A-10 バージョン管理でのDMAオブジェクトの操作例

[図データ]