ここでは,リファレンスファイル管理の概要について説明します。
リファレンスファイルの管理とは,文書の実体であるコンテントを任意のディレクトリに格納し,文書のプロパティとコンテントロケーションだけをデータベースで管理する機能です。
この機能には,次のような特徴があります。
リファレンスファイルの管理では,バージョンなし文書およびバージョン付き文書をリファレンスファイル文書として管理できます。
リファレンスファイルの管理では,コンテントを任意のディレクトリに登録し,そのコンテントの格納先を,コンテントロケーションとして登録します。コンテントロケーションには,ユーザが管理するコンテントのコンテント格納先ベースパスを基点とする相対パス(コンテント格納先パス)を登録します。コンテントは,DocumentBrokerの機能で操作します。
リファレンスファイルの管理を使用する場合,コンテントを任意のディレクトリへ格納し,文書のプロパティをデータベースで管理することから,データベースとコンテントの整合性を考慮する必要があります。このため,1メソッド1トランザクションとすることを前提としています。文書作成をn件連続で実行し,エラーが発生したときは,ロールバックしたあとにコンテントだけが存在する状態となります。また,文書削除をn件連続で実行し,エラーが発生したときは,ロールバックしたあとにコンテントの存在しない文書が残ります。
また,リファレンスファイルの管理では,オブジェクトとコンテントが不整合となる場合があります。不整合となる場合の内容を,次の表に示します。
表3-9 オブジェクトとコンテントが不整合となる場合
機能 | エラー発生個所 | 不整合の内容 | 対処 |
---|---|---|---|
文書の作成 | コンテントを登録したあとのエラー | 登録コンテントが残ります。 | 再度実行して文書を作成してください。 |
文書の更新 | 更新前のコンテントを削除したあと,更新後のコンテントを登録するまでのエラー | コンテントの存在しないオブジェクトが残ります。 | 文書を削除したあと,更新後のコンテントを使用して文書を作成してください。 |
更新後のコンテントを登録したあとのエラー | コンテントの存在しないオブジェクトが残り,登録コンテントが残ります。 | 文書を削除したあと,更新後のコンテントを使用して文書を作成してください。 | |
文書の削除 | コンテントを削除したあとのエラー | コンテントの存在しないオブジェクトが残ります。 | 再度実行して文書を削除してください。 |
バージョンのチェックアウト | コンテントを複写したあとのエラー | 複写したコンテントが残ります。 | チェックアウトを取り消し,コンテントを削除したあと,ロールバックを実行してください。 |
バージョンの削除 | コンテントを削除したあとのエラー | コンテントの存在しないオブジェクトが残ります。 | 再度実行してバージョンを削除してください。 |
チェックアウトの取り消し | コンテントを削除したあとのエラー | コンテントの存在しないオブジェクトが残ります。 | 再度実行してチェックアウトを取り消してください。 |
リファレンスファイルの管理では,バージョンなし文書およびバージョン付き文書をリファレンスファイル文書として管理できます。リファレンスファイルを管理する場合としない場合とで,バージョンなし文書およびバージョン付き文書を構成するDMAオブジェクトが異なります。
リファレンスファイルを管理するバージョンなし文書を構成するDMAオブジェクトの種類を次に示します。ContentReferenceオブジェクト以外のオブジェクトについては,リファレンスファイルを管理しないバージョンなし文書と同様です。
リファレンスファイルを管理するバージョンなし文書とDMAオブジェクトの関係を次の図に示します。
図3-26 リファレンスファイルを管理するバージョンなし文書とDMAオブジェクトの関係
リファレンスファイルを管理するバージョン付き文書を構成するDMAオブジェクトの種類を次に示します。ContentReferenceオブジェクト以外のオブジェクトについては,リファレンスファイルを管理しないバージョン付き文書と同様です。また,ContentReferenceオブジェクトについては,リファレンスファイルを管理するバージョンなし文書と同様です。
リファレンスファイルを管理するバージョン付き文書とDMAオブジェクトの関係を次の図に示します。
図3-27 リファレンスファイルを管理するバージョン付き文書とDMAオブジェクトの関係