ワークフロー

オブジェクトの作成、レビューを経て、公開するなどのワークフローを利用できます。ワークフローが利用できるのは、「ステータス」「有効期限対応」「ユーザーをアサインする」が指定されたモデルとなります。

PowerCMS との違い

  • ワークフローが利用できるのは、記事とページに加え、アセット、ウィジェットに対する設定が可能です。
  • 独自に作成したモデルに対してもワークフローを設定できます。
  • 段階数は無制限で「直列」「並列」を選択可能です。

権限グループとステータス

権限グループとは、ワークフロー対象のモデルに対して、特定の権限を持ったユーザーのグループです。

権限グループ名 説明
作成者 下書きのオブジェクトに対する権限のみを持ち、レビュー、有効化(公開)権限を持たないユーザーを指定します。
レビュアー オブジェクトに対する、レビュー権限を持ち、有効化(公開) 権限を持たないユーザーを指定します。
公開者 オブジェクトに対する、有効化(公開) 権限を持つユーザーを指定します。

ワークフロー対象モデルのステータスと、グループごとにアクセスできるステータスは以下のようになります。

ステータス名 実際の数値 説明
下書き 0 作成者、レビュアー、公開者がアクセスできる「下書き」。
レビュー 1 レビュアー、公開者がアクセスできる「レビュー」。
承認待ち 2 公開者がアクセスできる「承認待ち」。
公開予約 3 公開者がアクセスできる「承認待ち」。定期実行タスクによって、公開日を過ぎたものは、バッチにより公開されます。
公開 4 公開者がアクセスでき、ページが出力される「公開」。
公開終了 5 有効期限を指定した時、公開日を過ぎたものがバッチにより公開終了されたもの。公開者のみアクセスでき、手動で設定することもできます。

ワークフローを利用する準備

対象となるユーザー、ロールを作成し、ユーザーに対して権限を割り当てます。

ロール名 権限
ライター 記事(リスト, すべてのリスト, 作成, 自分のオブジェクト, 削除)
レビュワー 記事(リスト, すべてのリスト, 作成, 自分のオブジェクト, すべてのオブジェクト, レビュー, 削除)

ロール「ライター」ロール「レビュワー」

ワークフローの作成と設定

「システムメニュー(またはスペースのメニュー)」→「ユーザーと権限」→「ワークフロー」を選択し「新しいワークフロー」をクリックします。続いて、作成者、レビュアー、公開者それぞれの「追加」ボタンをクリックしてユーザーを選択します。各々に複数のユーザーを指定した時は、ドラッグ&ドロップでユーザーの順番を変更できます

記事のワークフローの設定画面

タイプ 説明
直列 A, B, C, Dというユーザーがいた時、A←→B←→C←→Dという形でワークフローを回します。自分の直前・直後のユーザー以外に対する承認・差し戻し依頼はできません。
並列 A, B, C, Dというユーザーがいた時、各々のユーザーは全てのステップ(作成者 or レビュアー or 公開者)のユーザーに対して承認依頼、差し戻しができます。

承認依頼・差し戻しのユーザーインターフェイス

ワークフローを設定されたモデルの作成・編集画面には「ワークフロー」カラムが追加され、ラジオボタンを選択すると誰に対する依頼(差し戻し)か、ユーザーへ通知するメッセージを入力するテキストエリアが表示されます。また、必要に応じてステータス欄が自動的に変更されます。以下の画像は「直列」の場合のユーザーインターフェイスです。「並列」に設定した場合は、複数ユーザーが割り当てられていればユーザーを選択するドロップダウンが表示されます。

ワークフローのユーザーインターフェイス

ワークフロー関連の通知メール

「ユーザー変更時に通知する」チェックのある時、以下のタイミングでメールが送信されます。

メール種別 説明 ビュー
新しくアサインされたユーザーへの通知 承認依頼または差し戻しの両方で、新しく担当者にアサインされたユーザーへの通知メールです。 ベースネーム「notify_new_user」、クラス「メール」のビュー(存在しない場合 tmpl/email/notify_new_user.tmpl が利用されます)※1
自分の担当オブジェクトが他のユーザーへアサインされた時の通知 自分の担当のオブジェクトが他のユーザーによって別のユーザーにアサインされた時、担当だったユーザーに送信されるメール ベースネーム「notify_old_user」、クラス「メール」のビュー(存在しない場合 tmpl/email/notify_old_user.tmpl が利用されます)
自分の担当オブジェクトが他のユーザーへアサインされた時の通知 他のユーザーによって自分の担当オブジェクトのステータス変更された結果、対象オブジェクトが別のユーザーにアサインされた事を担当だったユーザーに通知するメール ベースネーム「notify_previous_owner」、クラス「メール」のビュー(存在しない場合、 tmpl/email/notify_previous_owner.tmpl が利用されます)
オブジェクトが公開された時に過去に担当したユーザーへの通知 ワークフローを経てオブジェクトが公開された時、過去にアサインされ操作したユーザー全員に送信されるメールです。 ベースネーム「notify_participants」、クラス「メール」のビュー(存在しない場合、 tmpl/email/notify_participants.tmpl が利用されます)
リビジョンがマスタに適用して公開された時に過去に担当したユーザーへの通知 ワークフローを経てリビジョンがマスタに適用されて公開された時、過去にアサインされ操作したユーザー全員に送信されるメールです。 ベースネーム「notify_rev_participants」、クラス「メール」のビュー(存在しない場合、 tmpl/email/notify_participants.tmpl が利用されます)
一覧画面でステータス変更に伴い担当ユーザーが変更された時の通知 一覧画面からまとめてステータスを変更した時に、元のオブジェクトの担当ユーザーが変更後のステータスへのアクセス件を持たない場合に元の担当者へ送信されるメール※2 ベースネーム「batch_status_change」、クラス「メール」のビュー(存在しない場合、 tmpl/email/batch_status_change.tmpl が利用されます)
引き戻しの通知(ver.3.06/ver.2.64以降) ユーザーがオブジェクトを引き戻した時、担当にアサインされているユーザーに送信されるメールです。 ベースネーム「notify_pull_back」、クラス「メール」のビュー(存在しない場合、 tmpl/email/notify_pull_back.tmpl が利用されます)

※ 1 ワークスペースに該当のビューがない場合、システムに該当するビューを探しにいき、それでもない場合は、デフォルトのテンプレートが利用されます。
※ 2 レビュアーが担当しているオブジェクトが、公開者によってステータス公開や公開予約に変更された場合など。