Drupalízate
By Robert Menetray
El contenido central es resolver las típicas dudas que pueda tener alguien que tiene o quiere tener una web en Drupal.
A parte de resolver dudas de "clientes", también se habla de tips, recomendaciones y buenas prácticas para el Developer que recién empiezan en este mundo.
DrupalízateApr 07, 2022
Módulo ECA y como integrar Drupal con la IA
Hoy vengo a explicar 2 noticias buenas y 2 de malas.
Y de entre ellas, una es mi experiencia usando el módulo ECA. ¿Crees que ha sido buena o mala?
El link de mi módulo por si tienes curiosidad:
https://www.drupal.org/project/prompt
Link a los modulos de ECA:
https://www.drupal.org/project/eca
https://www.drupal.org/project/bpmn_io
Actualizar módulos a Drupal 10 y contribuir con la comunidad te da puntos
Hoy vengo a explicar que he actualizado mis módulos a Drupal 10, y te explico otras formas que tienes de contribuir en Drupal.org si tú no quieres tocar código.
¡Drupal 10, ya lo tenemos aquí!
Te comento las novedades, nuevos módulos, eliminación de módulos y themes viejos.
Las fechas de fin de soporte de Drupal 9 y Drupal 10.
Y como puedes actualizar desde Drupal 7, Drupal 8 o Drupal 9 a la última versión de Drupal 10.
Y también me comprometo a tener un par de cosas para principios del año que viene. Una de ellas tiene que ver con la IA.
Detectar los problemas de rendimiento y que tu web Drupal cargue rápido
Hoy te vengo a explicar como lo hago yo y las herramientas que uso yo para encontrar los problemas de rendimiento en proyectos Drupal donde la web va mucho más lenta de lo normal.
Si descartamos problemas de servidor, solo nos queda o mala configuración del Drupal o un código custom mal optimizado.
Y no siempre es fácil encontrar el problema para luego poder buscar una solución a ese problema desde la base.
Hooks en Drupal. ¿Qué son? ¿Cómo se utilizan?
Hoy te vengo a contar que son los Hooks, como y donde se usan, cuáles son las buenas prácticas, que has de tener en cuenta, y te digo cuáles son los que más uso yo en los proyectos de mis clientes.
¿En qué me afectan las novedades de Drupal 10?
Hoy te hago un resumen de las novedades que vienen en Drupal 10, que se publica en diciembre de 2022, y te explico en que te afectan a ti esos cambios con respecto a lo que tienes actualmente en Drupal 9.
¿Como instalar Drupal? Principales complicaciones y cosas a tener en cuenta
En este episodio te comento como se ha de instalar un Drupal, porque usar composer para descargar Drupal e instalarlo, y cuáles son las buenas prácticas para configurar cosas luego de la instalación.
Url oficial para descargar Drupal: https://www.drupal.org/download
Tener un podcast dentro de tu Drupal de forma automática y mejorar el SEO
Hoy os vengo a contar como de fácil es crear una nueva sección de una web.
He creado el listado de menetray.com/podcast usando el módulo Views y creando un tipo de contenido específico para ello, y luego una simple migración usando el módulo Migrate para leer el feed del podcast original en Anchor.
La gracia de todo esto es que también hay un campo para el audio transcrito (usando transcribe.webificando.com) que permite tener un texto de todo el audio.
El objetivo de todo esto es mejorar el SEO del podcast y de mi web. El futuro dirá si esto ha funcionado como esperaba o no.
¿Es caro tener una web en Drupal?
Hoy te vengo a contar los motivos principales por los que una tecnología como Drupal tiene precios distintos a otras tecnologías como WordPress.
¿Webs estaticas y desacopladas con Drupal?
Hoy respondo a una pregunta que me han hecho por Linkedin, y doy mi opinión sobre las webs estáticas y desacopladas con Drupal
Links de interés:
Generar webs estáticas con Drupal y Tome: https://www.drupal.org/project/tome
Drupal desacoplado con Next.js: https://next-drupal.org/
Twig Suggestions en Drupal
En el episodio de esta semana hablo sobre como usar Twig.
Te comparto algunos enlaces de interés: https://www.drupal.org/docs/theming-drupal/twig-in-drupal/working-with-twig-templates
Como se han de nombrar las plantillas Twig: https://www.drupal.org/docs/theming-drupal/twig-in-drupal/twig-template-naming-conventions
Añadir librerias js/css en los Twig: https://www.drupal.org/node/2456753
Módulos recomendados: https://www.drupal.org/project/twig_tweak , https://www.drupal.org/project/twigsuggest , https://www.drupal.org/project/ui_patterns y https://www.drupal.org/project/ui_patterns_settings
Solucionar y prevenir los hackeos de un Drupal
Problemas:
- Webs no actualizadas drupal 7 / drupal 8
- Footprints
- Usuarios registrados que pueden editar cualquier página, registro automático de usuarios nuevos
- Usuarios con permisos para editar twig o html/js
- Sistema de ficheros con permisos incorrectos. Formularios que permiten subir ficheros de cualquier extensión.
- Phpmyadmin/Adminer desprotegidos
- Backups accesibles para descargar
- La misma web puede alterar su código por sí misma
Recomendaciones
- Backups diarios de varios días
- Código por Git
- Tener la web actualizada
- Web en servidor independiente
- Sistema de captcha para el login/registro
Modificar código de los módulos y themes contribuidos de Drupal
En el episodio de hoy os vengo a hablar de las buenas prácticas cuando tienes que modificar código contribuido de la comunidad, y cuáles pueden ser las consecuencias de hacerlo mal.
Recomendaciones de trabajo en local
En el episodio de esta semana respondo a los entornos de desarrollo: recomendaciones de cómo montártelo, IDE, herramientas, "dockerizar o no", ...
Enlaces de interés:
Mi newsletter: https://www.linkedin.com/newsletters/drupal%C3%ADzate-6892594444076498944/
Como montarlo en Docker:
https://github.com/wodby/docker4drupal
https://escueladrupal.com/curso/ddev
https://docs.lando.dev/drupal/
IDE para programar
https://www.jetbrains.com/es-es/phpstorm/
https://www.sublimetext.com/
https://code.visualstudio.com/
Settings.php, módulos y configuraciones twig de un Drupal en producción
Hoy vengo a hablar sobre las buenas prácticas que has de seguir para tener un Drupal saludable en producción.
En este episodio solo me enfoco en el settings.php, en el debug de twig y en los módulos que no deberían estar activos en entornos que no son los de desarrollo/local.
Al final no seguir unas buenas prácticas hace que tengas una web Drupal lenta e insegura. Cosa que nadie quiere, ¿no?
Eliminar millones de entidades en Drupal: Caso PodcastVery
Hoy os vengo a hablar sobre los problemas que puedes tener en Drupal en el caso de que quieras eliminar millones de nodos de la base de datos.
¿Cuáles serian las mejores maneras de eliminar contenido de forma masiva? Hoy te lo cuento.
Escalamiento horizontal en Podcastvery
Hoy os vengo a contar todo lo que he hecho y qué problemas he tenido en convertir un proyecto Drupal alojado en un único servidor para poder separarlo en tres servidores y así poder reducir su coste y que sea mucho más escalable que antes.
PodcastVery, incumplimiento de promesas y no vacaciones
Esta semana he hecho un episodio cortito.
Es un resumen de las últimas semanas/mes, desde cuando grabé el anterior episodio. En este episodio vengo a comentar por encima lo que he hecho estas semanas y podéis intuir, más o menos, lo que voy a hablar en el siguiente episodio.
Caso Real: Podcastvery.com -> Migración y scrapear datos
Hoy vengo a contarte los problemas que estoy teniendo para obtener datos de 1.5 millones de podcasts.
Problemas en disco, bloqueos en la base de datos, motivos para no usar el módulo migrate y formas de usar comandos Drush y Cron.
Caso real: Podcastvery.com -> Search_Api
Hoy te vengo a contar como se ha configurado el Search_Api, que problemas he tenido, que cosas he aprendido y que se puede hacer para mejorar el rendimiento en la indexación usando search_api
- Elasticsearch y el límite de 10k
- Integrar el módulo Flag con Search_Api
- Search Api y rendimiento, cloudtags
- Crear processors customs
- Migracion de categorías sin publicar. Modificar facets para evitar mostrarlas
Proyecto Real: Podcastvery.com, Frontend y SEO
Hoy te vengo a contar de que va podcastvery.com , cuáles eran los requisitos y que se ha hecho en SEO y en frontend con Tailwind.
Módulos que comento en el episodio:
- https://www.drupal.org/project/social_auth_google
- https://www.drupal.org/project/twig_tweak
- https://www.drupal.org/project/twigsuggest
- https://tailwindcss.com/
- https://www.drupal.org/project/metatag
- https://www.drupal.org/project/simple_sitemap
Caso real: Webicaster.com
En este episodio te comento todo el proyecto Webicaster.com por dentro.
Búsquedas y gráficos estadísticos con ElasticSearch, uso del módulo Flags, código custom y uso de paddle.com.
Para ver las estadísticas (se cogen de una base de datos postgres y se migran a Elasticsearch) puedes verlas en:
https://webicaster.com/es/stats
Servidores y caso real: Vabiso.com
En el episodio de hoy toca responder cosas que me decís de feedback.
Hablo sobre servidores, experiencia real, como tengo yo mis servidores, donde los tengo y cuanto me cuestan.
Aquí os dejo una comparativa que hice hace tiempo sobre distintos servicios de VPS (servidores virtuales) y hay códigos de descuento por si queréis probar alguno.
https://menetray.com/blog/el-mejor-vps-mas-por-menos-hetzner-vs-digitalocean-vs-linode
Caso real: Vabiso.com
Vabiso.com es un portal de ofertas de empleo montado usando Drupal 8.
Las tecnologías básicas usadas son:
- módulo migrate + código custom para scrappear webs
- search_api + ElasticSearch + facets: para tener un motor de búsqueda muy potente
- módulos geolocation + geocoder: para los campos de latitud/longitud
- metatags + simple_sitemap: para mejoras y tener un SEO básico sin esfuerzo
Dame feedback: ¿Hablar de casos reales?
En este mini episodio te pido feedback sobre si a la audiencia os interesa escuchar sobre casos reales y saber como se han implementado esas webs, o si por el contrario, preferís hablar da cosas más teóricas.
Me puedes dejar tu feedback en:
- https://www.linkedin.com/in/robertmenetray/ o en los comentarios de la newsletter de linkedin
- O directamente en mi web https://menetray.com/contact
Típicas malas configuraciones del Core de Drupal que afectan a la velocidad de carga
Hoy vengo a comentaros un resumen de las malas prácticas que me he encontrado en muchas webs.
A revisar:
- estilos de imagen
- imágenes responsive
- renderizar los campos directamente en el twig
- no tener la compresión de css/js
- no tener activadas las caches
- tener el debug del twig activado
Como trabajo yo el frontend en Drupal
No se si se va a entender este episodio.
Básicamente es tenerlo todo ordenado y compartimentado en varios directorios y subdirectorios, y tener los nombres de los ficheros sass/twig con los nombres de los componentes.
Esto permite saber dónde está cada cosa, y poder reaprovechar el estilo visual del mismo componente en distintas partes de la web.
Bootstrap vs Tailwind
Esta es mi humilde opinión personal luego de haber usado estas dos librerías en varios proyectos.
Tener copias de seguridad: Backup and Migrate
Hoy te vengo a hablar sobre la gestión de las copias de seguridad.
Más que nada que sepas que hay varias cosas para las que has de generar un backup, y que hay varias formas de generar uno.
El módulo de Drupal del que hablo gran parte del episodio es: https://www.drupal.org/project/backup_migrate
Usar Paragraph o Layout Builder
Hoy doy mi opinión (puede que sesgada) sobre el uso de los módulos Paragraph y Layout Builder.
+ Algunos tips y recomendaciones sobre su uso.
Bots en formularios Drupal. Evítalos
Hoy quiero hablar sobre cómo evitar a los molestos bots en tu web.
Ya sea para evitar los intentos de login por fuerza bruta, o para que no envien emails usando los formularios de contacto.
Datos estructurados en Drupal
Hoy quiero hablar sobre el motivo y por el cual deberías tener los datos estructurados en una web Drupal.
Y hablo un poco de las opciones de los módulos Paragraph y Gutenberg.
Módulo Flag en Drupal
Hoy quiero hablar sobre los casos de uso de un módulo no tan conocido por todos y que te puede sacar de más de un problema, el módulo Flag.
Motores de búsqueda en Drupal: Search API vs Views
Hoy quiero hablar sobre cómo poder implementar tu propio motor de búsqueda en Drupal.
¿Es recomendable usar siempre Views?
¿El módulo Search del Core es útil?
¿Cuando se ha de usar el módulo Search API + Solr + ElasticSearch?
Me meto con los juniors
Hoy quiero criticar a esas personas que se meten a hacer proyectos en una tecnología que no saben como funciona. Spoiler: el proyecto acaba mal
Hacer migraciones/importaciones de contenido en Drupal
En este episodio te cuento por encima las dos formas más usadas para migrar contenido desde otras fuentes (csv,xml,json, bases de datos, wordpress, ...) a tu nuevo proyecto Drupal.
Theme a medida o pagar por uno genérico
Hoy quiero dejar claro para qué proyectos está pensado Drupal. Cuales son sus fortalezas y al mismo tiempo sus debilidades si tenías pensado hacer un frontend barato comprando un theme ya hecho por alguien.
Módulo Views en Drupal
Hoy toca hablar sobre uno de los módulos más usados y que mayor flexibilidad aportan a cualquier web Drupal, el módulo VIEWS.
Hoy te cuento las características básicas de Views, como configurarlo y que puedes hacer con él.
Rendimiento para webs Drupal
Hoy te vengo a explicar las bases de cómo mejorar el rendimiento en proyectos Drupal. Qué son las caches y los 4 módulos principales que has de tener en cuenta para tener tu web lo más rápida posible.
SEO en Drupal
Hoy te vengo a explicar las bases del SEO en proyectos Drupal. Los 4 módulos principales que has de tener en cuenta y las buenas prácticas a seguir para tener un SEO decentemente bueno en tu web.
https://www.drupal.org/project/pathauto
https://www.drupal.org/project/redirect
https://www.drupal.org/project/metatag
Los Deploys y como exportar e importar configuraciones entre entornos
Drupal es muy potente y está pensado para crear proyectos grandes donde es necesario tener varios entornos/servidores.
Hoy te explico cómo gestiona Drupal los cambios que realizas en las configuraciones, y como te puedes ahorrar mucho tiempo y errores humanos en los deploys a los distintos entornos.
¿Drupal en múltiples idiomas?
¿Como de dificil es hacer una web multidioma usando Drupal?
Hoy te cuento qué cosas puedes hacer, y algunos trucos para crear correctamente una web en varios idiomas.
Las entidades de Drupal
Hoy te vengo a explicar como trabaja internamente Drupal, que son las entidades, cuáles son las más comunes y que base de conocimiento es recomendable saber sobre este tema.
¿Vale la pena tener un perfil en Drupal.org?
Hoy te explico de forma resumida que es Drupal.org y que es lo que se valora cuando alguien mira un perfil de Drupal.org
Como ejemplo aquí tienes mi perfil: https://www.drupal.org/u/trebormc
Perfiles Drupal: Frontend, Backend, Sitebuilding, FullStack
Hoy hablo sobre los tres perfiles de gente que hacen falta para hacer una web Drupal.
¿Con cuál de ellos te sientes más identificado?
¿Qué es Drupal?¿Competencia de Wordpress?
En este primer episodio intento explicarte qué es Drupal, para que sirve y en qué se diferencia de Wordpress
Tráiler del Podcast Drupalízate
He visto que apenas hay contenido de Drupal en formato podcast. La idea de Drupalízate es darte los conocimientos mínimos y recomendables para que entiendas cómo se trabaja en Drupal.
El podcast está enfocado a dar respuesta a las dudas de los clientes (gente que tiene o quiere tener una web en Drupal) y ayudar con tips a la gente que quiera empezar a trabajar con Drupal (programadores junior).
Puedes hacerme llegar tu feedback contactando desde:
- Mi web : https://menetray.com
- Twitter: https://twitter.com/RobertMenetray
- Linkedin: https://www.linkedin.com/in/robertmenetray/