ここでは,バージョン付きオブジェクトによるバージョン管理の概要について説明します。
バージョンを追加する場合には,チェックアウトとチェックインという操作が必要になります。
図3-1 バージョン付きオブジェクトのチェックアウト
図3-2 バージョン付きオブジェクトのチェックイン
バージョンには順序性があります。バージョンの順序とは,それぞれのバージョンをチェックインした順序です。なお,最新のバージョンのことをカレントバージョンといいます。
バージョン付きオブジェクトの個々のバージョンは,バージョン識別子によって指定できます。チェックアウトしている文書またはフォルダのバージョンを指定する場合は,チェックアウト時に取得した仮のバージョン識別子を指定します。また,バージョンのチェックアウト状態を確認して,すでにチェックアウトされている文書空間オブジェクトの仮のバージョン識別子を取得することもできます。
仮のバージョン識別子は,チェックイン後のバージョンの識別子とは異なりますので,注意してください。バージョンをチェックアウトしたあとで,チェックアウトを取り消した場合は,仮のバージョンオブジェクトおよび仮のバージョン識別子は削除されます。
バージョン付きオブジェクトでは,バージョン付きオブジェクトの1バージョンとしてバージョンなしオブジェクトを管理できます。バージョンなし文書はバージョン付き文書の1バージョンに対応し,バージョンなしフォルダはバージョン付きフォルダの1バージョンに対応します。つまり,バージョン付きオブジェクトのバージョンオブジェクトは,バージョンなしオブジェクトに対応します。バージョン付きオブジェクトとバージョンなしオブジェクトの関係を次の図に示します。
図3-3 バージョン付きオブジェクトとバージョンなしオブジェクトの関係
このため,バージョン付きオブジェクトのバージョンオブジェクトをバージョンなしオブジェクトとみなして,バージョンなしオブジェクトクラスの機能を使用して操作できます。また,バージョンなしオブジェクトから,自身をバージョンオブジェクトとして管理しているバージョニングオブジェクトをたどることもできます。
例えば,バージョン付き文書を全文検索する場合,実際に全文検索の対象となるコンテンツは個々のバージョンごとに存在します。このため,検索はバージョンオブジェクトであるバージョンなし文書が対象になり,検索結果としてバージョンオブジェクトのプロパティが取得できます。このとき,例えば,「全文検索で取得したバージョンなし文書を更新して,新しいバージョンとして追加したい」という場合などには,バージョンオブジェクトからバージョニングオブジェクトをたどることもできます。