En esta segunda parte de la gestión de la configuración en Drupal 8, vamos a ver cómo podemos mantener diferentes configuraciones para cada entorno.

Ayer publiqué la primera version estable de la rama 8.x de Related By Terms. La funcionalidad es prácticamente la misma que tiene la versión de Drupal 7, pero como podréis imaginar, he tenido que reescribir prácticamente todo el módulo. Lo único que se ha salvado, y de milagro es la query que estaba utilizando para obtener los nodos relacionados.

Instalar composer en Debian 8 es muy sencillo:

$ cd /usr/src
$ sudo apt-get install curl php5-cli
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Después podemos comprobar si se ha instalado correctamente:

$ composer --version

A día de hoy, este comando muestra:

Composer version 1.5.2 2017-09-11 16:59:25

Ayer terminó la Drupalcon 2017 de Viena y aún estoy recuperándome. La impresión general ha sido bastante buena, aunque tengo la sensación de que la de Dublín del año pasado estuvo mejor organizada.

Voy a hacer un pequeño resumen con las charlas que me han parecido mejores.

 

DrupalCon Vienna 2017

Una de las novedades mas celebradas de Drupal 8 ha sido sin duda la nueva gestión de la configuración. Es un concepto clave para trabajar con Drupal profesionalmente, y que no existía de forma nativa en Drupal 7.

Para ilustrar el problema, vamos a verlo con un ejemplo. En cualquier proyecto de desarrollo con Drupal que se precie lo normal es mantener varios entornos:

La versión 8.0.0 de Drupal salió oficialmente en noviembre de 2015, así que bueno, solo he tardado dos años en actualizar mi Drupal 7. No esta mal.

Desde entonces ha llovido mucho, y el estado general de Drupal 8 ha mejorado bastante, hay que reconocerlo, porque hasta esta versión 8.3.7 que acabo de instalar ha pasado de todo, pero aun así mi primera impresión es que todavía le falta mucho camino para estar realmente maduro, sobre todo a nivel de módulos contribuidos. Hay muchos de ellos clave en una instalación normal de Drupal 7 que aun están muy verdes en sus versiones para D8.

Drupal 8 logo

Me ha costado pero por fin he publicado mi primer módulo en Drupal.org. Se llama Related by Terms y básicamente crea un bloque para mostrar contenido relacionado con el nodo que estamos viendo.

Para calcular las relaciones con otros nodos estoy utilizando los términos de taxonomías, de forma que se cuentan las coincidencias en términos del nodo actual, y aparecerán primero en la lista los nodos con mas coincidencias.

Sublime Text lleva siendo mi editor preferido para trabajar desde hace un montón de años. Es muy ligero, me gustan los atajos de teclado, muy configurable y tiene un sistema de plugins que le da mucha potencia.

La versión 3 lleva en beta por lo menos desde 2013, y todo el tiempo que llevo usándola no he tenido problemas.

Quería escribir un articulo con mi configuración personal que utilizo para trabajar en proyectos Drupal, y que aporta funcionalidad y facilita la vida. Como resumen:

  • Revisión de código al momento: Marcado de estándares de Drupal, errores de sintaxis, etc.
  • Marcado de modificaciones en Git: Cada cambio que hacemos en un fichero lo vemos resaltado, muy útil para saber de un vistazo las modificaciones que hemos hecho al archivo.

En un caso bastante particular necesitaba detectar si cambiaba la visibilidad de un elemento del DOM que venia de una librería externa de JS. Después de dar algunas vueltas encontré una solución bastante elegante, publicada hace bastante tiempo. No he visto nada parecido en castellano, y hay algunos hilos en Stackoverflow, pero con soluciones bastante extrañas, así que lo publicaré aquí.

El módulo Localization update (l10n_update) de Drupal nos permite mantener las traducciones de nuestro sitio actualizadas automáticamente. Basta con instalarlo:

drush dl l10n_update

drush en -y l10n_update

Y después podremos ejecutar un par de comandos de Drush para actualizar las traducciones:

drush l10n-update-refresh
drush l10n-update --languages=es

El módulo tambien dispone de una pantalla de configuración para hacer lo mismo en admin/build/translate/update