Cloud Software Group, Inc. EBX®
ドキュメント > 管理ガイド > 技術管理
ナビゲーションモードドキュメント > 管理ガイド > 技術管理

UI – ワークフローランチャー

はじめに

ワークフローランチャーは、データワークフローの受信トレイを通過せずにデータセクションから直接 TIBCO EBX® でワークフローを起動するためのユーザーサービスです。この機能はワークフローパブリケーションを作成しませんが、既存のパブリケーションを起動します。データセクション (テーブルビュー、階層ビュー、またはレコードフォームビュー) から直接ワークフローパブリケーションを起動できるなど、いくつかの利点があります。このように、ユーザーがデータセクションとデータワークフローセクション間での注意の移動を回避することにより、ユーザーエクスペリエンスが向上します。したがって、ユーザーはメインタスクに集中しながらワークフローを起動できます。

2 つ目の利点は、任意のデータ選択から同じワークフローパブリケーションを起動できることです。これは、現在のデータ選択によるワークフローデータコンテキスト動的マッピングによるものです。動的マッピングは、起動時にデータコンテキスト入力を初期化する可能性を提供します。したがって、n 個の異なるデータ選択から同じワークフローを起動するために、異なるデータ選択で同じワークフローモデルを n 回複製したり、選択するデータを構成するための初期ユーザーサービスを提供したりする必要はなくなりました。

最後の解決策は、前述の問題を解決するプログラムによる解決策ですが、コードゼロ行のコミットメントを満たさないため、理想的な解決策ではありません。

この機能を理解するには、次の概念に精通している必要があります。

概念

説明/リンク

ワークフローモデル

ドキュメントを参照

データコンテキスト

ドキュメントを参照

ワークフローパブリケーション

ドキュメントを参照

パブリケーション名

ワークフローパブリケーションの一意の識別子

データワークフロー

ドキュメントを参照

データセクション

EBX® のデータセットとテーブルを表示する データユーザーインターフェイスです。メインヘッダーからアクセスできます。

ワークフローランチャーデータセット

これには、LaunchersActivations という 2 つのテーブルが含まれています。このデータセットを使用すると、ユーザーはワークフローパブリケーションのランチャーを構成し、特定のユーザーとテーブルに対してアクティブ化することができます。これは、[ワークフロー管理] というセクションの [管理] 領域で利用できます。

Launcher (ランチャー)

ワークフローランチャーサービスが起動するワークフローパブリケーションとそのデータコンテキストを初期化する方法を識別するために使用するエンティティ。

Launchers

ワークフローランチャーデータセットのテーブル。各レコードは Launcher タイプです。データセクションからワークフローパブリケーションを起動できるようにするには、ワークフローパブリケーションを指すランチャーをこのテーブルに追加する必要があります。

アクティベーション

特定のユーザープロファイルおよび特定のテーブルのワークフローパブリケーションのランチャーをデータセクションから非表示または表示するエンティティ。

Activations

ワークフローランチャーデータセットのテーブル。各レコードは Activation タイプです。特定のテーブルのツールバーで特定のユーザーがワークフローを利用できるようにするには、対応するランチャーを含むレコードをこのテーブルに作成する必要があります。

データコンテキストの動的マッピング

ワークフローパブリケーションを起動するときに、データコンテキスト入力変数を初期化するプロセスです。以前は、データコンテキストの値はモデリング段階で静的に定義されるか、Java コーディングで動的に設定されていましたが、現在は、はデータコンテキストの値を、つまり起動時にゼロ行のコードで動的に設定することができます。

データコンテキスト用に予約された変数

予約変数のセット。これらの変数は、どのデータ選択をデータ コンテキスト変数にマップするかを定義します。可能な値は、${dataspace}${dataset}${xpath(table)}、および ${xpath(record)} です。たとえば、値 ${xpath(table)} がデータコンテキスト変数に使用されている場合、これは、この変数が起動時に現在のアダプテーションテーブル参照にマップされることを意味します。

データセクションのワークフローランチャー

前述のように、ワークフローランチャーは、テーブル、テーブル行、レコード、および階層のツールバーで直接使用できるようになりました。データセクションのテーブルのツールバーにワークフローランチャーを表示するには、いくつかの方法があります。表示は、ツールバーのタイプ (デフォルトツールバーまたは DMA のカスタムツールバー) と、スマートフィルタリングが適用されているかどうかによって異なります。デフォルトのツールバーの場合、アクションメニューはすべてのワークフローランチャーを [ワークフロー] という別のサブメニューに表示します (下のスクリーンショットを参照)。

/launch_workflow_from_data_section.png

カスタムツールバーの場合、特定のワークフローランチャーのアクションボタン (下のスクリーンショットを参照) またはアクションメニュー項目を定義することができます。最後に、スマートフィルタリングポリシーがアクティブになっている場合、アクションボタンまたはアクションメニュー項目を使用して表示されるすべてのワークフローランチャーは、アクションメニューに表示されません。

/custom_toolbar_tabletop.png

ツールバーにワークフローランチャーを表示するには、まずランチャー作成し、構成する必要があります (ワークフローランチャーの作成と設定セクションを参照)。次に、このランチャーに対してアクティベーション作成する必要があります (ワークフローランチャーのアクティブ化セクションを参照)。現在のユーザーにワークフローパブリケーションを起動する権限がない場合、ワークフローランチャーはツールバーで使用できないことに注意してください。また、ワークフローパブリケーションが削除された場合、またはランチャーの構成、アクティブ化にエラーや警告がある場合、対応するワークフローランチャーはツールバーで使用できなくなります。

ツールバーに表示されるボタンのタイトルとツールヒントは、次の優先順位で計算されます。まず、ランチャーアクティベーションのカスタムドキュメントを使用し、それ以外の場合はランチャーのドキュメントを使用します。次に、説明が空のままの場合は「このユーザーサービスはデータワークフローを起動します」という説明を使用します。

注意

レコードフォームとテーブルの行で利用できるワークフローランチャーには、特に注意を払う必要があります。レコードの選択が必要なランチャーのみが、レコードフォームとテーブル行のツールバーに表示されます。レコードの選択が必要なワークフローランチャーは、データコンテキスト変数の 1 つがそのランチャーの構成で予約済み変数 ${xpath(record)} にマッピングされているものです。

ランチャーの作成と設定

ランチャーは、サービスワークフローランチャーによって、起動するワークフローパブリケーションとそのデータコンテキストの初期化方法を識別するために使用されるエンティティです。特定のワークフローパブリケーションのランチャーを作成するには、[管理] 領域から [ワークフロー管理] セクションに移動し、ワークフローランチャーデータセットとランチャーテーブルを選択して、新しいレコードを追加します (以下のフォームを参照)。

/launcher.png

2 番目のステップは、レコードの次のフィールドを設定することです。

フィールド名

説明

ランチャー名

一意の識別子。アクティブ化フェーズでランチャーを選択するために使用されます。

ワークフローパブリケーション名

ユーザーサービス「ワークフローランチャー」の実行時に起動されるワークフローパブリケーションを定義します。リストで使用できるようにするには、ワークフローモデルを最初に定義して公開する必要があります。

データコンテキスト変数

このフィールドには、ワークフローモデルのデータコンテキスト構成フェーズで定義された入力変数のリストが含まれます。各行は、ラベル、値、およびデフォルト値と上書き値を切り替えるためのトグルボタンで構成されます (ランチャーフォームの データコンテキストに関するスクリーンショットを参照)。ラベルは、ワークフローモデルのデータコンテキストでユーザーによって設定された変数の名前です。

デフォルトでは、各変数の値はデータコンテキストで設定されたデフォルトの値です。データコンテキストでデフォルト値フィールドが空のままの場合、変数の値は undefined に設定されます。トグルボタンが上書き値モードに設定されている場合、入力フィールドの右側でウィザードが使用可能になり、予約済み変数を選択できます。

データコンテキスト変数の値を上書きする際には、2 つのオプションが考えられます。上書きする値は、定数または予約変数です。定数が使われた場合、データコンテキスト変数の値は、起動時のエンティティ選択に依存しません。ただし、${dataspace} のような予約変数が使われた場合には、対応する変数の値は、現在のエンティティ選択マッピングされます。たとえば、${dataspace} に割り当てられたデータコンテキスト変数は、起動時に現在のデータスペースで初期化されます。

注意

ワークフローモデルのデータコンテキストに入力変数がない場合は、このフィールドを非表示にする必要があります。ワークフローパブリケーション名フィールドが変更されると、この入力は自動的に更新され、データコンテキストの新しいリストが表示されます。

ドキュメント

ドキュメントは、ラベルと説明から構成されます。ラベルのデフォルト値「ワークフローパブリケーション名」から継承されるパブリケーション名で、説明のデフォルト値は空白です。
[パブリケーション名] のフィールドが変更された場合、ドキュメントは自動的に更新されます。必要に応じて、ドキュメントウィジェットの右側にある [編集] ボタンを使用して、ラベルと説明を上書きすることができます。
ドキュメントの値は、アクティベーションで継承されます。なお、アクティベーションで定義されたドキュメントは、ランチャーで定義されたものよりも優先されます。

/launcher_data_context.png

ランチャーレコードの下部に、現在のランチャーのすべてのアクティベーションのテーブルが表示されます (下のスクリーンショットのランチャーのアクティブ化のセクションを参照)。

/association_table.png

ワークフローランチャーのアクティブ化

アクティベーションは、テーブルまたはレコードフォームでのワークフローランチャーの可用性を制御するエンティティです。特定のテーブルのツールバーにワークフローランチャーを表示するには、最初に、ランチャーを作成してから、[管理] 領域から [ワークフロー管理] セクションを選択し、ワークフローランチャーデータセットとアクティベーションテーブルを選択します。次に、新しいレコードを追加します。2 番目のステップは、レコードの次のフィールドを設定することです。

フィールド名

説明

Launcher (ランチャー)

ターゲットワークフローパブリケーションの公開名に関連付けられているランチャーの一意の識別子。このフィールドでは、データセクションに表示されるランチャーを選択できます。

データモデル

公開されたデータモデルのスキーマ参照。データセットで公開および使用されているスキーマのみが使用可能です。

テーブル

ワークフローランチャーを表示するテーブルの識別子。1 つまたは複数のテーブルを選択できます。このセレクターは、[データモデル] フィールドに含まれるすべてのテーブルを表示します。

プロファイル

以前に選択したテーブルでワークフローランチャーを表示および起動できるプロファイルのリスト。

確認

このフィールドでは、データワークフローの起動を確認するダイアログボックスを表示するかどうかを指定できます (起動確認メッセージに関するスクリーンショットを参照)。デフォルトでは、この機能は無効になっています。ダイアログボックスを表示するには、値 [有効] のチェックをオンにする必要があります (以下のスクリーンショットを参照)。

ドキュメント

ドキュメントはラベルと説明で構成されます。ラベルと説明のデフォルト値は、ランチャーのドキュメントフィールドから継承されます。このフィールドは、ツールバーのユーザーサービスのボタンのタイトルを表示するために使用されます。ユーザーがそのボタンの上にマウスポインターを移動すると、説明が表示されます。アクティベーションのドキュメントは、ランチャーのドキュメントよりも優先されます。ドキュメントの説明が空のままの場合、「このユーザーサービスはデータワークフローを起動します」という説明が表示されることに注意してください。カスタムツールバーでは、アクションボタンまたはアクションメニュー項目のドキュメントフィールドが空のままの場合、このフィールドの値がアクションボタンアクションメニュー項目にも使用されます。

/activation.png

ワークフローの起動

ランチャーが作成され、アクティブ化されると、対応するワークフローランチャーがツールバーのアクションメニューで使用できるようになります。ワークフローを起動するには、ワークフローランチャーのボタンをクリックします (ワークフローランチャーのデフォルト表示に関するスクリーンショットを参照)。

[確認] オプションが有効になっている場合、選択したデータワークフローを起動する前に、ユーザーに確認を求めるダイアログボックスが表示されます (起動確認メッセージに関する以下のスクリーンショットを参照)。

/launch_workflow_confirmation.png

それ以外の場合、ダイアログボックスは表示されず、異なる結果が生じる可能性があります。

/work_item.png

カスタムツールバーへのワークフローランチャーの追加

ワークフローランチャーは、デフォルトのツールバーだけでなく、カスタムツールバーでも使用できます。ワークフローランチャーは、カスタムツールバーのアクションボタン、またはカスタムメニューグループアクションメニュー項目として追加できます。アクションボタンまたはアクションメニュー項目を追加してカスタムツールバーでワークフローを起動するには、一般的なユーザーサービスの場合と同様の手順に従います。まず、ターゲットフィールドを現在のコンテキストに設定します。そうしないと、[ワークフローランチャー] ユーザーサービスが使用できなくなるため、[ワークフローランチャー] ユーザーサービスを選択します。[ワークフローランチャー] サービスを選択すると、[ワークフローランチャー] ユーザーサービス専用の新しい [ランチャー] フィールドが、サービス入力フィールドの下に表示されます (以下の カスタムツールバーへのワークフローランチャーの追加に関するスクリーンショット を参照)。

/launcher_on_custom_toolbar.png

[ランチャー] フィールドには、「アクティベーション/ワークフロー管理/ワークフローランチャー/ランチャー」のテーブルにすでに作成されているランチャーのリストが表示されます (ランチャーの作成と構成に関するセクション を参照)。したがって、カスタムツールバーにワークフローランチャーを追加する前に、このワークフローランチャー用にランチャーを作成して構成する必要があります。

デフォルトのツールバーの場合、カスタムツールバーにワークフローランチャーを表示するには、[アクティブ化] > [ワークフロー管理] > [ワークフローランチャー] > [アクティブ化] で、そのランチャーをアクティブにする必要があります。ランチャーのアクティブ化テーブルにアクセスするためのクイックリンクが、[ランチャー] フィールドの右側に表示されます (カスタムツールバーの [ワークフローランチャー] サービスに関する以下のスクリーンショットを参照)。

/launcher_service_on_custom_toolbar.png

[ラベルおよび説明] フィールドには、ランチャーから継承されたラベルと説明が表示されます (カスタムツールバー構成フォームの「ワークフローランチャー」サービスのラベルに関するスクリーンショットを参照)。ランチャーフィールドが変更されると、ラベルと説明は自動的に更新されます。このフィールドをオーバーライドして、ツールバーのアクションボタンのラベルと説明をカスタマイズできます。ツールバーに表示されるラベルと説明は、次の優先順位で計算されます。フィールドのカスタム値アクションボタンのラベルと説明。このフィールドが空のままであるか、アクションボタンのデフォルトのラベルが含まれている場合に使用されます。ランチャーを選択すると、ランチャーのアクティベーションのラベルと説明が表示されます。この最後の項目が空のままの場合、「このユーザーサービスはデータワークフローを起動します。」という説明が使用されます。

注意

[データ] セクションのツールバーに表示されるラベルと説明、および DMA のツールバーツリーのアクションボタンのラベルは異なる場合があります。これは、[アクション] ボタンの [ラベルおよび説明] フィールドが空のままの場合です (デフォルトラベルもカスタムラベルも定義されていません)。DMA のツールバーツリーの [アクション] ボタンのラベルはランチャーのラベルから継承されますが、データセクションのツールバーのラベルと説明はランチャーのアクティブ化のラベルと説明に設定されます。

/launcher_label_on_custom_toolbar.png

ツールバーの他の場所へのワークフローランチャーの追加

ワークフローランチャーサービスは、テーブルビュー上部、テーブル行、レコードフォームビュー上部、または階層ビュー上部に表示されるツールバーでのみ使用できます。現在まで、このサービスは、関連付けテーブルの上または関連付けテーブルの行に表示されるツールバーでは使用できません。

ワークフローモデル変更後のランチャーへのアクセス

ワークフローパブリケーションを指すランチャーを作成した後、このパブリケーションのワークフローモデルを変更して再公開できます。たとえば、ワークフローモデルのデータコンテキストの変更、1 つ以上の変数データコンテキストの追加、1 つ以上の可変データコンテキストの削除、変数名の変更が行えます。この特定のケースでは、このワークフローパブリケーションを指すランチャーは、ユーザーが確認および検証 (保存) する必要があります。これらのランチャーで使用されるデータコンテキストは無効になり、最新のワークフローパブリケーションのものと一致するように更新する必要があるためです。

ワークフローモデルを再公開すると、ワークフローランチャーのいずれかが現在のワークフローパブリケーションを指しているかどうか、またそれを確認する必要があるかどうかがユーザーに通知されます。そのために、ワークフローモデルを公開した後、問題のランチャーにすばやくアクセスできる [プレビュー] ボタンが表示されます (以下のスクリーンショットを参照)。ユーザーがワークフローランチャーリストにアクセスする権限を持っていない場合、それらのランチャーの名前が表示されることに注意してください。

/workflow_model_impacted_launchers.png

ユーザーが [ワークフローモデル] セクションの [プレビュー] ボタンまたは [管理] セクションを介してこれらのランチャーの 1 つにアクセスすると、永続化されたデータコンテキストは、ワークフローパブリケーションの最新のデータコンテキストに置き換えられますが、新しいデータコンテキストは現在のランチャーではまだ永続化されていません。ランチャーのデータコンテキストを更新するには、ユーザーは最初に値を確認してから保存して、新しい変更を受け入れる必要があります (対応するワークフローパブリケーションのデータコンテキストの変更後のランチャーへのアクセスに関するスクリーンショットを参照)。

/update_data_context.png

ドキュメント > 管理ガイド > 技術管理