複数のユーザが関わるワークフローアプリの例として、「申請者」が何か申請をし、それを「管理部」に確認してもらうアプリを作成してみましょう。
第3章において、既成のアプリ「作業依頼フロー」を動かし、複数の担当者が処理を行うワークフローについて体験しました。その際は作業の依頼元が依頼先の処理担当者を指名してタスクを渡していました。
まずは、前章で作成したアプリを修正し、管理部の特定のスタッフが処理担当者となるアプリを作成して動作を確認します。修正する中で、スイムレーンの追加と設定、タスクの追加とフローの繋ぎ直しも行います。
次に、スイムレーンの設定を変更し、あらかじめ設定したメンバが処理担当者となるようにアプリを修正します。
ワークフロー図の修正

このようなワークフロー図を作成します。前章で作成したアプリを複製した上で、ワークフロー図を修正していきます。
既存のアプリを複製してアプリを新規作成
まずは、前章のアプリを複製します。
- ページ右上のユーザ名をクリックして[アプリ設定]を選択します
- アプリ一覧が表示されたアプリ設定画面に移るので、一覧にある前章で作成したアプリをクリックし、アプリの詳細画面に移ります
- ワークフロー図の上にある、[複製してアプリ新規作成]をクリックすると『(コピー)○○』というアプリが作成されます

- [プロパティの編集]をクリックして、アプリ名をわかりやすい名前に変更しましょう


BPMNアイコンの追加配置と名称の変更
次に、ワークフロー図を修正していきましょう。
- [編集]ボタンをクリックして、モデラを立ち上げワークフロー図編集画面を開きます
- スイムレーンを1つ追加し、そのスイムレーンにヒューマンタスクを一つ配置します

- 各部の名称を変更します
- パレットの一番右の人差し指のアイコンをクリックして、選択モードにします
- ワークフロー図上で、名称を変更したいBPMSアイコンを選択
- [設定]ボタンをクリックして設定ダイアログを開きます
- 名前を変更して、右下の[適用して閉じる]でダイアログを閉じます

- 次のようにそれぞれ名称を変更してください
- 上のスイムレーン:「申請者」
- 下のスイムレーン:「管理部」
- 「申請者」の中にあるヒューマンタスク:「申請」
- 「管理部」の中にあるヒューマンタスク:「確認」
フローの繋ぎ直し
最後に、フローを繋ぎ直します。
- 選択モードにします
- 「申請」タスクから伸びたフローをクリック
- フローと終了イベントが接している場所に白い丸が表示されるので、その丸をクリックしたまま「確認」タスクへドラッグして移動します

- 終了イベントをドラッグし、「確認」タスクの右に移動します

- パレットで[フロー]を選択し、「確認」タスクと終了イベントをフローで繋ぎます
これでワークフロー図の修正は完了です。
データ項目の追加と編集可否設定の変更
では、次にデータ項目を設定します。
ページ上部にある[データ項目]のタブをクリックし、モデラを切り替えてください。データ項目には、すでに「件名」と、[文字(複数行)]のデータ項目である[内容]が設定されています。今回はこれらに、数値と日付を追加しましょう。
データ項目の追加
[数値]と[日付(年月日)]をそれぞれクリックし、追加してください。
この状態では、[フィールド名]が無いのでエラーとなります。設定ダイアログで次のように[項目名]と[フィールド名]を入力しましょう。

- [数値1]
- 項目名:「数値」
- フィールド名:「q_number」
- [日付(年月日)2]
- 項目名:「日付」
- フィールド名:「q_date」
これで元々あった[文字(単一行)]のデータである「件名」、[文字(複数行)]のデータである「内容」に加え、プロセス中で数値データ 1 つと日付データ 1 つが扱えるようになりました。
データ項目の編集/表示の可否設定
Questetra では、設定したデータ項目のうち、どの項目を入力フォームで表示するか/編集可能にするかを[ヒューマンタスク]ごとに設定できます。
ワークフロー図タブに戻り、「申請」のヒューマンタスクの設定ダイアログを開いてください。

[編集の可否]のタブが選択されており、[編集の可否]の下に、(編集可)、
(表示のみ)の3つのアイコンが並んだラジオボタンがあります(「件名」は
(編集可)、
(表示のみ)の2つ)。
- [
(編集可)]を指定すると、そのタスクを処理する際の入力フォームでデータ項目の入力および修正など、編集が可能になります。
- [
(表示のみ)]に指定されたデータ項目は表示することはできますが、編集して書き換えることができなくなります。申請内容を確認するだけのタスクであれば、データ項目を編集する必要はありません。 - [
(表示なし)]を指定したデータ項目は、入力フォームでは表示されなくなります。
このラジオボタンを切り替えて各データ項目の編集/表示の可否を設定します。
「申請」と「確認」それぞれのタスクの設定画面で、各データ項目の編集/表示の可否を下記の表のように設定しましょう。
| 申請 | 確認 | |
| 件名 | ||
| 内容 | ||
| 数値 | ||
| 日付 |
各タスクの設定画面でラジオボタンを切り替え、[適用して閉じる]をクリックしてください。「申請」、「確認」の設定は、それぞれ次の画面のようになります。


処理担当者の設定
次に、スイムレーンの設定、つまり処理担当者の設定を変更しましょう。
今は「申請者」も「管理部」もアプリ作成に使用しているアカウントが指定されています。これでは自分で申請を出して、自分で確認することになってしまいます。これを修正するために、「管理部」の担当を変えてみましょう。
「管理者」のスイムレーンを選択して、設定ダイアログを開きます。
現在の状態では、スイムレーン「管理部」の担当になっているのは、《あなた》です。変更するために、《あなた》の右側にある鉛筆のアイコンをクリックします。

ここでは「カナリア」を管理部スイムレーンの処理担当者に指定しましょう。
- ラジオボタン「ユーザ」が選択されていることを確認。選択されていなければ、「ユーザ」をクリック

- 《あなた》が表示されている欄(「ユーザ」の右隣の記入フォーム)をクリック。《あなた》の名前を削除し、「カナリア」と入力します

- プルダウンリストに「カナリア」が表示されるのでクリックして選択します

- [OK]ボタンをクリック
「管理部」スイムレーンの設定画面に戻ったら[適用して閉じる]をクリックして、ダイアログを閉じます。
それでは、ここで一旦アプリの動作を見てみましょう。[編集の終了]をクリックし、モデラを終了してください。
アプリのリリースと動作確認
[開発中のバージョン 1 のリリース]をクリックして作成したアプリのバージョン 1 をリリースします。リリースできたら、さっそく試してみましょう。
ページ上部の[ワークフロー]→左メニューの[新規開始]から作成したアプリを使用してみましょう。プロセスの新規開始は[開始と最初の工程の処理]ボタンからでしたね。

表示されたフォームで、設定したデータ項目「件名」「内容」「数値」「日付」の入力ができるでしょうか。
これら 4 つのデータ項目は、「申請」タスクにおいて[編集可]の設定にしたので、この画面で入力ができるようになっています。このようにデータ編集許可設定は、どのタスク処理画面でデータの入力を行うかを管理しているのです。
また「日付」は、日付データとして追加したので、カレンダーから日付を選べるようになっていたり、今の日付をワンクリックで入力できたりするようになっています。
正しいデータタイプを用いることでデータの取扱いがぐっと楽になります。
では「件名」「内容」「数値」「日付」にお好きな値を入力して、[「入力」処理完了]しましょう。
「管理部」での「確認」タスクの処理
さて、先ほど設定したワークフロー図と処理担当者を思い出してみてください。

「申請」タスクが終わると、「管理者」のスイムレーンの「確認」タスクに移ります。
「管理者」スイムレーンの処理担当者は「カナリア」に変更したはずでした。「カナリア」のアカウントにログインして、「確認」タスクを処理しましょう。
もし「管理者」の処理担当者を忘れてしまった……というときは、アプリの詳細画面を開いてワークフロー図を見てください。スイムレーンの設定ダイアログから処理担当者を確認できます。
「カナリア」にアカウントを切り替えて[マイタスク]を確認すると、新しいタスクが届いています。きちんと指定した処理担当者にタスクが割り当てられました。そして処理画面を開くと、入力できる項目は 1 つもありません。「確認」タスクでは、すべての項目のデータ編集許可設定を[表示のみ]にしたためです。では、ボタンをクリックするだけなので処理してしまいましょう。
作成したアプリはきちんと動作しましたね。このように[ワークフロー図]は処理の流れを、[データ項目]はタスク処理画面に表示される項目を、[処理担当者]はタスクが誰に届くかを制御しています。
処理担当者が複数人いたら?
では、処理担当者が複数人いたらどうなるのでしょうか。作成したアプリを少し改造して確かめてみましょう。アプリを作成したアカウントでログインし、ページ右上のユーザ名の表示から、[アプリ設定]へとたどり、アプリの詳細画面を開いてください。

リリース済みのバージョン 1 はもう編集できませんので、これから編集するのはバージョン 2 になります。[編集]ボタンをクリックしてモデラを開いてください。
「管理部」スイムレーンの処理担当者を 1 人増やしてみます。「スマトラ」と「カナリア」の 2 人が所属している組織「10 管理部」を処理担当者に指定してみましょう。
- ワークフロー図タブの「管理部」スイムレーン設定で、[処理担当者]として設定されているユーザ「カナリア」の右端にある、[編集
]を選択して編集してください
- 「組織」のラジオボタンを選択すると、「ユーザ」の時と同様の選択ツールが表示されます

- 次のいずれかの方法で「10 管理部」を指定
- ラジオボタン「組織」の右隣にある入力フォームに「管理部」と記入すると、「10 管理部」が表示されるのでクリック

- [組織ツリーから選択]アイコンをクリックすると、組織ツリーが表示されるので「10 管理部」を選択、[適用して閉じる]をクリック


- ラジオボタン「組織」の右隣にある入力フォームに「管理部」と記入すると、「10 管理部」が表示されるのでクリック
- [OK]をクリック(「10 管理部」の後の「に直接所属するメンバ」は、そのままで構いません)
- 「管理部」スイムレーンの処理担当者が組織「10 管理部」になりました

- これを適用してスイムレーンの設定画面を閉じ、ページ右上から「編集の終了」をクリックしてモデラも閉じてアプリ詳細画面に戻りましょう
処理担当者を変更したので動作を確認しましょう。動作を確認するには、[リリース]しなければいけませんので、[開発中のバージョン 2 のリリース]をクリックしてください。
[リリース]できたら動かしてみましょう。
- [ワークフロー]> サイドメニューの[新規開始]>《作成したワークフローアプリ》の[開始と最初の工程の処理]とクリックしていき、まずは「申請」タスクを処理します
- 「件名」「内容」「数値」「日付」には、お好きな値を入力してください
- 処理したら今度は組織「10 管理部」に所属する 2 人、すなわち「スマトラ」と「カナリア」のアカウントでそれぞれログインして状態を確認してみましょう
[マイタスク]ではなく[引き受け待ち]の数字が増えていますね。もう一方のユーザのアカウントでもそうなっています。

タスク詳細の[処理中の工程]には、このタスクの処理担当者の候補者が表示されています。

[引き受け待ち]とはこの候補者のうち、誰かがタスクを引き受けてくれるのを待っている状態のことです。候補者の誰かが[引き受ける][引き受けて処理開始]のどちらかを選ぶと、タスクがその人の[マイタスク]に移動し、他の候補者の[引き受け待ち]から消えます。つまり、タスクを先に引き受けた人が処理を行うことになります。
では、どちらかのアカウントでタスクを処理した後、プロセスを開始したアカウントに戻って[開始したプロセス]を確認してみてください。

確かにプロセスは終了しています。このように、1 つのスイムレーンに複数の処理担当者を割り当てることもできるのです。
「申請者」スイムレーンの担当者設定
では、「申請者」スイムレーンの担当者設定はどうなっているでしょうか。モデラで確認してみましょう。[アプリ設定]から[簡単な申請アプリ]の詳細ページを開き、[編集]ボタンからモデラを起動してください。
ワークフロー図タブの「申請者」スイムレーンの設定ダイアログを見てみましょう。

このように、今の状態ではアプリの作成者である《あなた》だけになっています。
プロセスを開始できる社員を変更する
実は、[開始イベント]があるスイムレーンとそれ以外のスイムレーンでは、処理担当者の意味が少し違います。[開始イベント]がないスイムレーンでは、処理担当者は《そのスイムレーンで発生したタスクを処理できるのは誰か》という意味になります。対して[開始イベント]があるスイムレーンでは、《該当業務のプロセスを開始できるのは誰か》という意味になります。
つまり今の状態では、プロセスを開始して申請を出せるのは、《あなた》だけになっている、ということです。しかし、先ほどのように処理担当者の設定に組織を用いれば、全社員を[申請者]スイムレーンの処理担当者に指定することができます。そうすることで全社員がプロセスを開始できるようになり、申請を出せるようになるのです。
では《あなた》を[編集]し、「組織」「00 全社」「に直接所属するメンバ」を選択してみてください。これで社員なら誰でも「申請者」スイムレーンの処理担当者になれるように見えます。

ここで、3章で見たチュートリアル用組織の組織図を再度確認してみましょう。

組織図を見ればわかる通り、組織「00 全社」に直接所属しているのは、《あなた》だけです。
他の社員は「00 全社」より下位の組織に所属していることになっています。彼らが候補者に挙がるようにするには、「組織」「00 全社」「より下位組織に所属するメンバ」を処理担当者に[追加]してください。


これで全社員が申請を出せるようになりました。
組織「〇〇」「より下位組織に所属するメンバ」だけでは組織〇〇の所属社員が対象になりません。「に直接所属するメンバ」と組み合わせて、はじめて全社員が対象になります。
ここまでできたら、アプリを保存して[リリース]してみましょう。
《あなた》以外のアカウントからでも、プロセスの[新規開始]ができますか?どのアカウントからもプロセスが開始できれば設定は成功です。
