アプリビルダー機能の紹介 - ワークフロー対応アプリ編 - アプリビルダー機能の紹介 - ワークフロー対応アプリ編 - aegif Labo Blog Liferay
null アプリビルダー機能の紹介 - ワークフロー対応アプリ編
2022/05/24 追記 : Liferay DXP 7.4ではアプリビルダーが廃止され新たにLiferay Objectsという機能が導入されました。詳しくはこちらの記事をご参照ください。
こんにちは。おおたにです。
Liferay DXP 7.3の新機能であるアプリビルダー機能について「アプリビルダー機能の紹介」という記事で紹介しましたが、今回はアプリビルダーを使ったワークフロー対応アプリの作り方を紹介したいと思います。
ワークフロー対応アプリとは
アプリビルダーでは標準アプリ(Standard Applications)とワークフロー対応アプリ(Workflow Powered Applications)の2種類のアプリを作成することができます。標準アプリは以前の記事で紹介していますのでそちらを参照してください。
ワークフロー対応アプリは、入力したデータがワークフロープロセスを経て最終的に登録/処理されるようなアプリです。ワークフロープロセスは複数のステージを持つことができ、差戻を行うこともできます。また、ワークフロー対応アプリはバージョン管理されます(ワークフロー対応アプリのベースとなっているLiferayのワークフロー機能がワークフロー定義をバージョン管理しているためです)。
ワークフロー対応アプリを作ってみよう
カスタムオブジェクトとフォームビューを作成する
「アプリビルダー機能の紹介」を参考にして入館申請カスタムオブジェクト/フォーム/テーブルビューを作成します。
続いて、入館申請カスタムオブジェクトに新規フォームビューを追加します。「承認ビュー」という名前で、既存のフィールドに加えて「承認コメント」フィールドを追加します。これで、申請用のフォームビューと承認用のフォームビューが準備できました。
ワークフロー対応アプリを作成する
続いてワークフロー対応アプリを作成します。画面左上の「メニューを開く」アイコンをクリックし、「アプリビルダー」メニューの「アプリ」をクリックします。「ワークフロー対応」タブに移動して「新規アプリを作成」をクリックします。
名前を「入館申請&承認」として、以下のようにステップを定義して保存します。
- ステップ名:申請
- メインデータオブジェクト:入館申請
- フォームビュー:申請ビュー
- テーブルビュー:入館申請
- アクション名:申請
- 移行先:次のステップ
- ステップ名:承認
- 担当者:Administrator(実務的には新たに承認用のロールを作ったほうがよい)
- フォームビュー:承認ビュー、編集可能を選択
- アクション名:承認
- 移行先:次のステップ
- ステップ名:最後のステップ
開始と終了の間に2ステップ以上あるとアクションを複数定義でき、前のステップに差し戻すアクションなどを追加することができるようになります。
ワークフロー対応アプリをデプロイする
アプリ一覧画面のワークフロー対応タブで「入館申請&承認」を開くと、バージョン番号が表示されてワークフロー対応アプリがバージョン管理されていることが分かります。ここで「デプロイ」をクリックします。
必要なデプロイタイプを選択してデプロイします。ここではウィジェットとアプリケーションメニューを選択して「完了」をクリックします。
さらに、適当なページを編集し、「入館申請&承認 (Form View)」を配置して「公開」をクリックします。
これで準備完了です。
アプリの動作を確認しよう
では早速動作確認してみます。フォームを配置したページにアクセスし、必要な情報を入力して申請します。
すると、次のステップ「承認」の担当者に承認の依頼が届くので、「お知らせ」から依頼を確認してクリックします。
続いて、「割り当て先」アイコンをクリックし、自分にアサインします。
担当者が自分になったことを確認して承認します。
申請の一覧はテーブルビューで確認できます。今回はグローバルメニューのアプリケーションとしてデプロイしてあるので、グローバルメニューに追加された「入館申請&承認」をクリックします。以下のようにテーブルビューに申請の一覧が表示されます。
なお、ワークフロー対応アプリの承認に「自分のワークフロータスク」を使うことはできないのでご注意ください(正確には、アサインや承認はできるものの承認ステップでのフォーム入力ができないようです)。
今回の紹介は以上です。これまでのワークフローエディタよりも直感的にワークフローを定義でき、フォームとワークフローを使ったアプリケーションを簡単に作成できることがお分かりいただけたと思います。是非みなさんもお試しください。