drupal 9

Migración Drupal 7 a 8, 9 o superiores

Video de Youtube
URL de Video remoto

     En este curso te ofrezco una guia, básica, pero que podrás aplicar para cualquiera de los proyectos que debas migrar desde Drupal 7 a versiones superiores.

   El contenido de este curso es el siguiente:

  • Configuración de los entornos, para instalar las dos versiones de Drupal con las que trabajaremos.
  • Instalación del proyecto Drupal 7 en local.
  • Instalación del proyecto Drupal 10 en local.
  • Cómo generar las copias de seguridad previas a la migración, en tu entorno local.
  • Indicaciones sobre los requermientos previos a la migración. (Traspaso entre ambas versiones, de archivos, módulos y themes)
  • Cómo ajustar el Drupal 7, para que sea compatible, con la migración.
  • Cómo ajustar, el Drupal destino, para que sea compatible con la migración.
  • Problemas y posibles soluciones durante el proceso de migración.
  • Consideraciones para el despliegue a producción.

   Requerimientos antes de comenzar

Gutenberg | Módulo Drupal

Video de Youtube
URL de Video remoto
Texto

      Aunque en mi opinión, una de las cosas que me enamoró de Drupal en cuanto lo conocí, es la posibilidad de manipular, personalizar y saber encontrar, prácticamente dónde y cuando ocurren la mayoría de sus funcionalidades, entiendo que el objetivo principal de cualquier herramienta de desarrollo, debería ser facilitarnos la vida, además de ofrecernos grandes posibilidades a nuestro alcance.

     Como cada proyecto requiere de diferentes requisitos para llevarse a cabo, y por lo general, uno de los más importantes, es el tiempo que tendremos que invertir hasta su puesta en producción, muchos desarrolladores web prefieren apostar por otros CMS o construir desde cero proyectos enteros, para sentir que tienen mayor control sobre sus creaciones.

     No obstante, creo que con un pequeño conocimiento sobre cómo instalar Drupal 9 usando Composer y un breve vistazo a cómo gestionar usuarios y permisos, complementado con la ayuda del Módulo Gutenberg, conocido mayormente por usuarios de Wordpress, podrías llegar a tener lo que haz estado buscando hace tiempo, una plataforma simple de manipular, pero potente, con posibilidad de adaptación a la mayoría de webs sencillas.

     Es por esta razón que a continuación, te voy a mostrar cómo puedes utilizar las opciones que integra este módulo a la interfaz de usuario, facilitándote de forma notable, la creación de nuevos contenidos en Drupal 9.

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/gutenberg

          2.- Descargándolo manualmente el módulo desde la página oficial del Módulo Gutenberg 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 gutenberg -y

          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.

 

gutenberg - www.drupaladicto.com - formacion especializada en drupal y symfony

 

Cómo utilizar Gutenberg

     Una vez activado el Módulo Gutenberg, veremos que se ha añadido una nueva opción, en la parte inferior izquierda de todos los contenidos, llamada Gutenberg Experience y que al activarla podremos ver dos listados con todos los nuevos bloques, tanto del propio módulo como de el núcleo de Drupal, que podremos activar o no, para que estén disponibles como parte de las opciones del tipo de contenido en que se han activado, modificando inmediatamente la interfaz de creación de dicho contenido.

 

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

     La idea principal de Gutenberg, es que convierte todos los elementos que podamos añadir, en bloques individuales, con sus propias opciones, disponibles en el momento en que seleccionamos dicho bloque o elemento, haciéndolo mucho más gráfico el método para añadir, modificar o reutilizar dicho elemento.

     Para comenzar a añadir contenidos o "Bloques" en nuestro tipo de contenido, veremos un símbolo de más dentro de un círculo y al hacer clic sobre éste, se desplegarán las diferentes opciones disponibles para agregar y una vez seleccionado el elemento que deseamos añadir y se añade, inmediatamente cambiará el panel de la derecha de la pantalla, adaptándose a las opciones disponibles para él.

 

gutenberg - www.drupaladicto.com - formacion especializada en drupal y symfony

     De entre sus opciones más llamativas, está la posibilidad de arrastrar directamente los elementos hasta la posición deseada desde el escritorio de tu ordenador, la integración con módulos como Media o Imagen, insertar directamente elementos embebidos como vídeos, sonidos, etc, o la posibilidad de crear "Bloques" de contenido reutilizables en cualquier otro lugar de la web.

     El objetivo de utilizar Gutenberg, es que todos tus tipos de contenido, sólo tengan el campo "Body" y dentro de este campo se podrán añadir, editar o eliminar el resto de elementos que se mostrará en tus páginas, incluyendo imágenes o incluso bloques del núcleo de Drupal.

Gutenberg Cloud

     Una de las opciones más novedosas de este módulo, es la posibilidad de añadir "bloques" de contenido, directamente desde su repositorio en la web Gutenbergcloud.org, mediante el sistema de CDN, por lo que dichos bloques, con características, estilos y funcionalidades prediseñados, no se guardan como el resto de contenidos en la base de datos de Drupal. Por el contrario, se añaden como etiquetas dentro del campo "BODY", que añade Drupal por defecto cada vez que creamos un nuevo tipo de contenido.

     Para añadir esta funcionalidad, sólo habría que activarla como cualquier otro módulo y una vez hecho esto, se añadirá como una de las opciones disponibles para agregar en el listado de bloques cuando hagamos clic en el selector.

 

gutenberg - www.drupaladicto.com - formacion especializada en drupal y symfony

     Por desgracia, esta funcionalidad no es compatible para todas las versiones de Drupal 9, por lo menos al momento de escribir este artículo. Pero sí podrás utilizarla en cualquier instalación de Drupal 8 o menor que la 9.1.

 

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

Contenidos de Prueba | Generados con el módulo Devel

Video de Youtube
URL de Video remoto
Texto

      Cuando estamos empezando con el desarrollo o implementación de cualquier proyecto, en la mayoría de los casos nos resultará necesario la creación de contenidos con los que podamos realizar pruebas de todo tipo.

     Para realizar esta tarea, en Drupal contamos con el módulo Devel Generate, integrado dentro de las dependencias del módulo Devel. Por lo que, una vez instalado y activado en nuestro Drupal, sólo tendremos que dirigirnos a la url "/admin/config/development/generate/content", y allí veremos el listado de todos los tipos de contenidos que tengamos creados en nuestro proyecto.

CÓMO INSTALAR Y CONFIGURAR EL MÓDULO:

Paso 1 Descargar el módulo:

     Lo primero que tendrás que hacer es descargarlo, para ello, a partir de Drupal 8 se recomienda que utilices el gestor de paquetes Composer, ya que te facilitará tanto la instalación como futuras actualizaciones del tus proyectos. No obstante también podrías descargarlo desde la Página oficial del módulo y una vez descargado, tendrás que colocarlo en la carpeta "modules" o "modules/contrib", dependiendo de tu instalación y asegurarte de descargar todas sus dependencias o el módulo no funcionará, esta es una de las ventajas con las que cuentas al hacer la instalación usando Composer.

Paso 2 Activación del módulo :

     Para activar el módulo Devel, al igual que todos los demás módulos contribuidos de Drupal, tendrás la posibilidad de hacerlo, mediante el uso de la herramienta Drush, con el comando "drush en devel -y", que sirve para activar cualquier módulos y todas sus dependencias, o desde la interfaz de Drupal.    

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

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

     Además de poder generar automáticamente nuestros contenidos, podremos configurar algunas opciones adicionales como, especificar su fecha de publicación, comentarios relacionados, títulos para los contenidos con un límite de caracteres específico, el idioma o incluso los usuarios que los crearon, esta última opción nos facilitará el testeo de los permisos de usuario.

     Para generar nuestro contenidos, sólo tendremos que marcar las opciones con las que deseamos trabajar, es recomendable intentarlo la primera vez como poco contenido para estar seguros de obtener lo que pensábamos o si hará falta modificar algún campo.

     Si no estás conforme con el contenido generado o simplemente quieres volver a generar contenidos otra vez, puedes seleccionar la opción de eliminar todos los contenidos previamente creados antes de ejecutarlo.

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

     Una vez que hayamos revisado todos los campos que nos interesan, haremos clic en el botón que aparece en la parte inferior de la pantalla y comenzará el proceso inmediatamente.

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

     Cuando se haya realizado el proceso de generación de nuestros contenidos, veremos un mensaje de confirmación en la parte superior de la pantalla, con la cantidad y el tipo de contenido que decidimos utilizar.

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

     Para comprobarlo, sólo tendremos que dirigirnos al listado de contenidos en la url "/admin/content" y veremos el listado de contenidos generados por el módulo con las configuraciones adicionales, si es que hemos seleccionado alguna.

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

Drush , introducción y comandos más útiles

Video de Youtube
URL de Video remoto
Texto

     Para todos los que trabajamos, en el desarrollo de páginas web utilizando Drupal, es muy importante que nos mantengamos informados, sobre las últimas actualizaciones, tanto a nivel de las funcionalidades o parches de seguridad, del propio CMS, como de las herramientas relacionadas con éste, por ejemplo, el gestor de paquetes Composer, recomendado para todos los proyectos, a partir de Drupal 8 y que hace poco, lanzó una nueva versión ( Cómo instalar Composer 2 en Ubuntu 20.04 ) o superior o la consola Drush.

     Con el propósito de facilitar tus tareas de desarrollo, hoy quiero hablarte sobre, La interfaz de línea de comandos (en inglés, command-line interfaceCLI), que se utiliza en Drupal, conocida como Drush, para que puedas sacarle el mayor provecho posible y obtener mejores resultados.

   INSTALACIÓN DE DRUSH CON COMPOSER

        Hace varios años, se recomendaba que al trabajar con Drush y Drupal, realizáramos una instalación global, con la que pudiéramos efectuar toda clase de operaciones, sin importar la versión de nuestro proyecto; pero a partir de Drupal 8, se comenzó a proponer instalaciones individuales, para evitar errores producidos por incompatibilidades, ya fuera entre versiones de php, o del núcleo de Drupal.

        Actualmente, para instalar Drush en cualquier proyecto de Drupal 8 o superior, utilizaremos el gestor de paquetes Composer, y al igual que con otros módulos de Drupal, dejaremos en él la responsabilidad de descargar todos los archivos necesarios para su funcionamiento, para ello escribiremos desde la carpeta raíz de nuestra instlación, el siguiente comando:

composer require drush/drush

     De inmediato se iniciará el proceso de descarga de la versión más actual y estable, que esté disponible sobre esta herramienta de comandos, en el momento en que escribo este artículo, es la versión 10.5.0

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

     DRUSH LAUNCHER

         Con el Drush Launcher podrás ejecutar comandos de Drush en todos tus proyectos, sin la necesidad de escribir la ruta completa ej: "/vendor/bin/drush cr". Exiten varias formas para descargar e instalarlo, puedes revisar la documentación en Repositorio Drush Launcher

     5 COMANDOS DRUSH QUE DEBERÍAS CONOCER

     GENERAR UN MÓDULO

       Drush te genera automáticamente y de manera configurable, toda la estructura de archivos necesaria para crear un módulo. (Funcionalidad de la antigua Drupal Console)

drush generate module

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

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

     RECUPERAR ACCESO ADMIN

     En algunos casos, es posible que perdamos el acceso del usuario admin, al realizar algún traspaso de entornos o no haber guardado los datos de acceso en un lugar fácil de encontrar. Para estos casos, el siguiente comando te da la posiblidad de acceder como administrador para que puedas cambiar la clave de acceso por una nueva.

drush:uli 

     Forma de uso: Copia en el navegador el enlace generado, a partir de "/user" y pégalo en el navegador a continuación del dominio de tu página. Al presionar enter accederás directamente a la página de configuración del usuario administrador para que puedas cambiar la clave de acceso sin necesidad de acordarte de la anterior.

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

     VER LA TABLA DE ERRORES SIN ABRIR DRUPAL

     Como ya sabrás, Drupal ofrece la posibilidad de verificar, todos los errores que registra a nivel de base de datos, ya que los guarda en una tabla llamada Watchdog, con Drush podrás acceder a estos datos, sin la necesidad de entrar a la interfaz de usuario usando el siguiente comando:

drush wd-show

     Al ejecutarlo, verás inmediatamente en consola, todos los datos que haya guardado Drupal dentro de esta tabla, facilitándote el análisis de posibles errores más rápidamente.

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

     VER LOS MÓDULOS Y/O TEMAS ACTIVADOS

     En algunos proyectos, sobretodo cuando se trata de instalaciones muy grandes, necesitamos tener una idea rápida de los módulos o temas que se encuentran activados en un momento determinado. Este comando nos mostrará en pantalla, un listado completo de todos los módulos y temas, con la correspodiente información acerca su versión y de si están o no activados.

drush pml

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

     EXPORTAR BASE DE DATOS COMPLETA

     Cuando estamos haciendo el traspaso de entornos, es posible que necesitemos exportar toda la base de datos para dicho traspaso, con este comando, podremos generar rápidamente un backup que se guardará a la altura de nuestra carpeta raíz del proyecto:

drush sql:dump --result-file=../mi_backup.sql

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

     BORRAR BASE DE DATOS EXISTENTE:

drush sql-drop

     IMPORTAR UNA COPIA DE LA BASE DE DATOS:

drush sql-cli < ~/my-sql-dump-file-name.sql

Volcará la base de datos y la comprimirá, colocándola en el directorio predeterminado de drush bajo una marca de tiempo

drush sql-dump --gzip --result-file

Volcará la base de datos en el archivo especificado antes de comprimirlo con gzip

drush sql-dump --gzip --result-file=/path/to/file.sql

Fijar un tema por defecto para tu instalación de Drupal, ejemplo el theme Bartik

drush config-set system.theme default bartik

     Puedes aprende más sobre el uso y los comando de drush, visitando su drushcommands o www.drush.org/latest/

Drupal 9 | Copias de seguridad

Texto

Cuatro maneras para realizar una copia de tu base de datos Drupal

        Antes de realizar cualquier tipo de actualización en tu proyecto de Drupal, es altamente recomendable, sacar una copia de tu base de datos actual, para evitar posibles pérdidas de información durante el proceso. Tienes varias opciones para extraer esta copia de la base de datos.

  • Copia de la base de datos utilizando Drush.

       Para exportar la base de datos de tu proyecto Drupal, utilizando Drush, colócate en la carpeta raiz de tu proyecto, usando tu consola de comandos y a continuación, ejecuta el siguiente comando, sustituyendo el final, por el nombre que quieres para identificar tu copia de seguridad:

    drush sql:dump --result-file=../mi_backup.sql 

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony
  • Copia de la base de datos desde la interfaz PhpMyAdmin.

    Si tienes activado el administrador de Base de datos PhpMyAdmin, puedes exportar tu base de datos, a través de su interfaz. Para ello, sólo tienes que acceder a PhpMyAdmin, y a continuación seleccionar la base de datos que necesitas exportar; luego seleccionas el botón exportar, desde el menú superior de PhpMyAdmin y haces clic en continuar.

    El resultado será un archivo con la extensión .sql, que se descargará automáticamente.

Drupal Update | www.drupaladicto.com - Consultor especializado en drupal y symfony
  • Exportar la base de datos utilizando la línea de comandos MySql.

     Para extraeer una copia de tu base de datos, a través de los comandos MySql, deberás ejecutar la siguiente línea, sustituyendo los datos del usuario root, y tu bases de datos y el archivo.sql resultante.

mysqldump -u usuario -p base_de_datos > archivo.sql

 

  • Exportar una copia de la base de datos, usando el módulo Backup and Migrate.

     Otra forma que nos ofrece Drupal, para exportar una copia de la base de datos, será a través del módulo Backup and Migrate, con el que podremos descargar, a través de la interfaz de Drupal, una copia completa de nuestro sitio web, en formato comprimido, que podremos importar en el entorno local o cualquier otro entorno que necesitemos.

     Si quieres aprender a configurar y utilizar el Módulo Backup and Migrate HAZ CLIC AQUI

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

Drupal Update | Actualizar Drupal usando Composer y Drush

Video de Youtube
URL de Video remoto
Texto

Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI

Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush

     Si utilizas Drupal en tus proyectos, es casi seguro que te habrás encontrado con la necesidad de actualizarlo, ya sea para corregir fallos de seguridad, para implementar las mejoras en el código de algún módulo, o para obtener la versión más reciente de su núcleo.

     Por esta razón, en este curso, te enseñaré los pasos que deberías tener en cuenta, en caso de tener que realizar una actualización de tus proyectos Drupal.

   Requisitos:

  1. Tener configurado un entorno local, donde puedas poner en marcha tu proyecto Drupal.

    Si no sabes instalar un entorno local, HAZ CLIC AQUÍ
     
  2. Capacidad para ejecutar comandos de Composer y Drush en tu consola

            Si no tienes Composer instalado, HAZ CLIC AQUI


   Guía para actualizar tus proyectos Drupal, utilizando Composer y Drush


     Paso 1 - Sacar una copia de la base de datos.

        Antes de realizar cualquier tipo de actualización en tus proyectos, es recomendable que hagan una copia de seguiridad, para evitar pérdidas de información durante el proceso, o para volver a la versión anterior, en caso de que no consigas el resultado esperado con la actualización de tus proyectos.

     Para saber cómo hacerlo HAZ CLIC AQUI

     Paso 2 - Verificar los módulos que necesitarán sera actualizados y la razón.

       Es muy recomendable revisar constantemente, el estado de tus proyectos, porque constantemente en Drupal, se añaden nuevas funcionalidades y optimizaciones en el código, y muchas de estas mejoras, están relacionadas con la corrección de fallos de seguridad. Por esta razón, es de vital importancia, que mantengas actualizados tus proyectos con Drupal, siempre que sea posible.

       Para conocer las actualizaciones pendientes en tus proyectos Drupal, puedes elegir entre dos opciones básicas.

     Informe de actualizaciones pendientes, através de la interfaz de Drupal.

       Puedes acceder al informe sobre las actualizaciones pendientes de Drupal, desde la interfaz de usuario, en la url

"/admin/reports/updates"

   

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

     Comprobar actualizaciones pendientes mediante consola.

       Otra de las maneras de comprobar los módulos que necesitas actualizar en Drupal, es a través de la consola, gracias al gestor de paquetes Composer, recomendado para cualquier instalación de proyectos Drupal, desde la versión 8.

       En el caso de conocer las actualizaciones pendientes en nuestros proyectos Drupal, nos colocaremos en la carpeta raíz, que es el lugar desde donde podremos ejecutar, en la mayoría de los casos, tanto Composer como Drush. 

        Una vez colocados allí, utilizando nuestra consola de comandos, ejectaremos la siguiente línea de código:

composer outdated

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

     Tanto si realizamos la comprobación, por medio de la interfaz de Drupal, como si decidimos realizarlo por medio de la consola de comandos, el restultado debería ser el mismo; es decir, deberíamos obtener el listado de módulos pendientes de actualizar, con las versiones instaladas en el momento de realizar la comprobación, las posibles versiones recomendadas y las notas relacionadas con dichas nuevas versiones, en el caso específico de hacerlo mediante la interfaz de usuario.

     Pero si analizamos en profundidad ambos resultados, el informe resultante desde la consola, es mucho más extenso que el de la interfaz. Esto se debe, a que, además de los módulos de Drupal que requieren actualizarse, Composer nos muestras módulos de Symfony, ya que el núcleo de Drupal está basado en este Framework desde la versión 8.

   Cómo actualizar Drupal por medio de la consola

     Si optamos por actualizar nuestro proyecto de Drupal, por medio de su interfaz de usaurio, el proceso es bastante sencillo. Aunque desde la interfaz, sólo podremos realizar actualizaciones de los módulos, no del núcleo de Drupal.

     Para realizar una actualización de los módulos de Drupal, desde la interfaz, bastará con dirigrinos a la url: "/admin/reports/updates/update" , luego marcaremos el o los módulos que queremos actualizar, haciendo clic en el check que se muestra a la izquierda de cada módulo, y a continuación, haremos clic en el botón Descargar estas actualizaciones, que podremos encontrar la final de la misma página.

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

   Actualización mediante consola, utilizando Composer

     Para realizar la actualización de nuestro proyecto Drupal, a través de la consola, utilizaremos Composer y Drush. Composer se encargará de descargar todas las dependencias disponibles, tanto de módulos de Drupal y Núcleo, como de otros componentes relacionados con Symfony. Por esta razón, es recomendable elegir este método de actualización, ya que nos mostrará más información relacionada con todo el proceso y componentes que está actualizando durante el proceso.

     El comando para actualizar todos los módulos de Drupal y su Núcleo al mismo tiempo es el siguiente:

composer update "drupal/*" -W

     El asterísco que se muestra en la barra después de la palabra Drupal, indica que deseamos actualizar todo lo que esté disponible en este momento y la -W, es el sustitutivo para la opción "--with-all-dependencies", aunque puedes utilizarla si lo prefieres. 

     Una vez terminada la descarga de todos los módulos, ejecutaremos los comando de Drush, para borrar la cache de drupal y actualizar la base de datos.

drush cr

drush updb

     En el momento que ejecutemos los comando de Drush, podremos acceder nuevamente a la url "/admin/reports/updates", donde deberíamos ver todos los módulos y el núcleo en color VERDE, indicándonos que no tenemos ninguna actualización pendiente.