Workflow Sample

Workflow Sample
Workflow Sample

Contact

選択型 HTTP経由で選択肢を取得する

概要

選択型において[HTTP経由で取得した選択肢を指定]するオプションを指定した場合、Questetra BPM Suiteの外部から選択肢の情報を取得することができます。
選択肢を外部のどこから取得するかについては、選択型データ項目の設定において、URLで指定します。プロセスモデラ上での設定とタスク実行画面上の動きについては、こちらを参照してください。
選択肢の情報は、XML形式でやり取りします。XML内にて、選択肢の値と選択肢名を指定します。
選択型の4つの入力タイプ(ラジオボタン/セレクトボックス/チェックボックス/検索セレクトボックス)のいずれとも組み合わせて使用することができますが、Questetra BPM Suiteから選択肢の情報を問い合わせるタイミングや動きが入力タイプによって異なります。ラジオボタン/セレクトボックス/チェックボックスは静的なXMLファイルでも問題ありませんが、検索セレクトボックスは動的に選択肢のXMLを返すWebアプリケーションである必要があります。
 

選択肢のXML書式

以下は、選択肢のXML書式の例です。XMLのルート要素は<items>要素です。その中に<item>要素を含めます。文字コードはUTF-8(BOMなし)にしてください。

<items>
<item value="JP" display="日本" />
<item value="US" display="アメリカ" />
<item value="UK" display="イギリス" />
</items>

選択肢ごとに<item>要素を構成します。value属性が「選択肢の値」、display属性が「選択肢名」に相当します。例のXMLを用いた場合、「日本」「アメリカ」「イギリス」という3つの選択肢が指定されたことになります。それぞれの値は「JP」「US」「UK」です。
 

ラジオボタン/セレクトボックス/チェックボックスでの動き

検索セレクトボックス以外の3つの入力タイプ(ラジオボタン/セレクトボックス/チェックボックス)については、Questetra BPM Suiteから選択肢の情報を問い合わせるタイミングは同じです。タスク実行画面を表示する前に選択肢の情報を問い合わせます。プロセスモデラーからタスク実行画面のプレビューを表示する際にも、問い合わせを行ないます。問い合わせ先に静的なXMLファイルを用意するだけでも問題ありません。
 
また問い合わせて取得したXMLをQuestetra BPM Suite内にキャッシュします。キャッシュはXMLの単位で行います。したがってタスク実行画面を表示する毎に、選択肢の情報を問い合わせることはしません。逆にキャッシュしているため、選択肢の情報を変更してもQuestetra BPM Suiteに即座には反映されない場合があるので、注意してください。
 
キャッシュからの削除は、システムの再起動時やキャッシュする個数の上限値(30)を超えた場合に行われます。上限値を超えた場合には、LRUアルゴリズムに基づいて削除されるXMLが決定します。意図的にキャッシュをクリアする機能については、将来提供予定です。

検索セレクトボックスでの動き

検索セレクトボックスと組み合わせて使う場合、問い合わせ先は動的に選択肢のXMLを返すWebアプリケーションである必要があります。Questetra BPM Suiteから選択肢の情報を問い合わせるタイミングは2度存在します。
  • 検索文字列を入力後、検索ボタンを押した時
  • タスク実行画面を完了する時
ラジオボタン/セレクトボックス/チェックボックスの時のように、タスク実行画面を表示する前に問い合わせることはしません。また選択肢の情報をキャッシュすることもしません。
 
問い合わせるタイミングが2度存在するため、それぞれを区別するため、パラメータ付きで指定のURLに問い合わせます。また期待する応答も異なります。
 

検索ボタンを押した時

Questetra BPM Suiteは検索文字列を指定のURLに渡し、検索された結果がXMLとして返されることを期待します。応答のXMLに含められている選択肢を、タスクを実行しているユーザに対して提示します。Questetra BPM Suite内部で検索は行ないません。

検索文字列は、queryパラメータに含めて問い合わせます。"http://qbpms-select.appspot.com/country/" が問い合わせ先URLとして指定されており、タスク実行中に検索文字列として"test"と入力された場合には、以下のURLで問い合わせます。

 
http://qbpms-select.appspot.com/country/?query=test
 
HTTPのメソッドはGETです。検索文字列が英語以外の場合は、UTF-8としてURLエンコードされます。検索の実現方法に関する規定はありません。
 

タスク実行画面を完了する時

ユーザが選択した選択肢の値をパラメータに含めて問い合わせます。パラメータ名はvaluesです。例えば先の選択肢の中から「日本」がユーザによって選ばれた場合、以下のURLで問い合わせます。
 
http://qbpms-select.appspot.com/country/?values=JP

Questetra BPM Suiteはパラメータで指定した選択肢の値に相当する選択肢を、XMLに含めて応答されることを期待します。最終的にはこの応答で返された選択肢を、ユーザが選択した選択肢として保存します。
 

サンプル