Estoy en mitad de un proyecto en el que estamos importando a Drupal 8 contenidos que vienen de un repositorio central, y se consumen usando una API REST en formato JSON.

Hasta ahora esta funcionando bastante bien y sin muchos dolores de cabeza, pero tratando de importar los metadatos que vienen con nuestros contenidos a los campos que trae el módulo Metatag he tenido que pegarme un poco hasta dar con la solución.

Normalmente para configurar el acceso de una aplicación web a la base de datos crearemos una cuenta de servicio para esa aplicación, y le daremos permisos según necesitemos, pero solamente a esa base de datos.

Esta es una de esas cosas que uno hace mil veces pero nunca se acuerda de la sintaxis correcta. Aqui lo teneis:

CREATE USER 'nombre_de_usuario'@'localhost' IDENTIFIED BY 'vuestra_password';
GRANT ALL PRIVILEGES ON nombre_de_base_de_datos.* TO 'nombre_de_usuario'@'localhost';
FLUSH PRIVILEGES;

 

Una de las diversiones de utilizar la versión Sid (inestable) de Debian, es actualizar paquetes. Cualquier cosa puede pasar.

Hoy tenia un rato libre y le he dado al apt upgrade a ver que pasaba. Lo que ha pasado es que VirtualBox ha dejado de funcionar, y no arranca las máquinas virtuales, con este error:

Continuamos con el ejemplo de acceso a base de datos en Drupal 7 que comenzamos hace unos días. Puedes consultar la primera parte del artículo para refrescar o si simplemente te la perdiste.

En esta segunda parte vamos a ver cómo:

  • Crear un formulario para que el usuario pueda crear un nuevo registro en nuestra tabla de issues.
  • Usar el mismo formulario para modificar los datos de una incidencia.
  • Eliminar el registro de una incidencia de la tabla.

 

Estamos haciendo unas sesiones de formación en el trabajo con Drupal 7, y nos ha quedado un ejercicio bastante completo que creo que merece la pena publicar por si puede ayudar a alguien mas.

La idea es mostrar cómo podemos crear un módulo en Drupal 7 que cree su propia tabla en la base de datos, y realizar operaciones sobre ella usando la API de acceso a datos de Drupal.

Para este ejemplo vamos a crear un módulo que nos permita gestionar una tabla sencilla de incidencias (Issues). Los objetivos va a ser:

Page Speed es una herramienta de Google que nos puede ayudar a optimizar el tiempo de carga de nuestro sitio Drupal. No es que lo vaya a arreglar por nosotros, pero al menos nos puede dar varias ideas interesantes de por dónde van los tiros. Para utilizarlo nos va a pedir una URL del sitio que queramos probar, y nos puntúa de 0 a 100 el rendimiento de esa URL teniendo en cuenta varios factores.

Gulp.js es un gestor de tareas en Javascript que nos va ayudar a automatizar tareas repetitivas en nuestro proyecto Drupal. Una de las que mas vamos a repetir mientras estamos desarrollando es compilar el tema para generar el CSS si estamos utilizando un preprocesador como SASS o Less, con el tema de Bootstrap, por ejemplo, o con nuestro propio tema 'custom'.

Añadir Gulp a nuestro tema para compilar nos proporciona unas cuantas ventajas, entre las que podemos destacar:

  • Recompilar el tema automáticamente cada vez que modificamos un archivo less.
  • Y recargar automáticamente el navegador cuando cambia el CSS.
  • Minificar el CSS para mejorar el rendimiento.
  • Ejecutar test y chequear el código al compilar el tema, para controlar errores de sintaxis, estándares, etc.
  • Gestionar dependencias y minificar nuestros ficheros Javascript.
  • Realizar operaciones con ficheros: copiar, mover, borrar, etc.

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.

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