Craft 5 から、単一のエントリに複数の「著者」をセットできるようになりました。
そこで、今回はマルチオーサー機能について見ていきたいと思います。
なお、バージョンによって 投稿者
または 作成者
と管理画面上の表記が異なる場合がありますが、ここでは 著者
と統一して記述します。
これは Craft CMS Advent Calendar 2024 17日目の記事です。
なぜ、複数の著者が必要なのか?
Craft CMS では、ユーザーやユーザーグループに対して、セクションごとにエントリの表示・作成(編集)・保存(公開)・削除権限を設定できます。
執筆時点の最新版(Craft 5.5.7)でセクションに設定できる項目は、次の通りです。
- エントリを表示
- エントリの作成
- エントリを保存
- エントリ を削除
- 他のユーザーのエントリを表示
- 他のユーザーのエントリを保存
- 他のユーザーのエントリを削除
- 他のユーザーの下書きを表示
- 他のユーザーの下書きを保存
- 他のユーザーの下書きを削除
これまで、必要最低限の権限を設定できるメリットはあるものの「他のユーザーの...
は無効でも、特定のエントリだけ共同編集を可能にしたい」という場合、独立したセクションを用意し著者を問わず編集可能にするしかありませんでした。
Craft 5 では、自身のエントリを操作する権限さえあれば、目的のエントリに複数の著者をセットするだけで共同編集が可能になりました。
セクションの設定を調整する
では、具体的な調整方法を見ていきましょう。
エントリごとにセット可能な著者の数はセクションの設定にある 最大作成者数
で制御できますので、1 以上の整数値
を入力して保存しましょう。キャプチャ画像の例では、「ニュース」セクションのエントリに2人までの著者を登録できます。
なお、従来からエントリに著者の設定が必須であるため、0
や 空
にして保存した場合でも自動的に 1
がセットされるようになっています。
エントリが存在する状態で「最大作成者数」を減らしたときは?
セクションの設定で 最大作成者数
を減らした場合でも、設定自体の保存はできます。
ですが、既存のエントリに登録されている著者数が 最大作成者数
より多い場合、エントリの保存ができなくなります。
そのため、コンソールコマンドの resave/entries
や Feed Me プラグインでインポートを実行する際など、エントリの再保存を行う際には注意が必要です。
別ユーザーでログインして確認
共同編集したいエントリに必要なユーザーを紐づけたら、自身のエントリだけに編集権限を持つユーザーで確認してみましょう。
ユーザーが直接作成したエントリだけでなく、他のユーザーが作成し著者として自分がセットされているエントリも編集できますね。
まとめ
Craft 5 のマルチオーサー機能は、任意のエントリを共同編集できるようにするための手段として、とても便利な機能です。
公開権限を持たないユーザーでも公開中のエントリから「下書き」や「新しいエントリ」を作成できるため、簡易的な承認フローのような形でも使えそうですね。