Dashboards con Layout Builder

Proporciona paneles de control personalizables utilizando Layout Builder, permitiendo a los administradores crear páginas de administración personalizadas con widgets y gráficos configurables.

dashboards
3,411 sites
91
drupal.org

Install

Drupal 11, 10, 9 v2.1.10
composer require 'drupal/dashboards:^2.1'

Overview

El módulo Dashboards permite la creación de paneles de control totalmente personalizables utilizando Layout Builder de Drupal. Proporciona un sistema completo de paneles donde los administradores pueden construir páginas de administración usando bloques y widgets configurables.

Las capacidades principales incluyen: crear múltiples paneles como entidades de configuración que pueden exportarse e importarse entre entornos, personalización de paneles por usuario permitiendo a los usuarios personalizar sus propios diseños de panel, integración con la barra de herramientas de Drupal para un acceso fácil, soporte integrado de gráficos para visualización de datos, y un sistema de plugins para crear componentes de panel personalizados.

El módulo incluye varios plugins de panel integrados para casos de uso comunes como estadísticas de contenido, estado del sistema, fuentes RSS, informes de errores y vistas incrustadas. Los submódulos adicionales proporcionan integración con analíticas de Matomo, envíos de Webform y estadísticas del núcleo.

Features

  • Crear paneles personalizables usando la interfaz de arrastrar y soltar de Layout Builder
  • Personalización de paneles por usuario - cada usuario puede sobrescribir el diseño predeterminado del panel para su propia vista
  • Todos los paneles son entidades de configuración que pueden exportarse y controlarse con versionado
  • Sistema de plugins de panel personalizado para crear componentes de panel reutilizables
  • Integración de gráficos incorporada que soporta gráficos de pastel, barras, líneas, radar, área polar, dona y burbujas con mapas de colores configurables
  • Integración con la barra de herramientas proporcionando acceso rápido a todos los paneles
  • Negociador de tema para cambio automático al tema de administración en páginas de panel
  • Múltiples opciones de diseño incorporadas (2 columnas, 3 columnas, 2+1 columna)
  • Soporte para visualizaciones de Views incrustadas en paneles
  • Plugin lector de fuentes RSS para mostrar noticias externas
  • Widgets de información del sistema (estado, errores, actualizaciones, informes 404)
  • Plugin de estadísticas de nodos mostrando distribución por tipo de contenido
  • Menú de accesos directos para creación de contenido
  • Widget de visualización de perfil de usuario
  • Soporte para el tema de administración Gin con plantillas dedicadas
  • Integración con Layout Builder Restrictions para controlar los bloques disponibles

Use Cases

Panel para editores de contenido

Cree un panel para editores de contenido que muestre su contenido recientemente creado, contenido pendiente de revisión y enlaces rápidos para crear nuevo contenido. Use la vista embebida 'Dashboard: Mi último contenido' y el plugin de menú 'Añadir contenido'.

Panel para administradores del sitio

Construya un panel de administración completo que muestre el estado del sistema, actualizaciones de módulos disponibles, errores y advertencias recientes del registro, e informes de errores 404. Combine los plugins system_info, status_updates, error_report y report_not_found.

Panel de analíticas

Usando el submódulo de Matomo, cree un panel de analíticas que muestre estadísticas de visitantes, distribución geográfica, uso de navegadores y páginas con mejor rendimiento. Configure rangos de fechas y tipos de gráficos para cada widget.

Panel de resumen de contenido

Muestre estadísticas de contenido con gráficos de pastel o barras que muestren la distribución por tipo de contenido, junto con tablas de contenido recientemente publicado. Use el plugin node_statistics con el plugin de vista embebida.

Paneles personalizados por usuario

Permita que cada usuario personalice su propio diseño de panel. Los administradores configuran un panel predeterminado, luego otorgan el permiso 'puede sobrescribir' a roles específicos para que los usuarios puedan reorganizar o eliminar widgets según su flujo de trabajo.

Panel de agregación de noticias

Cree un panel que agregue contenido de fuentes RSS externas junto con contenido interno. Use múltiples plugins rss_news configurados para diferentes fuentes de noticias.

Tips

  • Use el campo de peso para controlar el orden en que los paneles aparecen en el menú desplegable de la barra de herramientas
  • Las configuraciones de paneles pueden exportarse usando Gestión de Configuración, facilitando el despliegue de paneles entre entornos
  • El mapa de colores de gráficos puede cambiarse globalmente en /admin/system/dashboards-settings para coincidir con la imagen de marca de su sitio
  • Para mejor rendimiento con fuentes de datos externas como fuentes RSS o Matomo, el módulo usa construcción perezosa y cache - considere los tiempos de expiración de cache al mostrar datos sensibles al tiempo
  • Al crear plugins de panel personalizados, extienda DashboardBase e implemente buildRenderArray() - el plugin estará automáticamente disponible como bloque en Layout Builder
  • Use DashboardLazyBuildBase para plugins que hacen llamadas a API externas para mejorar el rendimiento de carga de página
  • Otorgue permisos granulares por panel - puede permitir que los usuarios vean ciertos paneles pero solo personalicen unos específicos
  • El módulo maneja automáticamente la invalidación de cache cuando los paneles se modifican o personalizan

Technical Details

Admin Pages 8
Dashboards /admin/structure/dashboards

Lista todos los paneles disponibles con soporte de reordenamiento mediante arrastrar y soltar. Desde aquí, los administradores pueden ver, editar, gestionar diseños, eliminar paneles y crear nuevos.

Nuevo panel /admin/structure/dashboards/add

Formulario para crear una nueva entidad de panel. Define la etiqueta administrativa, nombre de máquina, categoría, configuración de visualización y peso.

Editar panel /admin/structure/dashboards/manage/{dashboard}

Formulario de edición para modificar la configuración del panel incluyendo etiqueta, categoría, configuración del tema del frontend y peso.

Configuración de Dashboards /admin/system/dashboards-settings

Configuración global para la apariencia de los paneles, principalmente para colores y estilos de gráficos.

Vista del panel /dashboard/{dashboard}

Ver un panel específico con todos sus bloques y widgets configurados. Los usuarios con permiso pueden personalizar el diseño desde esta página.

Diseño predeterminado del panel /dashboards/{dashboard}/layout

Interfaz de Layout Builder para configurar el diseño predeterminado del panel. Añada, elimine y organice bloques usando arrastrar y soltar. Todos los plugins de panel aparecen como bloques que pueden colocarse en regiones del diseño.

Personalizar panel /dashboard/{dashboard}/override

Interfaz de Layout Builder para que los usuarios personalicen su propia vista del panel. Los cambios se almacenan por usuario y no afectan al panel predeterminado.

Permisos del panel /admin/structure/dashboards/manage/{dashboard}/permissions

Configure permisos basados en roles específicamente para este panel, incluyendo permisos de visualización y sobrescritura.

Permissions 3
Administrar paneles

Permite a los usuarios crear, editar, eliminar y gestionar diseños para todos los paneles

Puede ver el panel {dashboard}

Permiso generado dinámicamente para cada panel que permite a los usuarios ver ese panel específico

Puede sobrescribir el panel {dashboard}

Permiso generado dinámicamente para cada panel que permite a los usuarios personalizar el diseño de ese panel específico

Hooks 1
hook_dashboards_dashboard_info_alter

Permite a los módulos alterar las definiciones de plugins de panel

Troubleshooting 6
No se pueden guardar los cambios de diseño cuando Layout Builder Restrictions está habilitado

Actualice Layout Builder Restrictions a la versión 2.2 o posterior. Las versiones anteriores tienen un error que impide guardar con plugins de almacenamiento de sección personalizados.

El panel no se muestra en el tema de administración

Asegúrese de que la casilla 'Mostrar siempre en tema del frontend' esté desmarcada al editar el panel. También verifique que el usuario tenga el permiso 'ver el tema de administración'.

Los informes de errores o informes 404 muestran 'El módulo DBLog no está habilitado'

Habilite el módulo Database Logging (dblog) del núcleo. Estos plugins requieren datos de watchdog para funcionar.

El estado de actualización de módulos muestra 'No se pudieron obtener actualizaciones' o requiere el módulo Update

Habilite el módulo Update Manager del núcleo y asegúrese de que cron esté ejecutándose para obtener información de actualizaciones.

El panel personalizado del usuario no se guarda

Verifique que el usuario tenga el permiso 'puede sobrescribir el panel {dashboard_id}' para ese panel específico.

El plugin de vista embebida no muestra vistas disponibles

Cree una View con un tipo de visualización 'Embed'. Solo las Views configuradas con visualizaciones embebidas pueden usarse con el plugin view_embed.

Security Notes 4
  • Los datos de personalización de paneles se almacenan por usuario usando la API de datos de usuario y se eliminan cuando los usuarios son removidos o el módulo es desinstalado
  • El permiso 'administrar paneles' otorga control total sobre todos los paneles - asígnelo solo a roles de administrador de confianza
  • Los permisos de visualización y sobrescritura se generan dinámicamente para cada panel, permitiendo control de acceso detallado
  • El módulo maneja correctamente la serialización de datos de sobrescritura de usuario con clases permitidas restringidas para prevenir vulnerabilidades de inyección de objetos