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
-
Debemos crear un sitio en Opalstack siguiendo estos pasos https://docs.opalstack.com/user-guide/getting-started/#building-a-site.
-
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
-
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
-
Ahora vamos a la carpeta de nuestra aplicacion y luego ejecutamos el siguiente comando para instalar Drupal
composer create-project drupal/recommended-project .
-
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
- SSH o SFTP a nuestro sitio.
- Abrir con un editor de texto sites/default/settings.php
- 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
- Debemos estar logeados en nuestro sitio como administrador.
- Luego debemos ir a Manage -> Development -> Performance -> Clear all caches.
- Listo! Deberia aparecernos un mensaje de confirmacion como el siguiente:
Metodo 2, desde la consola usando drush
- Nos situamos en nuestro directorio, voy a hacer
cd/mi_proyecto
- Una vez dentro ejecutamos
drush cr
- Listo!
En mi caso estoy usando DDEV que es un software que me ayuda a dockerizar mis aplicaciones de drupal, entonces tengo que usarddev
antes de cualquier comando de drush.
Como editar un contenido si no encontramos el boton “Edit” a simple vista
- CTRL+SHIFT+I
- CTRL+F
- Buscamos “/edit”
- El ultimo resultado
- Cliqueamos
- 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.