2022年1月27日木曜日

Flows for APEXによる経費精算アプリの作成(4) - フロー・モデルのバージョニング

 Flows for APEXで作成したフロー・モデルは、バージョニングをサポートしています。つまり、ひとつのフロー・モデルはバージョンの異なる複数のフロー・ダイアグラムを持つことができます。

Flows for APEXのアプリケーションより、経費精算のフロー・モデルを開きます。経費精算のフロー・モデルは現在のところ、ステータスdraftバージョン0です。

Flows for APEXが提供するプロセス・プラグインFlows for APEX - Manage Flow Insntance[プラグイン]は、Flow (Diagram) selection based onのプロパティを持っています。

NameName & Versionを選択します。Name & Versionはフロー・ダイアグラムを特定しますが、Nameの指定は、ステータスがreleasedのバージョンか、フロー・モデルにステータスがreleasedのバージョンが含まれていない場合は、ステータスがdraftで、バージョンが0のフロー・ダイアグラムが、実行するワークフローとして選択されます。両方とも存在しない場合はエラーになります。


利用中のバージョンのステータスをreleasedに変更し、フロー・ダイアグラムへの変更を禁止します。

リリースをクリックします。


以下の確認メッセージが表示されます。現在draftのフロー・ダイアグラムがreleasedになり、ステータスがreleasedのフロー・ダイアグラムがあれば、deprecatedに変わります。

OKをクリックします。


経費精算のフロー・モデルのバージョン0のステータスがreleasedに変わります。フロー・ダイアグラムに変更はないので、経費精算を実装したAPEXアプリケーションの動作は変わりません。


現在のワークフローでは、申請金額が50米ドルを超える場合は部門長へ申請を回すことになっています。

この上限を100米ドルに変更します。

処理中のワークフローが残っている場合のバージョニング(フロー・ダイアグラムの変更)の影響について確認するため、最初に従業員にて経費精算の申請を行います。申請する金額は現在のフロー・ダイアグラムにて部門長の承認が必要になる50米ドルより高額で、新たなフロー・ダイアグラムでは部門長の承認が不要になる100米ドル以下にします。

まず金額を70米ドルとして、経費精算を申請します。


ステータスのsubmittedをクリックし、待機しているステップを確認します。上司による申請のレビューを待っています。上司が申請を承認した場合、ゲートウェイ50米ドルより高額?へ進むフローになっています。


フロー・ダイアグラムを更新します。新バージョンをクリックします。


新バージョンとして1を入力します。バージョンを追加をクリックします。


バージョンが1に変わり、ステータスdraftになります。経費精算のAPEXアプリケーションは、継続してリリースされているバージョン0のフロー・モデルを元にワークフローを開始します


もう一度、経費精算の申請を行います。今度は金額を80米ドルにします。


都合、2つの経費精算の申請が上司による申請のレビュー待ちになっています。


バージョン1のフロー・ダイアグラムを編集します。ダイアグラム変更をクリックします。


名前50米ドルより高額?のゲートウェイを選択し、名前100米ドルより高額?に変更します。


100米ドルより高額?のゲートウェイと部門長のレーンにあるユーザータスク申請のレビューを接続するシーケンスフローを選択します。

条件の50を100に変更します。

:F4A$EXPE_AMOUNT > 100

以上でフロー・ダイアグラムの変更は完了しました。変更の適用をクリックします。


フロー・モデルの画面に戻り、変更したフロー・モデルのバージョン1をリリースします。

リリースをクリックします。


バージョン0をリリースしたときと同様に、確認のダイアログが表示されます。OKをクリックすると変更したフロー・モデルのバージョンがリリース(ステータスreleasedになる)されます。


変更したワークフローでは、申請金額が100米ドル以下であれば部門長の承認は不要で、そのまま経理に申請が回ります。

経費精算の申請を行います。金額は90米ドルにします。


上司によるレビューが必要な申請は3つになります。


フォームを開いて、3件の申請をすべて承認します。


フロー・モデルを変更する前の経費精算の申請は、部門長によるレビューに回されています。申請した時点でリリースされていたバージョンのフロー・ダイアグラムに従っているためです。


フロー・モデル変更後の経費精算の申請は、部門長によるレビューを通さず経理に回っています。


今までの経費精算の申請をすべて承認し、経理で支払い処理を行います。従業員の画面から見ると、すべての申請のステータスがpaidになります。


Flows for APEXのアプリケーションから確認すると、ステータスがCompleted以外のInstanceが無くなっています。


アクティブなインスタンスがないフロー・モデルのバージョンは、ステータスをdeprecatedからarchivedに変更することができます。archivedに変更すると、以降、このバージョンを使った処理ができなくなります。

ステータスをarchivedに変更するバージョンのハンバーガー・メニューより詳細の表示を実行します。


アーカイブをクリックします。


確認を求められます。OKをクリックします。


ステータスがarchivedになります。これより、このバージョンのフロー・モデルによる処理(プロセス・インスタンスの作成)ができなくなりました。


Flows for APEXのフロー・モデルのバージョニングについての説明は以上になります。