ここでは,文書のバージョン管理について説明します。
DocumentBrokerでは,文書に「第1版」「第2版」などの連続する版(バージョン)を付けて管理できます。文書にバージョンを付けて管理することによって,過去のある時点での文書を取り出したり,その文書を基にして新たな文書を作成することなどができます。
バージョンは,文書を新規に作成して保存した時点から付けられます。保存されている文書を更新して,次に保存する時点で,バージョンを上げるかどうかを選択できます。また,文書に複数のバージョンが付けられている場合は,最新のバージョンを編集して,新しいバージョンとして保存できます。
文書のバージョン管理の概念を,次の図に示します。
図A-6 文書のバージョン管理の概念
なお,最後のバージョン番号が最新のバージョン(カレントバージョン)になります。
図A-6を,DMAオブジェクトの概念に置き換えて次の図に示します。
図A-7 文書のバージョンを表現するDMAオブジェクトの関連(例)
文書をバージョン管理する場合のDMAオブジェクトの参照関係を次の図に示します。
図A-8 バージョン管理でのDMAオブジェクトの関係の例
次に,図A-8の説明を兼ねて文書のバージョン管理に使用するDMAオブジェクトについて説明します。
文書の一連のバージョンを統括するDMAオブジェクトです。バージョン管理される文書の最上位に位置します。したがって,文書がバージョン管理されている場合,ConfigurationHistoryオブジェクトが文書として表現されます。つまり,文書Aに第1版から第3版までのバージョンがある場合,ConfigurationHistoryオブジェクトによって,第1版から第3版までの一連のバージョンが,まとめて文書Aとして表現されます。
ConfigurationHistoryオブジェクトは,図A-8に示したとおり,dmaProp_PrimaryVersionSeriesプロパティにVersionSeriesオブジェクトへのリファレンスを保持します。
バージョンの構成を管理するオブジェクトです。例えば,ある文書に対してバージョンが幾つあるか,最新のバージョンはどれか,などの情報を管理しています。VersionSeriesオブジェクトは,ConfigurationHistoryオブジェクトの直下に一つだけ存在します。
VersionSeriesオブジェクトは,図A-8で示したとおり,dmaProp_VersionDescriptionsプロパティにVersionDescriptionsオブジェクトを要素に持つEnumerationOfObjectオブジェクトへのリファレンスを保持します。また,dmaProp_CurrentVersionDescriptionプロパティには,最新のバージョンのVersionDescriptionオブジェクトへのリファレンスが格納されています。このプロパティによってEnumerationOfObjectオブジェクトを介さずに最新のバージョンの文書を探索できます。
図A-8で示したとおり,VersionDescriptionオブジェクトは,dmaProp_VersionSeriesプロパティにVersionSeriesオブジェクトへのリファレンスを保持し,dmaProp_VersionプロパティにDocVersionオブジェクトへのリファレンスを保持しています。このように,VersionDescriptionオブジェクトは,VersionSeriesオブジェクトにDocVersionオブジェクトを結び付けて,VersionSeriesオブジェクトで管理するバージョンに対応する文書(DocVersionオブジェクト)が何であるかを管理します。
文書の特定のバージョンに相当するDMAオブジェクトです。バージョン管理されているDocVersionオブジェクトは図A-8のように,dmaProp_VersionDescriptionsプロパティに,VersionDescriptionオブジェクトを要素に持つEnumerationOfObjectオブジェクトへのリファレンスを保持します。
DocVersionオブジェクトの詳細については,「付録A.3 DMAオブジェクトで表す文書」を参照してください。
新しいバージョンを作成する権利をVersionSeriesオブジェクトに予約する場合に使用するDMAオブジェクトです。新しいバージョンのチェックインが完了すると削除されます。チェックインについては,「付録A.4(4) バージョン管理でのオブジェクトの操作」を参照してください。
文書のバージョン管理に使用するDMAクラスを,継承関係に基づいて次の図に示します。
図A-9 文書のバージョン管理に使用するDMAクラスの継承関係
文書に新しいバージョンを作成するための操作の概要について説明します。
文書に新しいバージョンを作成するには,VersionSeriesオブジェクトに新しいバージョンを追加するための権利を予約する必要があります。
最新のバージョンとするDocVersionオブジェクトを,VersionSeriesオブジェクトに登録します。さらに,VersionSeriesオブジェクトに対して接続するVersionDescriptionオブジェクトが通知されます。これをチェックインといいます。
(a)での操作をキャンセルすると,作成されたReservationオブジェクトは削除されます。
バージョン管理でのDMAオブジェクトの操作例を,次の図に示します。
図A-10 バージョン管理でのDMAオブジェクトの操作例