ワークフローの作り方

ULTRAのワークフローの作成方法を記載します。

・申請画面作成

1.ユーザを作成

本マニュアル「ULTRAの使い方 ユーザ管理 1.ユーザの作成」の手順に従って、ユーザを作成する。

例 )

# ユーザ一覧
| ユーザ名 | パスワード | メールアドレス | 姓 | 名 |
|--------------------|------------|--------------------|--------|----|
| foo@example.com | password | foo@example.com | ユーザ | A |
| bar@example.com | | bar@example.com | ユーザ | B |
| foobar@example.com | | foobar@example.com | ユーザ | C |
| test  |    |    |    |

2.グループを作成

本マニュアル「ULTRAの使い方 ユーザ管理 2.グループの作成」の手順に従って、グループを作成する。

例 )

# グループ一覧
## グループA
- 所属ユーザ
  - bar@example.com
  - foobar@example.com
  - test
- 所属グループ
  - グループB
  - グループC
## グループB
- 所属ユーザ
  - foo@example.com
- 所属グループ
  - グループC
## グループC
- 所属ユーザ
  - foobar@example.com

3.ワークフローシステムの申請書モデルを作成

本マニュアル「ULTRAの使い方 モデルの作り方」の手順に従って、モデルを作成する。
ただし、ワークフローの申請書に特化したモデルを作成する場合、見出しに続く段落に[x] ワークフロー申請書 と記述する。

# 任意のモデル名 ・・・1
[x] ワークフロー申請書 ・・・2

| 項目A | 項目B |  ・・・3
|-------|-------|

1:任意のモデル名を入力します。
2:[x] 拡張オプション名 で用途に特化したモデルを定義します。
※ 拡張オプション に ワークフロー申請書 を指定することにより、ワークフローの申請書に特化したモデルが作られるしくみ
3:モデルの項目名を記述します。

例 )

# 01-(01) 出張申請書ABC
[x] ワークフロー申請書

| 出張先 | 出発日 | 帰着日 | 目的 | 内容 | 金額* | 備考 | 添付ファイルA | 添付ファイルB |その他 |
|--------|--------|--------|------|------|-------|------|---------------|---------------|--------|

申請書のMDファイルを作成

..\ワークフロー\申請書\にファイルを新規作成する。
ファイル名は「3.ワークフローシステムの申請書モデルを作成 」の項で入力した申請書モデル名と一致する名前とする。

例 )

..\ワークフロー\申請書\01-(01) 出張申請書ABC.md

5. 新規作成した申請書のMDファイルの中身を編集する

ワークフロー作成・更新画面および承認・回覧画面の仕様を記述する。

5-01.見出し・タイトルを記述

見出し・タイトルを記述します。

- タイトルは「〇〇」とする。・・・1
- 見出しは「〇〇」とする。・・・2

1・2:〇〇にそれぞれ任意の文字を入力します。
1:ブラウザのタイトル文字 2:ページの見出し文字

例 )

- タイトルは「出張申請 | ワークフローシステム」とする。
- 見出しは「出張申請」とする。

5-02.入力項目を記述

入力項目を記述します。項目は必ず画面に紐付くモデルの項目を記述して下さい。

- 以下の入力フォームを設置する。
  - 【タイトル】・・・1
    - 〇〇 ・・・2
      - ラベル: ・・・3
      - 列サイズ:

1:【】内に任意のタイトル名を入力します。
※タイトルを省略する場合は【】のみを入力します。
2:モデルの項目名を入力します。
3:項目に対するレイアウトのオプションを指定します。
※詳細は日本語マニュアルの「 6.ビューの仕様記述 6.2.3. フォーム 」をご確認ください。

例 )

- 以下の入力フォームを設置する。
  - 【】
    - 出張先
      - 列サイズ:12
    - 出発日
      - 列サイズ:6
    - 帰着日
      - 列サイズ:6
    - 目的
      - 列サイズ:12
    - 内容
      - 列サイズ:12
    - 金額
      - ラベル:金額(円)
      - 列サイズ:3
      - 単位:円
    - 備考
      - 列サイズ:9
    - 添付ファイルA
      - ラベル:添付ファイル
      - 列サイズ:4
    - 添付ファイルB
      - ラベル:添付ファイル
      - 列サイズ:4
      - 改行:あり
    - その他
      - 列サイズ:12

ワークフロー定義のMDファイルを作成

..\ワークフロー\ワークフロー定義\にファイルを新規作成する。

例 )

..\ワークフロー\ワークフロー定義\出張申請.md

7. 新規作成したワークフロー定義のMDファイルの中身を編集する

ワークフローおよびプロセスの定義を記述する。

7-01. ワークフローの定義を記述

ワークフローの定義を記述します。

# 任意のワークフロー名 ・・・1
- 申請書:申請書モデルの名前 ・・・2
- 閲覧者
  - ユーザ.mdで定義したユーザ名 ・・・3
  ...
- 閲覧者グループ
  - グループ.mdで定義したグループ名 ・・・4
  ...
- メール通知
  - 申請者:あり or なし ・・・5
  - 閲覧者:あり or なし ・・・6

1:任意のワークフロー名を入力します。
2:申請書モデルの名前 を入力します。
3:閲覧者には、ユーザ.mdで定義したユーザ名を入力します。
※複数指定可。
4: 閲覧者 グループには、グループ.mdで定義したグループ名 を入力します。 ※複数指定可。
5: 申請者に対するメール通知を「あり」か「なし」のどちらかを選択して入力します。
※IDE上ではメールは送信されません。
6: 閲覧者に対するメール通知を「あり」か「なし」のどちらかを選択して入力します。
※IDE上ではメールは送信されません。

各仕様の省略可否と省略時の初期値は下表の通りです。

項目省略可否省略時の初期値備考
申請書不可
閲覧者
閲覧者
グループ
メール通知 > 申請者あり
メール通知 > 閲覧者あり


例 )

# 出張申請
- 申請書:01-(01) 出張申請書ABC
- 閲覧者
  - foo@example.com
  - bar@example.com
  - test
- 閲覧者グループ
  - グループB
  - グループC
- メール通知
  - 申請者:あり
  - 閲覧者:なし

7-02. プロセスの定義を記述

プロセスの定義を記述します。

## 1つ目のプロセス名
...
## 2つ目のプロセス名 ・・・1
- 承認者
  - ユーザ.mdで定義したユーザ名 ・・・2
  ...
- 承認者グループ
  - グループ.mdで定義したグループ名 ・・・3
  ...
- 承認者設定可否:可 or 不可 ・・・4
- 承認条件:全員が承認 or 全員が承認(決裁)or 1人が回覧 or 全員が回覧 or 全員が回覧(スキップ)
or 全員が回覧(スキップ・自動) ・・・5
- 承認者へのメール通知:あり or なし ・・・6
- 否決可否:可 or 不可 ・・・7
- 差し戻し可否:可 or 不可 ・・・8
- 差し戻し先プロセス:先行するいずれかのプロセス名 ・・・9
...
## 以降プロセス数分繰り返し

1:各プロセスごとに任意のプロセス名を入力します。
2: 承認者には、ユーザ.mdで定義したユーザ名を入力します。
※複数指定可。
3:承認者グループには、グループ.mdで定義したグループ名 を入力します。※複数指定可。
4:承認者の追加・削除を画面上で自由に行えるようにするかの設定です。「可」か「不可」 のどちらかを選択して入力します。
※プロセスで設定されている承認者が1人の場合は、「可」を選択しても「不可」の状態になります。
5:承認条件を次の6つの中から選択して入力します。
 ・全員が承認
 ・全員が承認(決裁)
 ・1人が回覧
 ・全員が回覧
 ・全員が回覧(スキップ)
 ・全員が回覧(スキップ・自動)
※承認条件が 全員が承認(決裁)であるプロセスの後続プロセスでは、 全員が承認(決裁)および 全員が承認のプロセスを定義できません。
6:承認者に対するメール通知を「あり」か「なし」のどちらかを選択して入力します。
※IDE上ではメールは送信されません。
7:否決ができるかどうかを設定します。「可」か「不可」のどちらかを選択して入力します。
※承認条件が全員が承認または全員が承認(決裁)のプロセスのみ「可 」を指定できます。
8:差し戻しができるかどうかを設定します。「可」か「不可」のどちらかを選択して入力します。
※承認条件が全員が承認または全員が承認(決裁)のプロセスのみ「可 」を指定できます。
9:差し戻し先のプロセスを入力します。必ず先行のプロセス名を指定します。

各仕様の省略可否と省略時の初期値は下表の通りです。

項目省略可否省略時の初期値備考
承認者
承認者
グループ
承認者設定可否不可
承認条件不可
承認者への メール通知あり
否決可否承認プロセスの場合: 可
回覧プロセスの場合: 不可
差し戻し可否承認プロセスの場合: 可
回覧プロセスの場合: 不可
差し戻し先
プロセス
申請状態まで
差し戻す
差し戻し可否 が 不可 の場合は必ず省略

例 )

## プロセス1
- 承認者
  - foo@example.com
- 承認条件:全員が承認
- 承認者へのメール通知:あり
- 差し戻し可否:可
## プロセス2
- 承認者グループ
  - グループB
- 承認条件:全員が承認(決裁)
- 承認者へのメール通知:あり
- 差し戻し可否:可
- 差し戻し先プロセス:プロセス1
## プロセス3
- 承認者
  - test
- 承認条件:1人が回覧
- 承認者へのメール通知:なし
- 差し戻し可否:不可

8. HTMLファイルにリンクを追記する

ワークフローシステムに遷移するリンクを追記する。
ワークフロー申請画面への遷移は下記のリンクから飛ぶ必要があるため、..\HTML\任意のファイル名.html\にリンクを記述する。

http://app.trancom-its.ultra-ide.udzuki.jp:ポート番号/workflow/def/list

例 )

・できあがった画面

・申請状況確認画面の作成

1.ビューのMDファイルに仕様を記述

..\ビュー\ビュー.md# ビューの一覧に下記の仕様を追加する。

| ビューの名前   | 概要                        | ファイル名        | ログイン制御 | アクセス制御 |
|---------------|-----------------------------|------------------|--------------|--------------|
|任意の名前・・・1|「申請書モデル名」を検索する。・・・2|任意の名前.md・・・3|||

1:任意の画面名を入力します。
2:画面に紐付く「申請書モデル名」+ 検索 と入力します。
検索という文字を入力することにより、検索画面が作られる仕組み
3:任意のファイル名を入力します。

例 )

| ビューの名前    | 概要                              | ファイル名        | ログイン制御 | アクセス制御 |
|----------------|-----------------------------------|------------------|--------------|--------------|
|申請状況確認一覧  |「01-(01) 出張申請書ABC」を検索する。|申請状況確認一覧.md|||

2. ビューのMDファイルを作成

..\ビュー\にファイルを新規作成する。
ファイル名は「1.ビューのMDファイルに仕様を記述 」の項で入力したファイル名とする。

例 )

..\ビュー\申請状況確認一覧.md

3. 新規作成したMDファイルの中身を
編集する

3-01.見出し・タイトルを記述

見出し・タイトルを記述します。

- タイトルは「〇〇」とする。・・・1
- 見出しは「〇〇」とする。・・・2

1・2:〇〇にそれぞれ任意の文字を入力します。
1:ブラウザのタイトル文字 2:ページの見出し文字

例 )

- タイトルは「申請状況確認一覧」とする。
- 見出しは「申請状況確認一覧」とする。

3-02.検索フォームの設置

検索項目や検索条件を記述します。
基本的な記述の方法は「ULTRAの使い方 ビューの作成 検索画面の作り方」をご確認ください。
ワークフローシステムの申請書モデルを検索対象とする場合は、ワークフローに共通する項目を指定することができます。

- 以下の入力フォームを設置する。
  - 【タイトル】・・・1
    - ワークフロー->〇〇・・・2
      - 検索条件:任意の検索条件・・・3
        - ラベル:・・・4
        - 列サイズ:

1:【】内に任意のタイトル名を入力します。
※タイトルを省略する場合は【】のみを入力します。
2:ワークフローに共通する項目を入力できます。
 ・ワークフロー->申請者 
 ・ワークフロー->状態
 ・ワークフロー->コメント
 ・ワークフロー->権限

項目名概要
ワークフロー->申請者 ワークフローを開始したユーザ
ワークフロー->状態 ワークフローの申請状態
ワークフロー->コメント 申請時に入力したコメント
ワークフロー->権限 閲覧権限と承認権限の有無

3:ワークフローに共通する項目に対して指定できる検索条件は以下の通りです。

項目名 指定可能な検索条件
ワークフロー->申請者 「選択」 または 「複数選択」
ワークフロー->状態 「選択」 または 「複数選択」
ワークフロー->コメント 「選択」 または 「複数選択」 以外
ワークフロー->権限 「選択」 または 「複数選択」

4:項目に対するレイアウトのオプションを指定します。
※詳細は日本語マニュアルの「 6.ビューの仕様記述 6.2.3. フォーム 」をご確認ください。
※ワークフローに共通する項目には初期値は指定できません。

例 )

- 以下の入力フォームを設置する。
  - 【検索項目】
    - ワークフロー->申請者
      - 検索条件:選択
        - ラベル:申請者
        - 列サイズ:2
    - ワークフロー->状態
      - 検索条件:選択
        - ラベル:状態
        - 列サイズ:2     

3-03.検索結果の表示

検索結果として表示したい項目を記述します。
基本的な記述の方法は「ULTRAの使い方 ビューの作成 検索画面の作り方」をご確認ください。
ワークフローシステムの申請書モデルを検索対象とする場合は、ワークフローに関する情報を指定することができます。

- 検索結果の表示件数:任意の数 ・・・1
- 検索結果の一覧には以下の項目を表示する。・・・2
  - ワークフロー->〇〇 ・・・3

1:検索結果一覧でページ毎に表示する最大件数を指定します。
※記述を省略した場合は、ページ毎の表示件数は25です。
2:最初に画面を表示した際に検索結果を表示したくない場合は、
「検索条件の指定がない場合には検索結果を表示しない。」という
一文を追加します。
※「検索」ボタンを押したときに初めて検索結果が表示されます。
3: 検索結果として表示したいワークフローの情報を入力します。
指定できる情報は以下の通りです。

項目名概要
ワークフロー->ワークフロー申請書更新画面へのリンク
ワークフロー->申請者ワークフローを開始したユーザ
ワークフロー->状態ワークフローの申請状態
ワークフロー->コメント申請時に入力したコメント
ワークフロー->プロセス状況進行中のプロセスに関する情報
ワークフロー->アクション承認・閲覧画面へのリンク

例 )

- 検索結果の表示件数:10
- 検索結果の一覧には以下の項目を表示する。
  - ワークフロー->ワークフロー
  - ワークフロー->申請者
  - ワークフロー->状態
  - ワークフロー->コメント
  - ワークフロー->プロセス状況
  - ワークフロー->アクション

・できあがった画面

記述例まとめ

申請画面

・ユーザ.md

# ユーザ一覧
| ユーザ名 | パスワード | メールアドレス | 姓 | 名 |
|--------------------|------------|--------------------|--------|----|
| foo@example.com | password | foo@example.com | ユーザ | A |
| bar@example.com | | bar@example.com | ユーザ | B |
| foobar@example.com | | foobar@example.com | ユーザ | C |
| test  |    |    |    |

・グループ.md

# グループ一覧
## グループA
- 所属ユーザ
  - bar@example.com
  - foobar@example.com
  - test
- 所属グループ
  - グループB
  - グループC
## グループB
- 所属ユーザ
  - foo@example.com
- 所属グループ
  - グループC
## グループC
- 所属ユーザ
  - foobar@example.com

・モデル.md

# 01-(01) 出張申請書ABC
[x] ワークフロー申請書

| 出張先 | 出発日 | 帰着日 | 目的 | 内容 | 金額* | 備考 | 添付ファイルA | 添付ファイルB |その他 |
|--------|--------|--------|------|------|-------|------|---------------|---------------|--------|

・01-(01) 出張申請書ABC.md

# 01-(01) 出張申請書ABC
- タイトルは「出張申請 | ワークフローシステム」とする。
- 見出しは「出張申請」とする。

- 以下の入力フォームを設置する。
  - 【】
    - 出張先
      - 列サイズ:12
    - 出発日
      - 列サイズ:6
    - 帰着日
      - 列サイズ:6
    - 目的
      - 列サイズ:12
    - 内容
      - 列サイズ:12
    - 金額
      - ラベル:金額(円)
      - 列サイズ:3
      - 単位:円
    - 備考
      - 列サイズ:9
    - 添付ファイルA
      - ラベル:添付ファイル
      - 列サイズ:4
    - 添付ファイルB
      - ラベル:添付ファイル
      - 列サイズ:4
      - 改行:あり
    - その他
      - 列サイズ:12

出張申請.md

# 出張申請
- 申請書:01-(01) 出張申請書ABC
- 閲覧者
  - foo@example.com
  - bar@example.com
  - test
- 閲覧者グループ
  - グループB
  - グループC
- メール通知
  - 申請者:あり
  - 閲覧者:なし
## プロセス1
- 承認者
  - foo@example.com
- 承認条件:全員が承認
- 承認者へのメール通知:あり
- 差し戻し可否:可
## プロセス2
- 承認者グループ
  - グループB
- 承認条件:全員が承認(決裁)
- 承認者へのメール通知:あり
- 差し戻し可否:可
- 差し戻し先プロセス:プロセス1
## プロセス3
- 承認者
  - test
- 承認条件:1人が回覧
- 承認者へのメール通知:なし
- 差し戻し可否:不可

index.html

・・・
<a href="{% url 'workflow:list_def' %}">ワークフローシステムへ(要ログイン)</a>

申請状況確認画面

・ビュー.md

| ビューの名前    | 概要                              | ファイル名        | ログイン制御 | アクセス制御 |
|----------------|-----------------------------------|------------------|--------------|--------------|
|申請状況確認一覧  |「01-(01) 出張申請書ABC」を検索する。|申請状況確認一覧.md|||

・申請状況確認一覧.md

# 申請状況確認一覧
- タイトルは「申請状況確認一覧」とする。
- 見出しは「申請状況確認一覧」とする。

- 以下の入力フォームを設置する。
  - 【検索項目】
    - ワークフロー->申請者
      - 検索条件:選択
        - ラベル:申請者
        - 列サイズ:2
    - ワークフロー->状態
      - 検索条件:選択
        - ラベル:状態
        - 列サイズ:2       
             
- 検索結果の一覧には以下の項目を表示する。
  - ワークフロー->ワークフロー
  - ワークフロー->申請者
  - ワークフロー->状態
  - ワークフロー->コメント
  - ワークフロー->プロセス状況
  - ワークフロー->アクション

Product by Trancom-ITS