Drupal 8: La iniciativa del Administrador de Configuraciones (Configuration Management)

Introducción

En Drupal 7 no siempre es claro si algo pertenece a la “configuración” o al “contenido”. Son los vocabularios configuraciones? Son los términos de la taxonomía configuraciones? Y qué decir de un término de la taxonomía cuyo ID se utiliza como filtro contextual en una vista?

Otro molestoso problema con Drupal 7 es que los módulos son libres de establecer sus propias normas para el almacenamiento de valores de configuración, por lo que es común encontrar sitios donde la configuración se esparce entre las variables, tablas de bases de datos, a través de los objetos exportados con CTools, Features, y otros lugares. Módulos como Features a veces necesitan un poco de “magia negra” para adivinar dónde y qué tan relevante configuración se almacena.

Inspirado por estas cuestiones, la comunidad de Drupal comenzó una iniciativa, en concreto la iniciativa “Configuration Management” que ha estado trabajando para resolverlos y gracias a esto tenemos ahora una manera fácil de trabajar con un gran sistema de configuración.

En Drupal 8, la configuración es menos subjetivo: Drupal tiene una función “Exportar configuración” que exporta toda la configuración del sitio (y por supuesto, usted puede “Importar configuración” para implementarlos en otro sitio con facilidad); si hay algo que no está ahí, no se considera que es un parámetro de configuración. Y con esto, está claro que forma parte de la configuración y que no. 🙂

En este artículo no quiero hacer el artículo 1001 de lo que es el administrador de configuración de Drupal, me gustaría centrarme más en la propia iniciativa. Sin embargo, si quieres saber más acerca del administrador de la configuración, aquí está la documentación (en inglés), y este es un excelente video sobre el tema.

La iniciativa

La motivación

  • No había una buena manera de mover la información de la configuración de Drupal entre los entornos porque estos datos se dispersaban en toda la base de datos en una variedad de formatos, a menudo mezclado con el contenido.
  • Esto también hacía que sea imposible el control de versiones de esta información, para almacenar la historia, y para ser capaces de deshacer los cambios.
  • Cada módulo almacenaba sus datos de configuración en un formato diferente, no hubía estandarización en todos, incluso en el core.
  • Tampoco hubía un API estándar para guardar esta información (aparte del caso simple de la tabla de variables), de modo desarrollador menudo implementaba sus propias soluciones.
  • La totalidad del contenido de la tabla de variables se cargaba en cada solicitud de página, incluso para los datos raramente accedidos, dando lugar a una sobrecarga de memoria.
  • Era difícil de manejar información que es diferente entre los entornos de servidores para el mismo proyecto (información de base de datos, claves de la API, etc.).

Aquí puedes encontrar una nota sobre cómo se presentó la idea inicial en el DrupalCon Chicago de 2011. En un principio, el autor heyrocker menciona:

En DrupalCon Chicago había una tonelada de energía alrededor de la puesta en escena y un despliegue de los problemas de Drupal. Dries en su discurso había identificado esto como una de las iniciativas más importantes para el ciclo de Drupal 8 y las siguientes tres principales conversaciones sobre el core en torno a este tema fueron dadas por mi, David Strauss, y Howard Tyson. Esas conversaciones desataron conversaciones que continuaron durante la semana y generaron una gran cantidad de ideas muy interesantes.

Los organizadores de la iniciativa son:

 

Te gustaría unirte? Este es su Grupo de Drupal. Se encuentra el canal IRC  #drupal-cmi para ayudar a quien quiera contribuir. También tienen un sitio and donde publican sus documentaciones y los issues de la misma.

 

 


Mi pequeña contribución

En esta parte me gustaría mostrarles algunas cosas que he hecho que tienen una relación con esta iniciativa. Uno de ellos es la serie sobre cómo portar un módulo de Drupal 7 a Drupal 8, donde en el capítulo 3 hablamos de cómo guardar los ajustes de configuración a través de la API del administrador de configuraciones. También hay un video de esta serie y aquí está el enlace. (están en inglés, pero voy a intentar hacer una versión en español, al menos de la serie 🙂 ).

Para terminar esto me gustaría invitarte a que te sumes a la iniciativa si crees que puedes, y yo sé que podrás 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s