DC

Drupal 10 en Julio de 2024 un review desde la experiencia

julio 8, 2024

Mi experiencia con Drupal 7

Empeze a trabajar con Drupal 7 en 2023, en un sistema con varios años en funcionamiento y me gusto bastante a decir verdad. Habia escuchado hablar de Drupal pero nunca le habia prestado atencion y mucho menos nunca habia trabajado con esta tecnologia. Sin embargo arranque en este proyecto, que tenia bastantes años y fui aprendiendo bastantes cosas muy interesantes.

Cosas que llamaron mi atencion al trabajar con Drupal por primera vez:

  • Facil de expandir funcionalidades usando modules. Los modules son similares a los plugins de WordPress. Me gusto como los modules de Drupal manejan el versionado de la base de datos.
  • Facil de cambiar la manera en la que se muestran los contenidos usando themes
  • Git se integra muy facilmente en cualquier proyecto.
  • El sistema de administracion, es muy amplio, tiene muchisimas opciones muy interesantes y muy utiles.

¿Porque Drupal en 2024?

Hay muchas empresas pequeñas, medianas y grandes que tienen sistemas hechos en Drupal, por lo que sus propios usuarios, ya conocen la tecnologia, saben como funciona su sistema, lo vienen usando probablemente hace bastantes años. Entonces muy probablementeno no van a querer cambiarlo. Pero muy probablemente esas pequeñas empresas tengan que migrar a nuevas versiones de Drupal o cambiar completamente de tecnologia, lo que puede resultar en un costo muy grande.

Drupal es una muy buena opcion a la hora de tener que diseñar un sistema para un diario, una revista online, o cualquier tipo de sistema que tenga muchos tipos de contenidos, usuarios, permisos y todo lo que un sistema de contenidos puede llegar a necesitar. Es una tecnologia muy utilizada por entes gubernamentales, organizaciones sin fines de lucro, universidades, etc.

Cual CMS usar en 2024? Drupal O WordPress?

El otro gran CMS es WordPress y es mucho mas popular que Drupal. Una simple mirada en Google Trends nos arroja el siguiente resultado:

Voy a explicar un poco las ventajas/desventajas que puede llegar a tener Drupal por sobre WordPress y viceversa.

Ventajas de Drupal sobre WordPress

Drupal tiene muchisimas optimizaciones y diferentes tipos de Cache

  • Al centrarse completamente en el contenido y gracias a la manera en la que Drupal esta construido, Drupal tiene un enfoque muy fuerte en los diferentes tipos de cache que existen.
  • Tiene una excelente relacion con diferentes sistemas de cache como Redis.

Drupal tiene una customizacion excelente en cuanto a la visualizacion de sus contenidos

  • Con diferentes modulos de vistas, bloques, templates es muy facil de mostrar contenidos relacionados, contenidos de manera dinamica en Drupal.
  • Un caso de uso en el cual Drupal destaca es en el caso de un ecommerce, donde tenemos muchos tipos de vista y de templates, para el mismo producto. Porque podemos tener diferentes tipos de landing pages o diferentes tipos de promociones utilizando los mismos contenidos.

Podemos implementar Git de manera facil

A diferencia de WordPress, implementar Git en Drupal es bastante sencillo, hay muchas maneras nativas hacerlo.

Drupal utiliza componentes de Symfony

Si has trabajado con Symfony anteriormente, algunas partes del funcionamiento de Drupal te van a resultar similares a Symfony. Algunos de los componentes que se utilizan son:
1. HttpKernel
2. EventDispatcher
3. Routing
4. Utility Components

Compatible con bloques de Gutenberg

Si, los mismos que estan en WordPress tambien son compatibles para Drupal!
Mas info en el Modulo oficial https://www.drupal.org/project/gutenberg

Existen muchos modulos ya construidos

Existen muchisima cantidad de Modulos disponibles para instalar, que ya nos traen muchisimas funcionalidades, como puede ser integraciones con calendarios, Google Analytics, eCommerce, email, etc.

Drupal ofrece mayor seguridad que otros CMS

Es cierto que Drupal no tiene tantos plugins como por ejemplo WordPress, pero esto tambien es un punto importante a tener en cuenta, ya que nos va a obligar a utilizar menos modulos y depender menos de codigo ajeno, por lo que reducimos la posibilidad de que alguno de nuestros themes/modulos contenga codigo malicioso. He trabajado en muchos sitios WordPress que tenian mas de 40 plugins instalados, lo que hace muy dificil de mantener en el tiempo y muy vulnerable a ataques.

Ventajas de WordPress sobre Drupal

Hacer sitios simples con WordPress es mas sencillo

WordPress y su centenar de plugins y themes ya armados y la posiblidad de incorporar editores visuales como Elementor o Divi, lo hace muy facil y muy simple de crear, y muy rapido. Los clientes ya conocen como usarlo y les resultara amigable. En cambio Drupal, es un poco mas complejo. Drupal puede ser un mejor candidato cuando tenemos un sistema un poco mas grande o mas complejo.

Drupal tiene una comunidad mas pequeña que la comunidad de WordPress

La comunidad de Drupal es bastante activa y personalmente nunca tuve problemas en resolver algun que otro problema con Drupal, sin embargo es cierto que la comunidad de WordPress es mucho mas grande. Donde vivo actualmente (Argentina), no conozco mucha gente con experiencia en Drupal, en cambio si conozco muchos desarrolladores WordPress/Laravel, etc. Una comunidad activa puede ser un punto clave para definir si utilizar una tecnologia.


Tips y trucos de Drupal 10, notas utiles

Instalado Drupal 10

En esta oportunidad vamos a instalar Drupal en Opalstack

  1. Debemos crear un sitio en Opalstack siguiendo estos pasos https://docs.opalstack.com/user-guide/getting-started/#building-a-site.

  2. Lo primero que necesitamos es crear una base de datos, voy a usar MariaDB https://docs.opalstack.com/user-guide/mariadb-databases/#adding-mariadb-databases. Luego agregar un usuario https://docs.opalstack.com/user-guide/mariadb-databases/#adding-mariadb-users a la BBDD

  3. Instalar composer

cd ~
mkdir -p ~/bin
wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=$HOME/bin --filename=composer
rm composer-setup.php
  1. Ahora vamos a la carpeta de nuestra aplicacion y luego ejecutamos el siguiente comando para instalar Drupal composer create-project drupal/recommended-project .

  2. Ahora con nuestro navegador debemos ir a nuestro sitio y veremos el instalador de Drupal. Debemos completar los datos de acceso de nuestra base de datos y luego nuestro sitio estara finalmente instalado.

Donde encontrar la informacion de la BBDD de Drupal 10

  1. SSH o SFTP a nuestro sitio.
  2. Abrir con un editor de texto sites/default/settings.php
  3. En mi caso la informacion de conexion a la base de datos esta al final del archivo.

The website encountered an unexpected error. Please try again later.

Esto puede ser motivo de muchos errores. Lo que tenemos que hacer es activar el debugging verbose en nuestro sistema drupal para poder entender que es lo que esta fallando.

Para activar la visualizacion de errores de manera mas explicativa, lo que tenemos que hacer es ir a sites/default/settings.php y agregar la siguiente linea:

$config['system.logging']['error_level']='verbose';

I deleted one module manually what to do. The module hello_world does not exist drupal deleted manually

https://www.drupal.org/forum/support/post-installation/2019-05-16/the-module-does-not-exist

Como borrar la cache en Drupal 10

Muchas veces no entendemos porque nuestros cambios no se muestran en nuestro sitio web. Recordemos que cuando hacemos cambios en formularios, rutas, endpoints, menus, debemos borrar la cache de Drupal 10.

Para poder borrar la cache debemos hacer lo siguiente:

Metodo 1, desde el administrador de Drupal

  1. Debemos estar logeados en nuestro sitio como administrador.
  2. Luego debemos ir a Manage -> Development -> Performance -> Clear all caches.

  1. Listo! Deberia aparecernos un mensaje de confirmacion como el siguiente:

Metodo 2, desde la consola usando drush

  1. Nos situamos en nuestro directorio, voy a hacer cd/mi_proyecto
  2. Una vez dentro ejecutamos drush cr
  3. Listo!

    En mi caso estoy usando DDEV que es un software que me ayuda a dockerizar mis aplicaciones de drupal, entonces tengo que usar ddev antes de cualquier comando de drush.

Como editar un contenido si no encontramos el boton “Edit” a simple vista

  1. CTRL+SHIFT+I
  2. CTRL+F
  3. Buscamos “/edit”
  4. El ultimo resultado
  5. Cliqueamos
  6. probablemente nos permita editar nuestro contenido

Instalar modulo con url drupal

https://www.drupal.org/docs/user_guide/en/extend-module-install.html

Test drive at

https://www.drupal.org/docs/getting-started/understanding-drupal/overview-of-drupal#undecided


Conclusiones y futuros contenidos

Conclusiones

Drupal es una excelente alternativa para construir sitios que dependan de muchos tipos de contenidos, diferentes usuarios, permisos, diferentes equipos, etc.

Va a haber cosas que podamos hacerlas con WordPress pero en cierto punto WordPress quizas no sea suficiente.

Basandome en mi experiencia WordPress es utilizado para sitios que no tienen mucha personalizacion o que son sistemas bastante sencillos.

Drupal nos permite trabajar en equipos mas grandes y nos permite tener un control de versiones mucho mas desarrollado, una sistema de cache muy completo y complejo y nos permite desarrollar sistemas basados en contenidos bastante mas robustos.

TODOLIST

  • Añadir informacion sobre Pantheon.io como hosting para Drupal.
  • Añadir informacion sobre DDEV.
  • Añadir informacion sobre certificados de Drupal.

Contenido relacionado

Desarrollo remoto 1

En este seminario buscamos en dos horas poder enseñarle a una persona a crear su sitio web, aprender lo básico de Drupal y cómo usamos HTML y CSS, cómo cargamos...

Crear vistas en Drupal 10 (Views Module)

Views es un modulo que nos sirve para mostrar contenidos que provienen de nuestra base de datos, con diferentes formatos, filtros, estilos, orden, cantidad. Son basicamente una Query SQL. En...