Fast Permissions Administration
Drupalの権限管理ページを強化し、高速フィルタリング、ロール選択、一括権限管理機能を提供します。
fpa
インストール
composer require 'drupal/fpa:^4.0'
composer require 'drupal/fpa:^3.0'
概要
Fast Permissions Administration(FPA)は、大幅に改善された権限インターフェースを提供することで、Drupalでの権限管理のフラストレーションを軽減するために設計されたモジュールです。このモジュールは、コアの権限管理フォームを完全に置き換え、強力なフィルタリング、検索、一括編集機能を備えた改良版を提供します。
このモジュールは、「permission@module」検索構文を使用して特定の権限をすばやく見つけることができる権限およびモジュールフィルターを追加します。サイドバーのモジュールリストにより、特定のモジュールの権限にすばやくナビゲートでき、ロールフィルタリングにより管理者は必要なロールのみを表示できます。さらに、このモジュールは、一括権限割り当てのためのカラムヘッダーと行ラベルの両方にトグルチェックボックスを提供し、権限の説明やシステム名の表示/非表示を切り替えるトグルボタンも提供します。
FPAには、すべての権限を表示するとPHPのメモリ制限を超える可能性がある場合に管理者に警告するインテリジェントなメモリ管理機能が含まれており、多くのロールと権限を持つサイト向けにFilter Permissionsモジュールをコンパニオンとして推奨します。
Features
- 「permission@module」検索構文を使用した権限フィルタリング - 権限名とモジュール名で同時にフィルタリング可能
- 特定のロールのみを表示するマルチセレクトドロップダウンによるロールフィルタリング
- クイックナビゲーション用のモジュールリストサイドバー - モジュールをクリックするとそのモジュールの権限のみにフィルタリング
- ロールのすべての表示中の権限を一度に切り替えるカラムヘッダーのチェックボックス
- 表示中のロール全体で特定の権限を切り替える行トグルチェックボックス
- 視覚的な煩雑さを減らすための説明の表示/非表示トグル
- 権限とモジュールのマシン名を表示するシステム名の表示/非表示トグル
- 未保存の変更を示すビジュアルインジケーター - 新しくチェックされた項目は緑色の光彩、新しくチェックが外された項目は赤色の光彩
- フォームを元の状態に戻す変更リセットボタン
- チェックボックスのタッチターゲットが大きいモバイルフレンドリーなインターフェース
- ページ読み込み間でフィルター状態を維持するCookieベースのフィルター永続化
- 権限ページがPHPメモリを超える可能性がある場合の警告付きメモリ制限チェック
- スクロール中も表示されたままになるスティッキーテーブルヘッダー
- 大規模サイトでのメモリ最適化のためのFilter Permissionsモジュールとの統合
Use Cases
新しいロールへの権限の一括割り当て
多くの権限が必要な新しいロールを作成する場合、FPAのカラムヘッダーチェックボックスを使用して、そのロールのすべての権限をすばやく切り替えます。まず「ロール」ドロップダウンを使用して新しいロールのみを表示するようにフィルタリングし、次にカラムチェックボックスを使用してすべての権限を一度に選択し、適用すべきでないものはチェックを外します。
特定のモジュールのすべての権限を見つける
左サイドバーのモジュール名をクリックすると、権限テーブルがそのモジュールの権限のみを表示するように即座にフィルタリングされます。これは、新しくインストールしたモジュールを設定する場合や、特定の機能の権限を監査する場合に役立ちます。
どのロールが管理権限を持っているかの監査
フィルターフィールドを使用して「admin」を検索し、名前に「admin」を含むすべての権限を見つけます。次に、「ロール」フィルターを使用して特定のロールを表示し、「表示する権限の状態」チェックボックスでチェック済みの権限のみを表示して、どのロールが管理アクセス権を持っているかを明らかにします。
ロール間での権限のコピー
ソースロールのみを表示するようにフィルタリングし、チェックされている権限を確認してから、ターゲットロールを表示するようにフィルタリングし、行トグルチェックボックスを使用して同じ権限をすばやく割り当てます。
未割り当ての権限を見つける
「ロール」フィルターで特定のロールを選択し、表示フィルターで「未チェック」のみをチェックします。これにより、選択したロールが持っていないすべての権限が表示され、不足している権限の監査が簡単になります。
Tips
- 「permission@module」構文を使用して結果をすばやく絞り込みます - 例えば「access@node」でNodeアクセス権限を見つけられます
- テーブル内のシステム名を直接クリックすると、プロンプトダイアログを介してコピーできます
- 緑色の光彩はページ読み込み以降にチェックボックスがチェックされたことを示し、赤色の光彩はチェックが外されたことを示します - どちらも未保存の変更を表します
- 「ロール」ドロップダウンでCtrl+クリックを使用して、複数の特定のロールを選択できます
- サイドバーのモジュールカウンターは、各モジュールの合計に対して現在のフィルターにマッチする権限の数を表示します
Technical Details
Admin Pages 1
/admin/people/permissions
Drupal Coreのデフォルト権限フォームを置き換える拡張権限管理ページ。高速フィルタリング、ロール選択、一括権限管理機能を提供します。このページは、各ロールのチェックボックスとともに、モジュールごとに整理されたすべての利用可能な権限を表示します。
Hooks 3
hook_help
フィルター構文を説明する権限ページのヘルプテキストを提供します。
hook_form_FORM_ID_alter
Filter Permissionsモジュールがアクティブな場合にメモリ制限警告を追加するためにuser_admin_permissionsフォームを変更します。
hook_requirements
権限ページのレンダリングに必要な推定要件に対してPHPメモリ制限をチェックし、不足している場合はステータスレポートの警告を表示します。
Troubleshooting 4
多くのロールと権限が存在する場合、権限ページには大量のメモリが必要です。Filter Permissionsモジュールをインストールして、一度にレンダリングされるアイテム数を減らしてください。または、PHPのmemory_limit設定を増やしてください。メモリが不足している可能性がある場合、FPAはステータスレポートページに警告を表示します。
FPAはブラウザのCookieを使用してフィルター状態を保存します。ブラウザでCookieが有効になっていることを確認してください。Cookie名は'fpa_filter'、'fpa_roles'、'fpa_module_match'です。
カラムトグルチェックボックスは表示されている行にのみ影響します。権限がフィルタリングされている場合、フィルタリングされた権限のみが切り替えられます。ロールのすべての権限を切り替えるには、まず「フィルターをクリア」をクリックしてフィルターをクリアしてください。
ページ上部の「システム名を表示」トグルリンクをクリックしてください。システム名列は視覚的な煩雑さを減らすためにデフォルトで非表示になっています。