Rules

Contenidos
Video de Youtube
URL de Video remoto
Texto

      Como sé lo que te gusta seguir aprendiendo, acerca de las diferentes opciones disponibles que tiene Drupal, hoy te hablaré sobre uno de esos módulos, con el que no sueles contar como tu primera opción, pero que una vez lo conoces, ocupa el número uno en tu lista, siempre que te encuentres con un nuevo reto que resolver. 

     Me refiero al módulo Rules, que nos permite, por medio de la interfaz de usuario, crear respuestas y/o acciones automatizadas, para conseguir toda clase de resultados, por ejemplo, enviarnos notificaciones por correo electónico cuando se actualiza un contenido, o redirigir a los usuarios registrados a una oferta específica, cuando inician sesión en nuestra web. 

    En este artículo utilizaremos la versión más reciente de Drupal 8, instalada empleando el gestor de contenidos Composer, te dejo el enlace para que puedas hacerlo, en el caso de que todavía no lo tengas, para que puedas realizar el ejercicio.

     - Cómo instalar cualquier versión Drupal 8 usando Composer

 DESCARGA Y ACTIVACIÓN:

Para descargar y activar cualquier módulo de Drupal tienes varias opciones:

     Descarga:

          1.- La forma recomendada a partir de Drupal 8, es utilizando el gestor de paquetes Composer, ejecutando en tu consola el comando:

composer require drupal/rules

          2.- Descargándolo manualmente el módulo desde la página oficial del Módulo Rules y una vez descargado y colocado en carpeta "modules/contrib", si haz descargado todos tus módulos manualmente, deberías crear la carpeta "contrib", para que puedas diferenciar entre tus módulos personalizados y los que están disponibles directamente en la Página oficial de Drupal.

     Activación:

          1.- Utilizando la herramienta de consola Drush, la opción "-y" activará todos los sub-modulos automáticamente

drush en rules -y

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

          2.- Desde la interfaz de usuario de Drupal, en la url "/admin/modules", y luego marcando el check junto al nombre de tu módulo y haciendo clic en el botón guardar que aparecer al final de la página.

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

  Nota: Al momento de escribir este artículo, Composer no te dejará descargar el módulo Rules, por un tema de mínimo de estabilidad, pero puedes descargarlo de la forma tradicional, copiando el enlace desde la página del módulo o descargando el archivo comprimido y colocándolo en la carpeta modulos. Pero, aunque dice que ya está en una versión compatible con Drupal 9, presenta varias dependencias que no lo son, por lo que habrá que esperar un poco más antes de usarlo en Drupal 9.

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     CÓMO CREAR NUESTRA PRIMERA REGLA CON RULES

          PASO 1 - ACCESO A LA PÁGINA DEL MÓDULO:

             Para crear nuestra primera regla con el módulo Rules, accederemos a su página de configuración, podemos hacerlo desde el menú administrador, como se muestra en la imagen, si haz instalado el módulo Admin Toolbar, o escribiendo en el navegador, la url "/admin/config/workflow/rules".

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     PASO 2 - HACER CLIC EN EL BOTÓN AÑADIR NUEVA RELGA PARA COMENZAR CON LA CRECIÓN:

        El primer paso para crear los procedimientos automáticos con el módulo Rules, es que, una vez hemos accedido a su página de configuración, hagamos clic en el botón Añadir nueva regla, para comenzar con la definición del procedimiento. 

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     PASO 3 - SELECCIONAR EL EVENTO:

        Es muy importante que tengamos claro, que una Regla consiste en obtener una respuesta o reacción, basándonos en la ejecución de un evento, y que además podremos añadir condiciones específicas, para que una vez se cumplan el evento y las condiciones, si las hemos añadido, podamos ver el resultado esperado.

       Por lo tanto, la primera fase empieza, desplegando el listado de Eventos que nos viene en el selector, y una vez econtremos el adecuado, podremos continuar con el siguiente paso.

       Para nuestro ejemplo, vamos a crear una regla que redirija los usuarios registrados, al iniciar sesión, directamente al formulario de contacto, que viene por defecto al instalar Drupal. La url será "/contact"

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     PASO 4 - AÑADIR ACCIONES Y/O CONDICIONES:

        Tal y como mencionamos la principio, cuando hemos completado los campos de creación de la Regla, nos abrirá la pantalla para añadir las acciones que esperamos obtener, al realizarse el evento.

        Si lo deseamos, podremos añadir, además, alguna condición específica, para que dicha acción sea efectuada, una vez realizado el evento. Por ejemplo, si quisiéramos que sólo un tipo de usuario, ejemplo: con el rol "cliente vip", fuera redirigido una vez iniciara sesión, podríamos configurar en esta parte la condición que necesitemos. 

        Para nuestro ejemplo no añadiremos ninguna condición. Rellenaremos los campos necesarios y guardaremos la regla.

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony

     PASO 5 - COMPROBACIÓN:

        Para que podamos asegurarnos de que nuestra regla funciona, tal y como esperamos en este ejercicio, tenemos dos opciones, la primera sesión y volver a iniciarla con nuestro usuario administrador. La segunda, sería crear un nuevo usuario, con sus respectivos datos de acceso y, sin cerrar nuestra sesión como administradores, abrir una ventana de incógnico en el navegador y realizar la misma prueba.

        Si todo está correctamente configurado, en el momento de iniciar sesión, seremos redirigidos automáticamente a la página con el formulariode contacto, "/contact", que nos viene por defecto activado en Drupal 8 y posteriores.

Rules Drupal Module | www.drupaladicto.com - Consultor especializado en drupal y symfony