4.1.2 プロパティ拡張情報ファイル
プロパティ拡張情報ファイルは,DocumentBrokerの文書モデルを構成するクラスに定義されている複数のプロパティの中から,OIID変換,操作対象識別子変換の対象となるプロパティを特定するために使用するファイルです。
プロパティ拡張情報ファイルに,OIID変換,操作対象識別子変換の対象となるプロパティを指定しておきます。EDMRptAclogコマンドは,データベース(HiRDB)からアクセス対象のオブジェクトのプロパティの値を取得して,アクセスログ中のOIID,操作対象識別子をプロパティの値(文書名など)に変換する際に,プロパティ拡張情報ファイルを参照します。プロパティ拡張情報ファイルがない場合,EDMRptAclogコマンドの実行時に標準エラー出力(stderr)にメッセージが出力されます。
プロパティ拡張情報ファイルは,ユーザが作成する必要があります。
- <この項の構成>
- (1) 記述規則
- (2) 記述形式
- (3) プロパティ拡張情報ファイルの記述例
(1) 記述規則
プロパティ拡張情報ファイルの記述規則は次のとおりです。
- 次のディレクトリに次のファイル名で作成してください。
ディレクトリ
- UNIXの場合
DocumentBroker実行環境ディレクトリ/etc
- Windowsの場合
DocumentBrokerインストールディレクトリ¥Server¥etc
- ファイル名
- propex.ini
- テキストファイルとして作成してください。
- ASCIIコードで記述してください。ただし,コメント行ではShift-JISコードも使用できます。
- シャープ(#)およびセミコロン(;)で始まる行はコメント行として扱われます。記述内容を説明する場合やプロパティ拡張情報ファイルを修正した場合のコメントなど,必要に応じて記述してください。
- 先頭や末尾の空白・タブは無視されます。
- 空白・改行だけの行は無視されます。
- ファイルの先頭の行(コメント行を除く)には,セクションを記述してください。
(2) 記述形式
プロパティ拡張情報ファイルの記述形式を次に示します。
# property extension information File ‥‥コメント
[<クラス名>] ‥‥セクション
ClassId=<GUID文字列> ‥‥エントリ
PrepresentProperties=<プロパティ名,プロパティ名,プロパティ名> ‥‥エントリ
:
[<クラス名>] ‥‥セクション
ClassId=<GUID文字列> ‥‥エントリ
PrepresentProperties=<プロパティ名> ‥‥エントリ |
プロパティ拡張情報ファイルは,複数のクラス名セクションと,各セクションに指定するClassIdエントリ,PrepresentPropertiesエントリで構成されます。
各セクションとエントリの記述について説明します。
(a) セクション
OIID変換,操作対象識別子変換をするプロパティを定義しているDocumentBrokerのクラスまたはそのサブクラスのクラス名を,次に示す形式で記述してください。
[<クラス名>]
クラス名セクションは,次に示す文法に従って記述してください。
- クラス名は角括弧([ ])で囲んでください。
なお,次の行は不正データとして扱われます。コマンドの実行時に標準エラー出力(stderr)にメッセージが出力されて,処理が中止されます。
- 角括弧([)で始まり,角括弧(])で終わらない行
- 角括弧([)で始まらないで,角括弧(])で終わる行
- クラス名の英字の大文字,小文字は区別されるので,クラス名にはDocumentBrokerのクラスまたはそのサブクラスとして定義されているとおりの文字列を記述してください。
(b) エントリ
クラス名セクションを構成するClassIdエントリ,PrepresentPropertiesエントリの記述について説明します。
- ClassIdエントリ
- OIID変換,操作対象識別子変換をするプロパティのクラス識別子を表すGUID文字列を,次に示す形式で記述してください。
ClassId=<GUID文字列>
- なお,GUID文字列は,「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(8けた-4けた-4けた-4けた-12けた)」という形式の文字列で,xは16進数の0~9,a~fです。クラス識別子を表すGUID文字列は,クラス定義情報ファイルに出力されるので,クラス定義情報ファイルを参照して指定することをお勧めします。クラス定義情報ファイルについては,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。
- PrepresentPropertiesエントリ
- OIID変換,操作対象識別子変換をするプロパティのプロパティ名を,次に示す形式で記述してください。複数のプロパティ名を指定する場合,コンマ(,)で区切って指定します。プロパティ名は3個まで指定できます。4個以上指定した場合,EDMRptAclogコマンドの実行時に標準エラー出力(stderr)にメッセージが出力されて,処理が中止されます。
PrepresentProperties=<プロパティ名,プロパティ名,プロパティ名>
- ここで指定したプロパティの値がOIID変換,操作対象識別子変換の結果として出力されます。したがって,OIID変換,操作対象識別子変換をするプロパティとしては,クラスを代表するプロパティを選択することをお勧めします。
- プロパティ名の英字の大文字,小文字は区別されるので,プロパティ名にはDocumentBrokerのクラスまたはそのサブクラスのプロパティとして定義されているとおりの文字列を記述してください。
各エントリは,次に示す文法に従って記述してください。
- エントリは「エントリ名=値」の形式で,1行で記述してください。
- エントリ名の英字の大文字,小文字は区別されるので,エントリ名には「ClassId」または「PrepresentProperties」と記述してください。
- ClassIdエントリは,クラス名セクションの次の行に記述してください。クラス名セクションの次の行にClassIdエントリがない場合,コマンドの実行時に標準エラー出力(stderr)にメッセージが出力されて,処理が中止されます。
- PrepresentPropertiesエントリは,ClassIdエントリの次の行に記述してください。ClassIdエントリの次の行にPrepresentPropertiesエントリがない場合,コマンドの実行時に標準エラー出力(stderr)にメッセージが出力されて,処理が中止されます。
(3) プロパティ拡張情報ファイルの記述例
プロパティ拡張情報ファイルの記述例を次に示します。
# property extension information
[usrClass_Folder]
ClassId=01a3a8c2-7aec-11d1-a31b-0020af9fbb1c
PrepresentProperties=usrProp_Name
[usrClass_Document]
ClassId=01a3a8c2-7aec-11d1-a31b-0020af9fbb1d
PrepresentProperties=usrProp_Title,usrProp_Author |
この例では,DocumentBrokerで用意しているクラスのサブクラスとしてusrClass_FolderとusrClass_Documentというクラスが定義されていると仮定しています。また,usrClass_FolderクラスのプロパティとしてusrProp_Name,usrClass_DocumentクラスのプロパティとしてusrProp_TitleとusrProp_Authorが定義されていると仮定しています。