概要
各ノードにおける「イベント」(承認、差し戻しなど)の発生タイミングで、メールを送信することができます。
メールの送信元(発信者 "From")と、送信先(受信者 "To")を固定するのではなく、ノードに割り当てられたユーザ・グループに送信するように設定できます。ここではその方法を説明します。
アカウントとグループの設定
アカウント
Wagbyが提供するアカウント管理モデルjuserに、メールアドレス項目を加えます。
この設定はアカウント>juserモデルの基本>項目を追加する で説明しています。
グループ
Wagbyが提供するグループモデルjgroupに、メールアドレス項目を加えます。
ワンポイント
グループに設定するメールアドレスは、(複数の)個人メールアドレスへのエイリアスとしてします。社内のメールサーバの設定で、このようなエイリアスを作成することができます。詳細はメールサーバ管理者へお問い合わせください。
モデル定義で、「システム」タブに含まれる「グループ (jgroup)」を選択します。図4に示すように「グループメールアドレス」を挿入します。
項目名 |
項目ID |
型 |
型への属性 |
グループメールアドレス |
jgroupmailaddress |
文字列型 |
メールアドレス |
ワークフローの設定
フロー参加者設定
今回は「順次・順次・順次フロー」(申請→承認→決裁) と、「順次・合議・順次フロー」(申請→合議承認→決裁) の二通りの例を使うとします。(図5,図6,図7)
「順次・順次・順次フロー」では、申請、承認、決裁いずれもユーザーとしています。
「順次・合議・順次フロー」では、申請をグループとします。また、二番目の合議では「承認1〜承認4」を用いるとします。
フローパターン
なお、この「順次・合議・順次フロー」の合議では、「承認1〜承認4」のうち、2人が承認すれば次へ進む、というように設定しているものとします。
ワークフロー設定
図5のフロー参加者設定を使って、ワークフローを設定します。メールの設定もここで行います。
「フロー参加者設定名01」は「順次・順次・順次フロー」を用います。申請時にメールを送信するようにします。
「フロー参加者設定名02」は「順次・合議・順次フロー」を用います。申請時および合議承認時にメールを送信するようにします。
ワークフロー関数の適用
「年休申請」モデルに次の項目のいずれか1つを追加します。
「申請者」項目の初期値
申請者はログオンIDが自動設定されるようにします。
次のメールアドレス項目
申請時であれば次の承認者へ、承認時であれば次の承認者(または決裁者)というように、次のノードのメールアドレスを格納する項目を用意します。
項目名 |
項目ID |
型 |
式 |
DB保存 |
使い分け |
次のメールアドレス(ユーザーIDのみの場合) |
nextuseridmail |
文字列 |
WF_NEXT_USERID_MAIL("juser", "userid", "mailaddress") |
× |
グループ宛にメールを送る必要がない場合 |
次のメールアドレス(グループIDのみの場合) |
nextgroupidmail |
文字列 |
WF_NEXT_GROUPID_MAIL("jgroup", "jgroupid", "jgroupmailaddress") |
× |
ユーザー宛にメールを送る必要がない場合 |
次のメールアドレス(ユーザーID、グループID混在) |
nextmail |
文字列 |
WF_NEXT_MAIL("juser", "userid", "mailaddress", "jgroup", "jgroupid", "jgroupmailaddress") |
× |
ユーザー、グループのいずれにもメールを送る可能性がある場合 |
各関数の引数の詳細はWF_NEXT_USERID_MAIL, WF_NEXT_GROUPID_MAIL, WF_NEXT_MAIL の説明をお読みください。
メールテンプレートの設定
メールのテンプレートを用意します。
メールテンプレートを設計します。「ID」は重複しない識別子とします。「適用モデル」に "年休申請" を選択します。「件名」「差出人」「本文」などの項目にはプレースホルダを含めることもできます。
ここでは "申請" と "承認" の二つのメールテンプレートを設計します。
メール送信タイプとノードの組み合わせ
メール送信タイプ
各メール送信タイプの動作は以下の通りです。
メール送信タイプ |
動作 |
新規登録 |
ワークフロー対象のモデルでデータを新規登録した場合(保存ボタン押下時)に送信されます。 |
申請 |
ワークフロー申請ボタン押下時に送信されます。 |
承認 |
ワークフロー承認ボタン押下時に送信されます。 |
却下 |
ワークフロー却下ボタン押下時に送信されます。 |
保留 |
-(動作しません) |
差し戻し |
ワークフロー差し戻しボタン押下時に送信されます。 |
取り消し |
-(動作しません) |
決裁 |
ワークフロー決裁者(フローの最終ノードに割り当てられている人)による承認ボタン押下時に送信されます。
|
[事例] 「担当者→課長→部長→購買部→購買部部長」ルートによるメール設定
ノードとメール送信タイプの組み合わせでメールテンプレートを指定する例を示します。
- 担当者が「申請」した時、"課長宛てテンプレート"で申請メールを課長に送信。
- 課長が「承認」した時、"部長宛てテンプレート"で1次承認メールを部長に送信。
- 部長が「承認」した時、"購買部宛てテンプレート"で2次承認メールを購買部に送信。
- 購買部が「承認」した時、"購買部部長宛てテンプレート"で3次承認メールを購買部部長に送信。
- 購買部部長が「決裁」した時、"申請者宛てテンプレート"で決裁完了メールを申請者に送信。
この例ではメール送信タイプ「承認」に、3つのノードが設定されています。それぞれに別のメールテンプレートを割り当てることで、適切な運用を行うことができるようになります。
メール文中にワークフロー内部の情報を利用する
ワークフローの承認や差し戻しをする際にコメントを入力できるテキストエリアの内容をメールテンプレートに記述することができます。
具体的には次のプレースホルダをメールテンプレートの本文中に記載することで、入力されたコメント内容をメールに含めることができます。
${jfcworkstate_p.comment}
同様に、次のようなプレースホルダを送信メールに含めることができます。
モデル名.項目名 表記 |
内容 |
${jfcworkstate_p.modelname} |
対象モデル名 |
${jfcworkstate_p.modelpkey} |
対象モデルの主キー |
${jfcworkstate_p.participant} |
参加者 |
${jfcworkstate_p.username} |
処理者 |
${jfcworkstate_p.event} |
処理内容 |
${jfcworkstate_p.comment} |
コメント |
${jfcworkflow_setting_p.participants} |
ワークフロー参加者 |
${jfcworkflow_setting_p.flow} |
ワークフローパターン名 |
${jfcworkflow_setting_p.mail_setting.0.mstype} |
メール設定のメール送信タイプ
|
${jfcworkflow_setting_p.mail_setting.0.mail_template} |
メール設定のメールテンプレート |