BAWにおけるファイルの取り扱い
BAWでは内蔵のコンテンツ管理エンジン、もしくはFileNetなどの外部のコンテンツ管理エンジンと連携することでファイルを扱うことが可能です。最も良く使われる使われ方は、プロセス・インスタンスに紐づけてファイルを管理する方法で、例えば申し込みの申請に対してファイルを紐づけて回覧することが可能です。この記事では、特定のファイルのみ表示する方法と、それを実現している仕組みについて解説します。
特定のファイルのみ表示したい
場合によっては、すべてのファイルを表示せず、特定の種類のファイルのみ表示したいといったケースがあるでしょう、その場合にはファイルをアップロードする際にプロパティを付加し、そのプロパティがあるファイルのみを表示するといったことも可能です。
ファイルにプロパティを付加する方法
BPMファイル・アップローダーの構成オプションで、プロパティーを追加することが可能です。
この例では、propertyという名前でAという値をセットしています。NameValuePair型のリストを割り当てることで、動的に変数の値を割り当てることも可能です。また、setUploadPropertiesメソッドを用いてJavascriptで値を設定することも可能です。
プロパティでフィルターしてファイルを表示する
BPMファイル・リスト側でフィルターを指定することで、表示されるファイルを制限することが可能です。
以下の例では、一致ルールに「すべてのプロパティー」、フィルターにpropertyがAと設定することにより、propertyというプロパティにAという値がセットされているファイルのみが表示されます。
プロパティー動作の詳細
このようなフィルタがどのような仕組みで動作しているか解説します。
BPMファイル・アップローダーを用いてファイルをアップロードした場合、BPM内蔵のコンテンツエンジン内では、IBMBPM文書(IBM_BPM_Document)という文書クラスのIBM_BPM_Document_Propertiesという名前のプロパティにセットされます。このプロパティは文字列のリストで今回の様にpropertyという名前のプロパティにAという値を付けた場合には、property,Aというカンマ区切りの形式で文字列が1つセットされます。文書クラスの定義や実際の文書のプロパティーはACCE(Administration Console for Content platform Engine)から確認可能ですので、BAWからプロパティーを指定してファイルを登録し、プロパティがセットされていることを確認してみることも理解を深めるためにお勧めです。ACCEには、https://[host_name]:[port]/acce からアクセスすることが可能です。
BAWには、コンテンツ統合タスクという、コンテンツ管理エンジンを操作する部品が含まれ、その中の検索オペレーションをを使用して文書をクエリすることも可能です。その場合にCMISのクエリを指定する必要がありますが、以下の様なクエリで該当プロパティを含むドキュメントを検索することが可能です。
tw.local.cmisQuery = "SELECT cmis:name,IBM_BPM_Document_Properties FROM IBM_BPM_Document where 'property,A' = ANY IBM_BPM_Document_Properties ORDER BY cmis:name ASC" ;
BPMファイル・リストの機能としてプロセス・インスタンスに関連したファイルのみを表示する機能がありますが、IBMBPM文書のプロセス・インスタンスIDを用いて制御しているものと思われます。
#BusinessAutomationWorkflow(BAW)#baw