Environment Indicator
Añade indicadores visuales para mostrar en qué entorno te encuentras actualmente (Desarrollo, Staging, Producción, etc.).
environment_indicator
Install
composer require 'drupal/environment_indicator:^4.0'
Overview
Environment Indicator ayuda a los desarrolladores y administradores de sitios a mantenerse conscientes de en qué entorno están trabajando añadiendo indicadores visuales a lo largo de la interfaz del sitio. Esto es especialmente útil cuando se gestionan múltiples copias de un sitio como entornos de Desarrollo, Staging y Producción.
El módulo muestra una barra coloreada en la parte superior de la página con el nombre del entorno e información opcional de la versión del release. También puede cambiar el color de fondo de la barra de herramientas de administración de Drupal y añadir una superposición coloreada al favicon del sitio. Estos indicadores visuales ayudan a prevenir cambios accidentales en sitios de producción haciendo que el entorno actual sea inmediatamente obvio.
Environment Indicator también proporciona una función de cambio de entorno que permite a los usuarios saltar rápidamente a la misma página en un entorno diferente (por ejemplo, de staging a producción). Los colores y URL de cada entorno pueden configurarse como destino intercambiable.
La configuración se realiza típicamente a través de settings.local.php, permitiendo que cada entorno tenga su propio esquema de colores sin almacenar configuraciones específicas del entorno en la base de datos. Esto sigue las mejores prácticas de Drupal para configuración específica de entorno.
Features
- Muestra una barra indicadora coloreada en la parte superior de la página mostrando el nombre del entorno
- Cambia el color de fondo y texto de la toolbar para coincidir con el entorno (requiere el submódulo Toolbar Integration)
- Añade una superposición coloreada al favicon del sitio usando la librería Tinycon
- Muestra el identificador de versión/release desde múltiples fuentes (estado de Environment Indicator, Deployment Identifier o versión de Drupal)
- Funcionalidad de Environment Switcher para navegar rápidamente a la misma página en diferentes entornos
- Colores de primer plano y fondo configurables para cada entorno
- Permisos dinámicos para indicadores de entorno individuales
- Integración completa con el tema de administración Gin incluyendo modos de toolbar horizontal y vertical
- Configuración vía settings.local.php para ajustes específicos de entorno fuera del control de versiones
Use Cases
Flujo de Trabajo de Desarrollo Multi-entorno
Cuando se trabaja con entornos de Desarrollo, Staging y Producción, configura cada uno con colores distintivos tipo 'semáforo': verde para Desarrollo (los cambios son seguros), amarillo para Staging (proceder con precaución) y rojo para Producción (ser muy cuidadoso). Este sistema visual alerta inmediatamente a los desarrolladores sobre qué entorno están viendo, previniendo cambios accidentales en producción.
Cambio Rápido de Entorno
Configura entidades de conmutador de entorno para todos tus entornos. Cuando estés viendo contenido en staging y necesites verificar la misma página en producción, haz clic en el indicador de entorno para revelar el menú del conmutador y salta directamente a la misma ruta en el entorno de destino.
Seguimiento de Versión del Release
Muestra la versión del despliegue actual en el indicador usando Drush: drush state:set environment_indicator.current_release v1.2.44. Esto ayuda a los miembros del equipo a verificar qué versión está desplegada en cada entorno sin revisar archivos del servidor o logs de despliegue.
Modo de Presentación a Clientes
Usa el submódulo Environment Indicator UI para configurar los ajustes del entorno a través de la interfaz de administración. Esto es útil cuando se presenta a clientes en entornos de staging donde quieres que vean un indicador claro de 'Staging' sin requerir acceso a archivos PHP.
Tips
- Usa diferentes superposiciones de color en el favicon para distinguir pestañas del navegador cuando múltiples entornos están abiertos simultáneamente
- Establece el release actual vía scripts de despliegue: drush state:set environment_indicator.current_release $GIT_TAG
- Exporta las entidades del conmutador de entorno vía gestión de configuración para que todos los entornos tengan enlaces para cambiar entre ellos
- Para accesibilidad, asegúrate de que los colores de primer plano y fondo tienen suficiente ratio de contraste (WCAG 2.0 AA requiere 4.5:1 para texto normal)
- Considera usar el submódulo UI en entornos donde no puedas editar settings.local.php directamente
Technical Details
Admin Pages 4
/admin/config/development/environment-indicator
Configura los ajustes globales del módulo Environment Indicator, incluyendo la superposición del favicon y la fuente del identificador de versión.
/admin/config/development/environment-indicator/switcher
Gestiona los destinos del conmutador de entorno. Crea entradas para cada entorno al que quieras poder cambiar. Cada entorno puede tener su propio nombre, URL y esquema de colores.
/admin/config/development/environment-indicator/switcher/add
Crea una nueva entrada de conmutador de entorno para permitir saltar a otro entorno.
/admin/config/development/environment-indicator/current
Configura los ajustes de visualización del entorno actual a través de la interfaz de administración en lugar de settings.local.php. Proporcionado por el submódulo Environment Indicator UI.
Permissions 4
Troubleshooting 5
Asegúrate de que el usuario tiene el permiso 'See all environment indicators'. Verifica que la configuración environment_indicator.indicator tiene un valor 'name' establecido ya sea vía settings.local.php o el submódulo UI.
Verifica que settings.local.php se está cargando descomentando las líneas de include al final de settings.php. Busca errores de sintaxis PHP usando: php -l settings.local.php
Habilita el submódulo Environment Indicator - Toolbar Integration (environment_indicator_toolbar). El módulo principal solo muestra una barra coloreada; la integración con la toolbar requiere el submódulo separado.
Otorga el permiso 'View environment indicator current release' al rol de usuario. Verifica que la fuente del identificador de versión está configurada correctamente en los ajustes y que la fuente tiene un valor (ej., estado establecido vía Drush, deployment_identifier en settings.php, etc.)
Asegúrate de que 'Mostrar favicon' está habilitado en los ajustes del módulo. Verifica que la librería Tinycon se está cargando correctamente en las herramientas de desarrollador del navegador. Algunos navegadores pueden bloquear modificaciones del favicon.
Security Notes 3
- Las URLs del conmutador de entorno deben usar HTTPS para prevenir filtración de información sobre URLs internas de entornos
- Considera restringir el permiso 'See all environment indicators' solo a usuarios autenticados para evitar revelar información del entorno a visitantes anónimos
- El permiso 'administer environment indicator settings' permite acceso completo a la configuración y debe restringirse a administradores de confianza