ベースマキナ ドキュメント

ワークフローを利用する

ワークフローとは

ワークフローを利用すると、複数のイベントを連携させることができます。この機能は単一のイベントではできない、下記のような操作したいケースで便利です。

  1. 複数のアクションを実行した結果をまとめて、画面に表示する
  2. アクションを実行した結果を加工して、画面に表示する
  3. 情報を編集するアクションを実行した後、自動的に画面をリロードする
  4. アクションを実行した結果をCSVとしてダウンロードする

本マニュアルでは、ワークフローの基本的な使い方を説明します。

ワークフローを作成する

ワークフローは、イベントの種類のうちの1つなので、イベントを利用できる箇所で簡単に作成できます。

まずは、一覧画面の設定を開いてみましょう。 一覧情報の取得方法 の中に、ワークフローがあることを確認いただけると思います。

これを選択するだけで、ワークフローの作成が完了します。ワークフローで行なう操作の内容については、対応するステップの設定を行なう必要があります。

ステップについて

ステップには、それぞれ1つイベントを登録できます。例えば、 アクションの実行 イベントを複数のステップに登録することで、1ワークフローで複数のアクションが実行できます。

イベントに渡す値には、別のステップで実行したイベントの結果を使うことができます。別のステップの結果は、 workflow.steps[ステップ番号].result で取得できます。(詳細については、画面の設定時に使える変数を参照ください)

例として、 ユーザー一覧の表示 ワークフローを作成します。

事前準備

事前に用意するのは、下記の2つのアクションです。

  1. "ユーザー一覧の取得" MySQLアクション
    • limit, offset の2つの値を受け取る
  2. "ユーザー一覧の加工" JavaScriptアクション
    • users を受け取り、受け取った配列内のユーザーObjectのキーを日本語に変更する

"ユーザー一覧の加工" JavaScriptアクションは、下記のような内容に設定されているものとします。

ステップの設定

まず、1ステップ目に "ユーザー一覧の取得" アクションを設定します。

アクションに渡す値には、 panel などの画面の設定時に使える変数 として定義されたものをワークフロー以外のイベントと同様に使うことができます。

続いて、2ステップ目に "ユーザー一覧の加工" アクションを設定します。

ここでは、アクションに渡す値として workflow 変数を利用しています。1ステップ目の結果を利用したかったので、 workflow.steps[1] を使って結果を取得しています(詳細については画面の設定時に使える変数 を参照ください)。 1ステップ目のアクションは、結果としてユーザーObjectの配列を返しているので、設定はこれで完了となります。

最後に、プレビュー画面上の 画面を更新する ボタンを押すことで、ワークフローの実行結果を画面に反映できます。

ワークフローに渡す値を設定する

一覧画面の 一覧情報の取得方法 については、上記で説明した内容で十分でした。ただし、画面右上のドロップダウンから実行するワークフローについては不十分となります。実行時に何か値を入力できるフォームを作成したいケースがあるためです。この時に必要となるのが、ワークフローに渡す値の設定です。

例として、 ユーザー情報のダウンロード ワークフローを作成して、ドロップダウンへ追加します。

事前準備

事前に用意するのは、下記のアクションです。

  • "ユーザー情報の取得" MySQLアクション
    • user_id を受け取り、指定のユーザーの情報を返す

ワークフローの作成

先ほどと同様に一覧画面の編集に進み、今度は ドロップダウンの設定 から 追加する を選択してください。

作成されたドロップダウンの要素を開き、下記のように設定します。

イベントの種類を ワークフロー に設定し、 ワークフローに渡す値 として ユーザーID を追加しています。これによって、ドロップダウンから ユーザー情報のダウンロード を選択したときに、この値を入力するフォームが開くようになります。

続いて、入力を受け付けた ユーザーID をステップで使うよう設定します。

ステップの設定

1ステップ目に、 "ユーザー情報の取得" アクションを設定します。

ワークフローに渡す値 は、 workflow.args.値の名前 で利用できます。今回のケースでは、 ユーザーID が値の名前に該当します。これで、フォームに入力されたユーザーIDを利用してユーザー情報の取得を行なうことができるようになりました(※ワークフロー以外のイベントでは、自動的に アクションに渡す値 に対応したフォームが表示されます)。

続いて2ステップ目に、下記のような "データのダウンロード" イベントを設定して、ワークフローの設定を完了します。

プレビュー画面上の 画面を更新する ボタンを押すと、ドロップダウンから今回追加したワークフローが選択できるようになっています。

選択すると、下記のようなフォームが開くのが確認いただけます。