Administración Rápida de Permisos
Mejora la página de administración de permisos de Drupal con filtrado rápido, selección de roles y capacidades de gestión masiva de permisos.
fpa
Install
composer require 'drupal/fpa:^4.0'
composer require 'drupal/fpa:^3.0'
Overview
Fast Permissions Administration (FPA) es un módulo diseñado para aliviar la frustración de gestionar permisos en Drupal proporcionando una interfaz de permisos significativamente mejorada. El módulo reemplaza completamente el formulario de administración de permisos del core con una versión mejorada que incluye potentes capacidades de filtrado, búsqueda y edición masiva.
El módulo añade un filtro de permisos y módulos que permite a los administradores encontrar rápidamente permisos específicos usando una sintaxis de búsqueda "permiso@módulo". Una lista lateral de módulos proporciona navegación rápida a los permisos de módulos específicos, mientras que el filtrado de roles permite a los administradores mostrar solo los roles con los que necesitan trabajar. Además, el módulo proporciona casillas de verificación de alternancia tanto en los encabezados de columna como en las etiquetas de fila para la asignación masiva de permisos, junto con botones de alternancia para mostrar/ocultar descripciones de permisos y nombres del sistema.
FPA incluye gestión inteligente de memoria que advierte a los administradores si ver todos los permisos podría exceder el límite de memoria de PHP, y recomienda el módulo Filter Permissions como complemento para sitios con muchos roles y permisos.
Features
- Filtrado de permisos usando sintaxis de búsqueda "permiso@módulo" - filtra por nombre de permiso y/o nombre de módulo simultáneamente
- Filtrado de roles con menú desplegable de selección múltiple para mostrar solo roles específicos
- Barra lateral con lista de módulos para navegación rápida - haz clic en cualquier módulo para filtrar permisos solo de ese módulo
- Casillas de verificación en encabezados de columna para alternar todos los permisos visibles de un rol a la vez
- Casillas de verificación de alternancia en filas para alternar todos los permisos visibles de un permiso específico entre los roles visibles
- Alternancia para Mostrar/Ocultar descripciones para reducir el desorden visual
- Alternancia para Mostrar/Ocultar nombres del sistema para mostrar nombres de máquina de permisos y módulos
- Indicadores visuales que muestran cambios no guardados - brillo verde para recién marcados, brillo rojo para recién desmarcados
- Botón de restablecer cambios para restaurar el formulario a su estado original
- Interfaz adaptada a móviles con objetivos táctiles más grandes para las casillas de verificación
- Persistencia de filtros basada en cookies para mantener el estado del filtro entre cargas de página
- Verificación de límite de memoria con advertencias cuando la página de permisos podría exceder la memoria de PHP
- Encabezados de tabla fijos que permanecen visibles al desplazarse
- Integración con el módulo Filter Permissions para optimización de memoria en sitios grandes
Use Cases
Asignación masiva de permisos a un nuevo rol
Al crear un nuevo rol que necesita muchos permisos, usa la casilla de verificación del encabezado de columna de FPA para alternar rápidamente todos los permisos de ese rol. Primero filtra para mostrar solo el nuevo rol usando el menú desplegable de Roles, luego usa la casilla de la columna para seleccionar todos los permisos a la vez, y desmarca los que no deban aplicarse.
Encontrar todos los permisos de un módulo específico
Haz clic en el nombre de un módulo en la barra lateral izquierda para filtrar instantáneamente la tabla de permisos y mostrar solo los permisos de ese módulo. Esto es útil al configurar un módulo recién instalado o auditar permisos de una funcionalidad específica.
Auditar qué roles tienen permisos administrativos
Usa el campo de filtro para buscar "admin" y encontrar todos los permisos que contienen "admin" en su nombre. Luego usa el filtro de Roles para mostrar roles específicos y las casillas de verificación "Mostrar permisos que están" para mostrar solo los permisos marcados, revelando qué roles tienen acceso administrativo.
Copiar permisos entre roles
Filtra para mostrar solo el rol de origen, anota qué permisos están marcados, luego filtra para mostrar el rol de destino y usa las casillas de verificación de alternancia de fila para asignar rápidamente los mismos permisos.
Encontrar permisos no asignados
Selecciona un rol específico en el filtro de Roles, luego marca solo "No Marcados" en el filtro de visualización. Esto muestra todos los permisos que el rol seleccionado NO tiene, facilitando la auditoría de permisos faltantes.
Tips
- Usa la sintaxis "permiso@módulo" para reducir resultados rápidamente - por ejemplo "access@node" encuentra permisos de acceso a nodos
- Haz clic directamente en un nombre del sistema en la tabla para copiarlo mediante un diálogo de aviso
- El brillo verde indica que una casilla fue marcada desde la carga de la página, el brillo rojo indica que fue desmarcada - ambos representan cambios no guardados
- Usa Ctrl+clic en el menú desplegable de Roles para seleccionar múltiples roles específicos
- El contador de módulos en la barra lateral muestra cuántos permisos coinciden con tu filtro actual del total para cada módulo
Technical Details
Admin Pages 1
/admin/people/permissions
Página mejorada de administración de permisos que reemplaza el formulario de permisos predeterminado del core de Drupal. Proporciona filtrado rápido, selección de roles y capacidades de gestión masiva de permisos. La página muestra todos los permisos disponibles organizados por módulo con casillas de verificación para cada rol.
Hooks 3
hook_help
Proporciona texto de ayuda para la página de permisos explicando la sintaxis del filtro.
hook_form_FORM_ID_alter
Altera el formulario user_admin_permissions para añadir advertencia de límite de memoria cuando el módulo Filter Permissions está activo.
hook_requirements
Verifica el límite de memoria de PHP contra los requisitos estimados para renderizar la página de permisos y muestra una advertencia en el informe de estado si es insuficiente.
Troubleshooting 4
La página de permisos requiere memoria significativa cuando existen muchos roles y permisos. Instala el módulo Filter Permissions para reducir el número de elementos renderizados a la vez. Alternativamente, aumenta la configuración memory_limit de PHP. FPA muestra una advertencia en la página del informe de estado si la memoria puede ser insuficiente.
FPA usa cookies del navegador para almacenar el estado del filtro. Asegúrate de que las cookies estén habilitadas en tu navegador. Los nombres de las cookies son 'fpa_filter', 'fpa_roles' y 'fpa_module_match'.
Las casillas de verificación de alternancia de columna solo afectan las filas visibles. Si los permisos están filtrados, solo se alternarán los permisos filtrados. Para alternar todos los permisos de un rol, primero limpia el filtro haciendo clic en 'Limpiar filtro'.
Haz clic en el enlace de alternancia 'Mostrar nombres del sistema' en la parte superior de la página. La columna de nombres del sistema está oculta por defecto para reducir el desorden visual.