CookBook

BloomMakerとLogicDesignerでWorkflowコンテンツを作成する

投稿日:2019-12-02 更新日:

このCookBookでは、BloomMakerとLogicDesignerを利用してWorkflowのコンテンツを作成する方法を紹介します。
2019 Winter(8.0.24)で、以下の機能をリリースしました。

IM-BloomMakerのアクションに、IM-Workflowと連携するアクションを追加します。

上記の機能を利用して、Workflowの処理画面をBloomMakerで作成します。
2019 Winter(8.0.24)時点では、Worklfowの申請/承認等、各処理を実施するアクションのみとなります。

完成イメージ


テナント環境セットアップのサンプルインポートで登録される、スクリプト開発/JavaEE開発で作成されたサンプル相当のフローをBloomMakerとLogicDesignerで作成しています。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

IM-BloomMakerインポートファイル : im_bloommaker-im_cookbook_171126
IM-BloomMaker のインポート画面からインポートしてください。
なお、インポート後にはIM-BloomMaker ルーティング定義の認可設定が必要ですのでご注意ください。

IM-LogicDesignerインポートファイル : im_logicdesigner-im_cookbook_171126
IM-LogicDesigner のインポート画面からインポートしてください。

IM-Workflowインポートファイル : im_workflow-im_cookbook_171126
IM-Workflowのインポート画面からインポートしてください。

サンプルに含まれる定義情報は以下の表の通りです。

種類 定義名 補足説明
BloomMakerコンテンツ im_cookbook_171126 メインとなるWorkflowの処理画面
BloomMakerルーティング定義 im_cookbook_route_171126 上記BloomMakerコンテンツに対するルーティング定義
LogicDesignerフロー定義 ActionProcessPurchaseData Workflowアクション処理で利用。ユーザデータの登録/更新する。
LogicDesignerフロー定義 ActvMatterDeleteListenerPurchaseData Workflow未完了案件削除処理で利用。ユーザデータの削除する。
LogicDesignerフロー定義 CplMatterDeleteListenerPurchaseData Workflow完了案件削除処理で利用。ユーザデータの削除する。
LogicDesignerフロー定義 GetPurchaseData BloomMaker前処理で利用。ユーザデータを取得する。
LogicDesignerフロー定義 GetUserName BloomMaker前処理で利用。userCdからユーザ名を取得する。
LogicDesignerユーザ定義 DeletePurchaseData LogicDesignerフロー定義で利用する
LogicDesignerユーザ定義 GetMatterNumber LogicDesignerフロー定義するスクリプト
LogicDesignerユーザ定義 GetPurchaseData LogicDesignerフロー定義するSQL
LogicDesignerユーザ定義 InsertPurchaseData LogicDesignerフロー定義するSQL
LogicDesignerユーザ定義 UpdatePurchaseData LogicDesignerフロー定義するSQL
LogicDesignerユーザ定義 validatePurchaseData LogicDesignerフロー定義するスクリプト
Workflowコンテンツ定義 im_cookbook_171126 BloomMakerコンテンツ、LogicDesignerフロー定義を設定
Workflowルート定義 im_cookbook_171126
Workflowフロー定義 im_cookbook_171126

サンプルは以下の環境で動作を確認できます。

  • intra-mart Accel Platform(Advanced) 2019 Winter(8.0.24)以降のバージョンであること
  • テナント環境セットアップで、サンプルデータがインポート済みであること

レシピ

  1. BloomMakerでコンテンツを作成する
  2. BloomMakerでルーティングを作成する
  3. Workflowのコンテンツ定義を設定する

設定項目の詳細は、添付のサンプルを参照してください。

1. BloomMakerでコンテンツを作成する

サンプルでは、Workflowの各画面種別をBloomMakerのページで分けて作成しています。
各画面が大きく変わらない場合、項目をコピーしてページを作成するのが簡単なためお勧めします。
ノード毎に大幅に画面や表示データが変わる場合は、別コンテンツとして作成することを推奨します。

BloomMakerでコンテンツを作成する上でのポイントは以下となります。

1.1 申請一覧・案件一覧からのPOSTパラメータを受け取る設定をする
1.2 BloomMaker前処理からのパラメータを受け取る設定をする
1.3 初期表示時のアクションを設定する
1.4 各ページのボタンにアクションを設定する

1.1 申請一覧・案件一覧からのPOSTパラメータを受け取る設定をする

BloomMaker では、画面遷移時に設定されたリクエストパラメータを受け取ることができます。
リクエストパラメータを受け取るためには、変数の入力を設定します。

Workflowの申請一覧/案件一覧画面から遷移した場合に受け取れるパラメータについては、こちらを参照してください。

1.2 BloomMaker前処理からのパラメータを受け取る設定をする

BloomMaker では、ルーティング定義で設定した前処理からパラメータを受け取ることができます。
今回のサンプルでは、画面に表示するユーザデータは、前処理で取得します。
前処理については後述の説明を参照してください。

1.3 初期表示時のアクションを設定する

BloomMaker では、コンテンツの読み込み時に、アクションを動作することができます。
サンプルでは「初期処理」アクションとして以下を実行しています。

  • 後述のWorkflowのアクションで利用するパラメータの設定
  • 申請一覧・案件一覧から受け取ったパラメータ(imwPageType)から表示するページの判定

作成した「初期処理」アクションをContainerのEventに設定します。

Containerのプロパティが見つからなかった場合、こちらを参照してください。

1.4 各ページのボタンにアクションを設定する

各ページのボタン押下でWorkflowの処理が実行できるように設定します。
ここでは例として、申請ボタンの設定について説明します。

申請ボタン押下時に動作する「申請する」アクションを作成します。
このアクションでは以下の処理を実行します。

  • 入力チェック処理を「Execute custom script」アクションで作成
  • Workflow申請処理を「Apply matter」アクションで作成

「Apply matter」アクションの設定方法の詳細については、こちらを参照してください。

  • Workflow申請処理に対するエラーハンドリングを作成

アクションエディタの右ペインの「エラーが発生したとき」タブをクリックし、エラーが発生したときの処理を作成します。

Workflowのアクション処理でエラーを返した場合、エラーコードが9001となります。
Workflowのアクション処理のエラーは、開発者が任意で設定できるため、ここでは画面上にメッセージボックスとしてエラーを表示するように設定しています。
それ以外のエラーについては、処理を継続できないため、エラー画面に遷移しています。

  • 「申請する」アクションを申請ボタンに設定

記載内容以外の、設定項目の詳細は、添付のサンプルを参照してください。

2. BloomMakerでルーティングを作成する

Workflow コンテンツを作成する場合、メソッドの設定をPOSTで作成してください。
Workflow の各種一覧画面からユーザコンテンツ画面に遷移時は、必要な情報をPOSTしています。
そのため、POST以外で作成した場合、 各種一覧画面からユーザコンテンツ画面には遷移できません。

サンプルでは、前処理で以下を実行しています。

  • jp.co.intra_mart.system.workflow.bloommaker.preprocessor.WorkflowAuthChecker
    Workflowの画面表示権限判定処理です。詳細についてはこちらを参照してください。
  • GetPurchaseData
    画面に表示するユーザデータの取得処理です。
  • GetUserName
    画面に表示する処理権限者の表示名の取得処理です。
    本サンプルでは、処理権限者は申請一覧・案件一覧から受け取ったパラメータを利用して設定しています。
    パラメータではuserCdのみのため、ユーザ名を取得します。

3. Workflowのコンテンツ定義を設定する

Workflowのコンテンツ定義を設定します。BloomMakerのコンテンツを表示する場合、画面定義のパス種別をURLで設定してください。

-CookBook
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

BloomMakerでワークフロー処理モーダルを利用してWorkflowコンテンツを作成する

このCookBookでは、2020 Spring(8.0.25)でリリースした下記の機能を利用して、Workflowのコンテンツを作成する方法を紹介します。 IM-BloomMakerのアクションに、 …

no image

ViewCreatorとIM-FormaDesignerを利用して、既存テーブルのデータを表示する。

このCookBookでは、ViewCreatorとForma画面を利用して、既存テーブルのデータを表示する方法を説明します。 ViewCreatorでテーブルデータの一覧を表示し、IM-FormaDe …

IM-BloomMaker グラフエレメントの使い方(円グラフ編)

この CookBook では、intra-mart Accel Platform 2019 Winter から利用可能になった IM-BloomMaker の円グラフの活用方法について紹介しています。 …

REST API 経由でジョブネットを起動する方法

この CookBook では、REST API とを経由してジョブネットを実行する方法について紹介しています。 完成サンプル 以下の完成サンプルをダウンロードしてご活用ください。 LogicDesig …

no image

imuiListTableで複数選択した行データを取得する方法

このCookBookでは、imuiListTableで複数選択した行データを取得する方法を紹介します。 imuiListTableについての詳細はAPIドキュメントを参照してください。 [imuiLi …

RSSRSSRSSRSS