@BUN がTweet してて知ったのだけど。


ということで、 Workflow プラグインが多段階認証に対応してたので試してみた。

Workflow - Features | Verbb
https://verbb.io/craft-plugins...

ワークフローが必要かどうかとかそういう話はまた別なので置いておく。

ユーザーグループの作成・設定

まず、ユーザーグループを作成する。

公開するユーザーグループを publisher として、間で承認するグループとして、 reviewer1, reviewer2 を設定する。
editor ユーザーグループの人が記事を作成する。

各ユーザーグループの権限としては editor は新規作成するので、その辺の権限を付与する。

公開の権限は付与しない。
公開後、他の人のエントリとかは状況に応じて変更する。

【追記 20200708-1024】

他の作成者の入力のためライブを変更する はOFFにしておいたほうが他の人のエントリを公開できてしまいそうですね。

【追記ここまで】

reviewer は公開しないし、自分以外のエントリを見る感じになるので、権限としてはこのように設定する。

publisher は公開するので、公開できる権限を付与する。

これで基本的にワークフローを回すユーザーグループごとの権限は設定できる。

ワークフローの設定

ユーザーグループを作成したら、ワークフローの設定をしていく。

エントリを作成するユーザーグループ。
レビューするユーザーグループ。
公開するユーザーグループを設定する。

このワークフローを有効にするセクションを設定する。

ワークフローは1つのみ設定でき、どのセクションに対して有効にするか?というのを設定できる。

セクションごとにフローを変えるといったことはできないので、そういう細かい使い方をする場合は別の方法を考える必要がありそう。

フィールドの編集権限とかを制御することで調整ができるとは思う。
コミュニケーションは普段使ってるものでやってね、という感じで。

ワークフローを回す

ワークフローを作成したら editor ユーザーグループのユーザーがエントリを作成する。

エントリの作成は普通だけど、公開制御する有効・無効のボタンがない。
作成したらレビューをしてもらうように回す。

レビュー申請をした後の画面。

再度編集したりすると新たにドラフトに追加される感じになる。

レビュアーの人がレビューする。

エントリの一覧からも見ることはできる。
が、そこから開いても承認とかのフローにはならないので、ワークフローの一覧から見ていく。

もしくは承認依頼のメールが届くので、そちらのリンクから開く感じになる。

内容を確認して承認する。

reviewer2も同様に承認していく。

最後publisherの人も同様に対応していく。

エントリ一覧ではまだ公開されていない。

ワークフローの一覧から開く

publisher が承認ボタンを押すと公開される。

一連の承認フローがこれで完了となる。


同じユーザーグループに複数人がいても誰かが承認すれば、フローは進んでいく。
リジェクトするときは一つ前に戻る感じだった。

ワークフローの設定がセクション単位ではなく、サイトで共通とかそういう制限はあるけれども、多段階のワークフローが必要なところには使えそうな感じがする。