Drupal 8 で 多言語サイトのコンテンツ承認フローを検証してみる


Drupal8の承認フロー機能で、多段承認&多言語で承認フローをまわせるように設定してみます。

検証する仕様は下記にします。

・編集者は日本語コンテンツを作成した場合は、デスクに公開依頼を出す
・編集者は英語コンテンツが必要な場合は、翻訳者に翻訳依頼を出す
・翻訳者は編集者の日本語がわからない場合は、編集者に翻訳内容確認依頼を出す
・翻訳者は翻訳が完了すると、デスクに公開依頼を出す

では、実際の設定です。

「ユーザー」>「役割」で「編集者」「デスク」「翻訳担当」という役割を作成します。

つぎに、上記「役割」に沿ったユーザ「editor」「desk」「translator」を「ユーザー」>「ユーザー追加」から作成します。

drupal8 のデファクトスタンダード?である承認フローモジュールをインストールします。

$ drush en workflows, content_moderation

「環境設定」>「ワークフロー」>「Workflows」で、まずは「翻訳待ち」と「公開承認待ち」のSTATEを作成し、既存のSTATEを「下書き」「公開」「非公開」それぞれに設定します。

つづいて、承認フローの「推移」を設定します。ここが一番頭使うとこですね。

作成したワークフローを使用するように、対象のコンテンツタイプに設定します。「サイト構築」>「コンテンツタイプ」>「モデレーションの管理」が設定場所です。

最後に権限設定をします。権限は本来しっかりと設計して、設定する必要がありますが、今回は検証なので、最低限必要なものをつけていきます。

承認フロー権限

コンテンツ権限

翻訳権限

上記で、日本語と英語で別々に承認フローも進めることができました。

承認依頼をだした自分で差し戻しができるなど(そういった仕様もありか?)、まだイケてないところがいくつかあるので、案件レベルにもっていくには、もう少しちゃんと設計・設定することにはなりそうですが、今日はここまで。