PublishPress Capabilities vs. Kakapo Roles
権限管理プラグインは、表面上はよく似ています。列にロール、行に権限が並ぶマトリクスです。面白くなるのはその周辺です。純粋な権限以外に何を制御できるのか、そして誰も管理画面をクリックしていないときでもルールが有効なのか、という点です。
短い答え
PublishPress Capabilities は、無料で始められる堅実なロール・権限管理ツールです。カスタム投稿タイプの扱いに優れ、マトリクスもわかりやすくなっています。補完的な機能は、同じシリーズの別のプラグインで提供されます。
Kakapo Roles もマトリクスをカバーしており、さらに通常は拡張機能が担う機能も備えています。管理メニュー、メディアライブラリ、ウィジェット、ナビゲーションメニュー、ショートコード、ログイン後のリダイレクトです。加えて、変更履歴、ロールのゴミ箱、エクスポート/インポートもあります。
両者の違い
| 問い | PublishPress Capabilities | Kakapo Roles |
|---|---|---|
| 価格 | 無料、Pro プランあり | 有料プラグイン、1つのライセンスで9つ |
| 権限マトリクス | はい | はい |
| REST API での効果 | 要確認 | 明示的に適用 |
| ロールごとの管理メニュー | 別のプラグインで | 標準搭載 |
| メディアライブラリを自分のファイルに限定 | 別のプラグインで | 標準搭載 |
| ウィジェットとナビゲーションメニュー | — | 標準搭載 |
| ロールごとのショートコード | — | 標準搭載 |
| ロールのゴミ箱 | — | 復元可能 |
| 変更履歴 | プランによる | 標準搭載 |
| エクスポートとインポート | プランによる | 標準搭載、追加または置換 |
| 権限昇格の防止 | 要確認 | get_editable_roles に準拠、ネットワークでも |
1分で済むテスト
特定のロール向けに投稿を保護します。ログアウトします。投稿に含まれる単語を付けて /wp-json/wp/v2/posts?search= にアクセスします。レスポンスにその内容が含まれていれば、そのルールは表示を変えているだけで、データは公開されたままです。
このテストは、今使っているものを含め、この種のどのプラグインにも使えます。Kakapo Roles は REST API でもルールを適用します。他のツールについては確認する価値があります。「非表示」と「ロック」は別物だからです。
あわせてページビルダーも確認してください。ビルダーによっては独自のエンドポイントからコンテンツを配信し、ロール管理プラグインの権限チェックがそこを素通りしてしまいます。
権限以外に重要なこと
権限マトリクスは、何をしてよいかに答えます。クライアントが毎日使う管理画面では、2つ目の問いも同じくらい重要です。何が見えるか、です。12個のメニュー項目のうち10個がロックされている編集者の管理画面は、安全なのではなく、わかりにくいだけです。
- 項目をロックするだけでなく、ロールごとに管理メニューを絞り込む
- メディアライブラリを自分のファイルに限定する。そうしないと、すべての投稿者がすべてのクライアントのファイルを見られてしまう
- 関係のないウィジェットやナビゲーションメニューは非表示にする
- 誰もが何でも埋め込めないように、ロールごとにショートコードを許可する
- ログイン後は、作業を始める画面にリダイレクトする
Kakapo Roles では、これらは標準で含まれています。この種のツールの多くでは、個別の追加プラグインや functions.php のコードスニペットで対応します。それでも動作はしますが、次にテーマを変更するときに再び問題になります。
権限は設定するだけでなく、記録する
権限を変更する機会は少なく、たいていは時間に追われています。誰かがチームに加わる、誰かが去る、クライアントが一時的により多くの権限を必要とする。半年後に、なぜそのロールにその操作が許されているのかという問いが持ち上がります。変更履歴がなければ、どんな答えも推測にすぎません。
Kakapo Roles は、変更履歴と、削除したロールのためのゴミ箱を備えています。どちらも些細なことに聞こえますが、それは誰かが20人のユーザーが割り当てられたロールを初めて削除するまでの話です。
権限の構成が固まったら、すぐにエクスポートしてください。そうすれば1つのファイルになります。バックアップし、バージョン管理し、次のウェブサイトに読み込めます。エクスポートしなければ、5つ目のプロジェクトで同じ構成を5回目に作り直すことになり、そのたびに少しずつ違ったものになります。
PublishPress Capabilities のほうが適している場合
- マトリクスが必要で、それ以外はあまり要らない
- 予算がゼロ
- すでに同じシリーズの他のプラグインを使っている
Kakapo Roles のほうが適している場合
- 権限を設定するだけでなく、クライアント向けに管理画面を整理したい
- 権限の変更履歴が必要
- 構成を一度作り、他のサイトにも移したい
- いずれにしても他の Kakapo プラグインを使っている