Config Suite
Un conjunto de mejoras al sistema de gestión de configuración de Drupal que elimina la verificación del UUID del sitio y proporciona funcionalidad de importación/exportación automática.
config_suite
Install
composer require 'drupal/config_suite:^2.0'
Overview
Config Suite mejora el sistema de gestión de configuración del núcleo de Drupal para facilitar el trabajo con configuración en un flujo de trabajo controlado por versiones. El módulo aborda puntos problemáticos comunes al compartir o reutilizar configuración entre diferentes sitios Drupal.
La característica principal elimina la validación del UUID del sitio durante la importación de configuración, que normalmente impide importar configuración de una instalación diferente de Drupal. Esto elimina el error "Site UUID in source storage does not match the target storage" y permite a los desarrolladores que trabajan en diferentes copias del mismo sitio compartir configuración sin soluciones alternativas.
Además, Config Suite proporciona funciones de automatización que pueden exportar automáticamente los cambios de configuración a la carpeta sync cada vez que se guarda un formulario, e importar automáticamente los cambios de configuración pendientes cuando un administrador accede al sitio. Estas funciones agilizan el flujo de trabajo de configuración en entornos de desarrollo.
Features
- Omite la validación del UUID del sitio durante la importación de configuración, permitiendo compartir configuración entre diferentes instalaciones de Drupal
- Exportación automática de configuración a la carpeta sync cuando se guarda cualquier formulario de configuración
- Importación automática de configuración cuando los administradores acceden al sitio y la carpeta sync ha sido actualizada
- Exporta toda la configuración activa a la carpeta sync al instalar el módulo
- Soporta colecciones de configuración para una sincronización completa de configuración
Use Cases
Flujo de trabajo en equipo con múltiples desarrolladores
Cuando múltiples desarrolladores trabajan en el mismo proyecto Drupal con instalaciones locales separadas, cada sitio tiene un UUID diferente. Sin Config Suite, importar configuración del trabajo de un colega fallaría con el error de desajuste de UUID. Config Suite permite a los desarrolladores compartir libremente archivos de configuración a través de control de versiones sin conflictos de UUID.
Migración o clonación de sitios
Al crear un nuevo sitio basado en configuración de un sitio existente, o al migrar configuración entre entornos de staging/producción con diferentes UUID, Config Suite permite importar la configuración sin manipulación manual del UUID o soluciones alternativas.
Flujo de trabajo de desarrollo automatizado
Habilita tanto la importación como la exportación automática para crear una experiencia de desarrollo fluida. Cuando realizas cambios de configuración a través de la interfaz, se escriben automáticamente en la carpeta sync para hacer commit inmediato al control de versiones. Cuando se obtienen cambios de configuración de un colega desde el repositorio, se aplican automáticamente en tu próxima carga de página.
Reutilización de configuración entre proyectos
Crea fragmentos de configuración reutilizables que pueden aplicarse a cualquier sitio Drupal independientemente de su UUID. Esto es particularmente útil para agencias o desarrolladores que mantienen configuraciones similares en múltiples sitios de clientes.
Tips
- Config Suite es particularmente útil durante el desarrollo, pero considera deshabilitar las funciones automáticas en entornos de producción donde los cambios de configuración deben ser más controlados.
- La función de importación automática solo se ejecuta para usuarios con el rol de administrador por razones de seguridad.
- Al instalar el módulo, toda la configuración activa se exporta a la carpeta sync, asegurando que comiences con una línea base de configuración completa.
- Un video de introducción a Config Suite está disponible de BadCamp: https://www.youtube.com/watch?time_continue=112&v=02IJGgGPBAw
Technical Details
Admin Pages 1
/admin/config/config_suite/admin_settings
Configura los ajustes de importación y exportación automática de configuración para Config Suite. Esta página te permite habilitar o deshabilitar la sincronización automática de configuración entre el almacenamiento activo y la carpeta sync.
Permissions 1
Hooks 2
hook_install
Exporta toda la configuración activa a la carpeta sync al instalar el módulo, asegurando que la carpeta sync se llene inmediatamente con la configuración actual.
hook_help
Proporciona texto de ayuda para el módulo en la página de ayuda.
Troubleshooting 3
Asegúrate de que el ajuste de importación automática esté habilitado, y que el usuario conectado tenga el rol 'administrator'. La importación automática solo se activa para usuarios administradores.
Verifica que la exportación automática esté habilitada en los ajustes de Config Suite. También asegúrate de que la carpeta sync tenga permisos de escritura para el servidor web.
Estas advertencias pueden aparecer en los registros cuando las colecciones de configuración no contienen el elemento de configuración específico que se está guardando. Esto es generalmente inofensivo e indica que la configuración no existe en esa colección particular.
Security Notes 3
- La función de importación automática solo se ejecuta para usuarios con el rol de administrador, previniendo cambios de configuración no autorizados.
- Este módulo omite la verificación del UUID del sitio, que es una función de seguridad en el núcleo de Drupal. Aunque es conveniente para el desarrollo, entiende que esto elimina una protección diseñada para prevenir sobrescrituras accidentales de configuración entre diferentes sitios.
- Considera las implicaciones de seguridad antes de habilitar este módulo en sitios de producción, ya que la importación automática de configuración podría ser potencialmente explotada si un atacante obtiene acceso de escritura a la carpeta sync.