Drupal 8 permite volcar toda la configuración a código, lo que es un enorme avance para la trazabilidad de los cambios de configuración realizados en un sitio, así como para mover configuración entre entornos. Pero esta funcionalidad, además, abre las puertas a nuevas aproximaciones en la gestión y construcción de nuestros sitios si lo combinamos con otras funcionalidades experimentales de Drupal 8 como la herencia de perfiles.
Por requerimientos de un proyecto se estableció un objetivo claro: disponer de un código base multisite que permitiese una jerarquía de perfiles que compartiesen toda la configuración posible, para permitir la creación sencilla de sitios en base a los perfiles existentes. De esta forma, la mayoría de la configuración iría en un perfil base, mientras que los perfiles derivados aportarían solo la configuración específica que cubriese sus propias particularidades. Esta aproximación permite editar la configuración en un solo lugar y que se refleje en todos los sitios. Por ejemplo, podemos definir un tipo de párrafo en el perfil principal, de forma que los perfiles que heredan del principal obtendrán ese tipo de párrafo por herencia. Si un día se decide cambiar la configuración del párrafo basta cambiar los ficheros de configuración del perfil principal y los cambios de dicho párrafo se aplicarán automáticamente en todos los sitios existentes que hereden de ese perfil (y por supuesto los nuevos sitios también recibirán dichos cambios). La idea, al ser general, nos permite tener varios niveles de jerarquía si el proyecto lo requiere.
Además, usando config split a diferentes niveles se puede gestionar configuración por entorno, sitio, profile e incluso combinaciones de estos, creando una base común que sea la estructura sobre la que construir conjuntos de sitios compartiendo funcionalidades de una forma mantenible y asequible (una vez superado la preparación inicial de la plataforma), pero dando la enorme flexibilidad de permitir configuraciones personalizadas para cada sitio, por ejemplo.
En la charla se verá el estado actual de esta aproximación, qué parches se necesitan, que trucos sucios hay que usar y qué perspectivas hay para que esto entre de forma estable en Drupal.
Por requerimientos de un proyecto se estableció un objetivo claro: disponer de un código base multisite que permitiese una jerarquía de perfiles que compartiesen toda la configuración posible, para permitir la creación sencilla de sitios en base a los perfiles existentes. De esta forma, la mayoría de la configuración iría en un perfil base, mientras que los perfiles derivados aportarían solo la configuración específica que cubriese sus propias particularidades. Esta aproximación permite editar la configuración en un solo lugar y que se refleje en todos los sitios. Por ejemplo, podemos definir un tipo de párrafo en el perfil principal, de forma que los perfiles que heredan del principal obtendrán ese tipo de párrafo por herencia. Si un día se decide cambiar la configuración del párrafo basta cambiar los ficheros de configuración del perfil principal y los cambios de dicho párrafo se aplicarán automáticamente en todos los sitios existentes que hereden de ese perfil (y por supuesto los nuevos sitios también recibirán dichos cambios). La idea, al ser general, nos permite tener varios niveles de jerarquía si el proyecto lo requiere.
Además, usando config split a diferentes niveles se puede gestionar configuración por entorno, sitio, profile e incluso combinaciones de estos, creando una base común que sea la estructura sobre la que construir conjuntos de sitios compartiendo funcionalidades de una forma mantenible y asequible (una vez superado la preparación inicial de la plataforma), pero dando la enorme flexibilidad de permitir configuraciones personalizadas para cada sitio, por ejemplo.
En la charla se verá el estado actual de esta aproximación, qué parches se necesitan, que trucos sucios hay que usar y qué perspectivas hay para que esto entre de forma estable en Drupal.