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.

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

Tratando de importar una copia de base de datos que había creado con drush sql-dump en otro servidor, me he encontrado con este error de MySQL:

ERROR 1071 (42000) at line 25: Specified key was too long; max key length is 767 bytes

El comando que estaba usando era bastante normal:

drush sql-cli <  ../backup.sql

Después de intentar varias opciones, también he llegado a ver este otro error:

ERROR 1709 (HY000) at line 25: Index column size too large. The maximum column size is 767 bytes.

De una temporada a esta parte supongo que habréis visto el aviso en el panel de información de Drupal acerca de actualizar la base de datos para soportar UTF-8 de 4 bytes, con este mensaje:

4 byte UTF-8 for mysql is not activated, but it is supported on your system. It is recommended that you enable this to allow 4-byte UTF-8 input such as emojis, Asian symbols and mathematical symbols to be stored correctly. See the documentation on adding 4 byte UTF-8 support for more information.

Vale, ¿pero de que va todo esto? ¿Para que sirve esta actualización?

Usando Drush podemos actualizar nuestro sitio Drupal tranquilamente desde la línea de comandos. El comando es:

drush pm-update

O podemos usar su alias, mas cómodo.

drush up

Drush en este caso va a hacer unas cuantas cosas:

  • Actualizar core de Drupal, descargando los archivos necesarios de la última versión.
  • Actualizar todos los módulos contrib a su ultima versión, descargando sus archivos.
  • Ejecutar los cambios de base de datos pendientes de todos los módulos actualizados.

A partir de aquí, tenemos varias opciones que nos permitirán hacer estas tareas por separado. Vamos a ver las mas comunes.

Los organizadores de la DrupalCamp 2014 en la que tuve la oportunidad de dar una charla han colgado todos los videos de las conferencias en Vimeo.

Este es el enlace de mi charla:

http://vimeo.com/98215221

Y aquí podeis ver todos los vídeos:

http://vimeo.com/channels/drupalcampspain2014

Merece la pena perder un poco el rato si estás metido en esto del Drupal, hay verdaderos cracks de ponentes.