Debian 9 trae por defecto en sus repositorios PHP 7.0.32. Desde Drupal 8.5.0 ya se soporta PHP 7.2, y por si no os habeis dado cuenta, Drupal 8 dejará de soportar PHP 5.5 y 5.6 el día 6 de marzo de 2019, así que ya va siendo hora de actualizar.

Subir a 7.2 es bastante sencillo:

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:

Esta es la mejor forma de añadir fuentes de Google en vuestro tema de Drupal 8 sin tocar un template.

Primero, incluimos en nuestro fichero nuestro-tema.info.yml:

libraries:
  - 'bs_css/fonts'

Después, incluimos las fuentes en el archivo nuestro-tema.libraries.yml:

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.