Hoy es un día especial para los que nos gusta Drupal y es nuestra herramienta principal de trabajo. Que nos ha dado dolores de cabeza por lo complicado que es lograr ciertas funciones, pero alegrías cuando nos ha permitido crear otras funciones con una facilidad pasmosa.
En esta serie de artículos estamos viendo cómo podemos optimizar el rendimiento de nuestro Drupal. Previamente tuvimos un articulo dedicado al lado del servidor, hablando de el uso de MariaDB, sistemas de CDN entre otros.
Primer miércoles de mes, esta lloviendo es buena parte de España, día ideal para relajarse en el sofá con mantita y una película. Pero en el mundo Drupal, significa día de estar atento a las actualizaciones del core.
A falta de pocas semanas para el lanzamiento de PHP 7.3, la comunidad ha trabajado para que podamos usar sin ningún problema Drupal 8 con la próxima versión de PHP.
Ha habido mucho debate sobre si Drupal 8 es mas rápido que Drupal 7, ya que sin cache, Drupal 7 es mucho más rápido, pero con las caches y optimizaciones del core, Drupal 8 es imbatible. A pesar de esto, podemos querer acelerar más nuestro sitio ya que podemos sentirlo lento en algunas ocasiones.
Una tarea normal para cualquier usuario de la línea de comandos de Linux, es tener que buscar dentro de directorios archivos con un nombre o que contenga cierto texto. Son dos comandos que fácilmente recordaremos en cuando los usemos unas pocas veces, pero que resultan muy útiles:

Con el tiempo, Drupal se ha convertido en una se las soluciones CMS abiertas más flexibles que existen. Ofrece soluciones digitales actualizadas y está respaldado por miembros activos de la comunidad y equipos de desarrolladores experimentados de todo el mundo. Su popularidad está respaldada por su flexibilidad, escalabilidad y alta seguridad. Drupal 8 vino con más de 200 mejoras e increíbles características. Si estas dudan si utilizar Drupal 8 para tu sitio web, valoras los siguientes beneficios de Drupal 8 para ver si puede convertirse en el candidato ideal:

Cuando comenzamos un nuevo proyecto con Drupal, lo común es instalarle unos módulos que siempre están ya que por su funcionalidad, se convierten en módulos indispensables. Aunque Drupal 8 ha mejorado mucho en funcionalidades, sigue carente en algunas que son de mucha ayuda, o necesarias según el sitio que estemos creando.

Esto mas que un truco sobre como quitar el modo mantenimiento, va a ser un repaso a como llegar hasta el código de donde se modifica el valor que indica si Drupal considera si el sitio esta en mantenimiento o no. Comencemos!

Muchas veces cuando desarrollamos un nuevo diseño web, utilizamos el framework frontend Bootstrap como base. Vamos a crear un tema bootstrap y lo haremos utilizando el tema base de Drupal 8 creado para ser utilizado como base con este framework frontend, como todo, puede asustar un poco, pero veremos que realmente es muy sencillo, básicamente consiste en descargar el tema, copiar un kit de inicio y renombrarlo.

Una de las características principales de una aplicación web es la gran cantidad de enlaces entre sus recursos. De hecho, son el pegamento que lo une. Por esa razon esta vez vamos a ver algunas técnicas comunes que se utilizan al trabajar con enlaces programáticamente en Drupa 8.
En artículos anteriores hemos hablado de State API, el cual nos servia para almacenar información estática sobre nuestro sitio web. Ahora vamos a ver una de las nuevas opciones que tenemos en Drupal 8 para almacenar información de manera temporal. Se trata de TempStore y nos permite almacenar durante un tiempo cierta información.
Drupal 8 nos ha proporcionado muchas nuevas funcionalidades, hemos pasado de tener unicamente variables para almacenar lo relacionado con configuración del sitio, información temporal o permanente relacionada con nuestro sitio web a disponer de muchos tipos diferentes de opciones, como State API.
En anteriores artículos hemos hablado sobre los servicios en Drupal 8 y hemos visto como podíamos crear uno simple, ahora veremos como podemos usarlos en diferentes situaciones, tales como funciones dentro de modulo.module, plugins o controladores.
Drupal 8 utiliza algunos componentes de Symfony internamente, y utilizar Symfony, quiere decir que podemos usar los servicios. Nosotros podemos utilizar los ya existentes o crear un servicio propio para nuestras necesidades.
En muchas ocasiones, el nombre de la ruta es algo que necesitamos, por ejemplo para generar algún enlace o enlazar a través de un modulo a ciertas funcionalidades.

Crear un duplicado o clonar una entidad es muy sencillo si utilizamos la Entity API, ya que disponemos del método Entity::createDuplicate().

Una de las muchas novedades que ha traido Drupal 8, ha sido el concepto de modulos experimentales, en cada version menor van añadiendo nuevos modulos para ampliar las funcionalidades del core, estan disponibles para poder probarlos y testearlos.

En drupal 7, cuando queriamos añadir un archivo tpl personalizado utilizamos algun hook_preprocess_hook() y dentro del array variables añadiamos el valor theme_hook_suggestions de la siguiente manera: