Los Drupal Dev Days de este año 2023 han terminado hace 10 días y han sido una gran experiencia.
Pero primero permitídme explicar lo que sucede durante unos Drupal Dev Days para quienes que no han estado nunca allí. Es básicamente como una Drupal Camp, pero con una asistencia mucho más amplia en cuanto a variedad que una Camp ya que no es un evento local sino internacional.
Por lo general, hay muchas sesiones hablando de muchos temas diferentes y no sólo sobre Drupal, como se puede ver en la selección de charlas que hay más abajo. Las sesiones se escogen entre todas las personas que envían una propuesta de sesión antes del evento. Es decir, las sesiones provienen de cualquier persona de la propia Comunidad Drupal o de otras personas interesadas en el evento que quieran compartir sus ideas, experiencias o conocimiento. Aunque hay grandes nombres en las ponencias, estos eventos siempre cuentan con ponentes que no son personas conocidas y hasta puede que sea la primera vez que dan una charla. Drupal es conocido por tener una comunidad muy abierta y acogedora y nos encanta que venga gente nueva a disfrutarla.
Foto oficial de grupo de los Drupal Developer Days Viena 2023, por Nico Grienauer.
Aparte de las sesiones, hay algo muy importante en estos eventos: las salas de contribución. Son salas preparadas para unirte con tu ordenador y trabajar en Drupal con parches, ideas o diseños. Aquí, por ejemplo, puedes encontrar gente de las diferentes iniciativas estratégicas de Drupal que están trabajando para sacarlas adelante. Puedes unirte a ellos ayudando en cualquier iniciativa, ya sea simplemente probando parches, haciendo triaje de bugs o contribuyendo o mejorando parches para resolver bugs abiertos. Claro, esto también se puede hacer desde casa, pero aquí la dimensión humana se abre: se puede discutir cara a cara con personas profundamente involucradas en el desarrollo de Drupal y de sus partes más relevantes, aprender de ellos y en general ayudar a definir el futuro de Drupal.
Sala de contribución; en este momento solo la Bug Smash Initiave ha reclamado una mesa. Foto de MrTinto.
Las charlas
Hubo muchas y muy buenas charlas. Si bien se pueden ver todas en la lista de YouTube hecha pública por Drupal Austria me gustaría destacar algunas de ellas. No son necesariamente las mejores ni tienen por qué ser las más recomendables, principalmente porque lógicamente no pude asistir a todas las sesiones y solo tengo información de algunas, pero creo que las que destaco merecen la pena.
Están agrupadas en diferentes temas.
Las inteligencias artificiales y sus demonios
Por supuesto, toca hablar de las IA. Es el tema de moda, es imposible escapar de él hoy en día. Aunque hubo algunas charlas sobre la generación de contenidos con la ayuda de las IA, sorprendentemente no hubo ninguna charla sobre la generación de código mediante IA (o yo no soy consciente de ello). Creo que hubo un BoF sobre el tema pero me lo perdí (por favor, si estuviste allí cuéntame como fue). Pero me gustaría apuntar en otra dirección, gracias a dos de las sesiones que vi. Y esta dirección son las IA y el sesgo, la discriminación y otros terroríficos resultados de su uso.
Preston So, en su keynote, habló sobre máquinas, humanos e IA, pero uno de los puntos más interesantes es cómo introducimos nuestros propios prejuicios, o los prejuicios de la sociedad, en los fríos y calculadores sistemas automáticos que estamos construyendo, con ejemplos reales de sus consecuencias. Y esto es invisible para mucha gente porque no sufren esas consecuencias. De momento, me atrevería a decir.
Creo que es algo a tener muy en cuenta para el futuro. Carina Zehetmaier se centró en esto mismo, dando más detalle sobre este tema en su sesión When AI Takes Decisions For Us - From Algorithmic Bias to Discrimination in the World, profundizando en esos posibles escenarios en los que las máquinas toman decisiones en lugar nosotros los humanos. Por supuesto, esto también puede traernos y nos trae beneficios, pero tiene algunas implicaciones de las que es mejor ser conscientes.
Desarrollo con Drupal
Si lo que te interesa de este artículo es la parte más técnica entonces has llegado a la sección adecuada. Por supuesto, hubo unas cuantas sesiones para profundizar en las interioridades de Drupal. Vamos con ellas.
Sascha Grossenbacher, más conocido como Berdir en Drupal.org, dio tantos detalles sobre las entidades en su sesión que su charla debería ser una referencia a la hora de lidiar con ellas. No es una charla para ver sin más, merece la pena tomar notas y volver a verla cada vez que necesites un repaso sobre las entidades.
Álvaro Hurtado nos contó por qué Module Builder debería estar entre tus herramientas si desarrollas módulos propios. Me permito hacer un spoiler: es aún más inteligente que el ya impresionante comando generate de Drush. Module Builder es capaz de generar código a la medida de tu proyecto porque escanea y analiza el código. Merece la pena probarlo. Por cierto, la charla iba a ser dada originalmente por joahcim, el mantenedor del módulo, pero no pudo venir a Dev Days y Álvaro fue el encargado de mostrar las maravillas de Module Builder en su nombre.
La sesión sobre DDEV por Miro Michalicka que es perfecta para aquellos que aún no lo han usado y quieren hacerlo. DDEV hace el desarrollo local mucho más fácil gracias a Docker y todos los comandos y funcionalidades que proporciona, incluyendo recetas para muchas configuraciones locales, no sólo para Drupal. Llegados a este punto debo decir que aunque DDEV me parece una herramienta impresionante, mi opción personal es otra. En Metadrop hemos creado Drupal Boilerplate, basado en Docker4Drupal, que resuelve el mismo problema: disponer un entorno local funcionando con unos pocos comandos. Comparado con DDEV, proporciona directamente y con un solo comando de composer
un entorno más a medida para Drupal, incluyendo varias herramientas de testing como Behat o BackstopJS ya configuradas, análisis estático de código o documentación del proyecto gracias a MkDocs, sin faltar por supuesto una infraestructura Docker. Para el futuro, una idea es permitir el uso de DDEV con nuestro boilerplate, pero por el momento es sólo una idea simplemente esbozada.
xjm presentó una sesión sobre revisión de código basada en su larga experiencia como core committer desde 2015 y revisora de parches del core de Drupal desde 2011. Considero que la revisión de código es una práctica de desarrollo muy recomendable si no imprescindible y esta charla deja claro por qué es así: cohesiona equipos, fomenta el compartir el conocimiento del proyecto, sirve como un muy buen aprendizaje para los perfiles junior y, como no, detecta los problemas antes de que lleguen a producción con un coste relativamente bajo. No sólo nos cuenta por qué es una buena práctica de desarrollo, también nos habla de cuándo la revisión de código es eficaz y cuándo no lo es, cómo estructurar los cambios para una mejor revisión de código y apunta algunas herramientas automáticas para ayudar en la misma.
Termino esta sección con mi propia charla. Siento el autobombo, pero sinceramente creo que esta charla puede ayudar enormemente a lidiar con formularios complejas utilizando el Form API de Drupal. En esta sesión explico el flujo del Form API, desde un flujo simplificado para entenderlo hasta el flujo completo con todos los detalles más importantes, incluidos los formularios AJAX o los diferentes puntos donde modificar un formulario durante su ciclo de vida.
Presente y futuro de Drupal
Siempre hay sesiones sobre el estado actual de Drupal y especialmente sobre cuál es su futuro. Vamos a empezar con la charla de Gábor Hojtsy sobre las iniciativas Drupal: qué son, cómo se organizan y financian, como se gestó la idea de las iniciativas e información sobre las actuales y futuras iniciativas.
¿Ganas de más? No hay problema, hubo varias sesiones centradas en algunas de las iniciativas. Por ejemplo, la charla sobre el futuro Dashboard de Drupal So I logged in, now what? The Dashboard initiative welcomes you, o la que trató sobre las próximas mejoras en la interfaz de administración (la verdad es que se está haciendo un gran trabajo) o el estado actual de las Automatic Updates.
Me gustaría detenerme en la sesión Drupal 10: What’s New and What’s Next de Lauri Eskola. Muy involucrado en el desarrollo del core, Lauri habló sobre el foco actual, o al menos uno de los focos más importantes para Drupal: mejorar la experiencia del usuario en general y la experiencia del editor de contenidos en particular. Drupal cuenta con un potente sistema de gestión de contenidos, que permite modelos de contenido ricos y complejos, ya sea mediante la interfaz gráfica de usuario o como framework. Sin embargo, los editores además necesitan una interfaz más sencilla e intuitiva. Varias iniciativas intentan solucionar este problema, y en el reciente concurso de innovación Pitch-burgh, dos proyectos seleccionados están relacionados con la mejora de esta experiencia editorial. Como dijo Dries Buytaert, Drupal es para ambitious site builders y la comunidad Drupal está esforzándose para que así sea con todas sus consecuencias. En su charla, Lauri menciona esto alrededor del minuto 26, diciendo "estamos investigando cómo modernizar la experiencia de construcción de páginas" basada en Layout Builder. Y es aquí donde quiero presentar Visual Layout Suite, un módulo que hemos desarrollado para uno de nuestros clientes con esta idea en mente. Creemos firmemente que el VLSuite es apunta en una buena dirección para mejorar la experiencia de edición de contenidos. La gente de Drupal Dev Days seleccionó esta sesión en la que mi compañero Cristian Aliaga presenta y explica los detalles de la VLSuite. Yo también estoy en la charla, pero sólo como apoyo, todo el trabajo duro lo hizo Cristian. La VLSuite pretende resolver o reducir este problema con una solución basada en Layout Builder, sin dependencias de themes, distribuciones o servicios externos y compatible con los enfoques actuales del core.
Miscelánea
Paolo Mainardi presentó una charla titulada What is the secure software supply chain and the current state of the PHP ecosystem que me encantó. Aunque esta charla no es directamente sobre Drupal es muy interesante desde el punto de vista de la seguridad, incluyendo cómo asegurar cadenas de suministro o supply chains.
Como he dicho antes, hubo muchas charlas y seguro que me perdí alguna más que me hubiese gustado, pero estas que resalto aquí creo que son interesantes de alguna u otra forma. Y me permito de nuevo terminar enlazando la charla de otro compañero, Omar Lopesino, sobre el uso de Drupal como backend para aplicaciones móvil complejas, en este caso para iOS. El proyecto cuenta con in-app purchases de Apple, entre otras características, y fue un buen desafío. Omar comparte información creo que bastante relevante para quien esté desarrollando proyectos similares en su sesión Build Feature-Rich Apps with a Robust Backend Solution using Drupal.
¡Esto es todo! El próximo gran evento es la DrupalCon en Lille, un evento mucho más grande con una audiencia mucho más amplia. Es, por desgracia, mucho más caro que Drupal Dev Days, por lo que el esfuerzo para asistir es demasiado alto para muchas personas e incluso empresas. Sin embargo, si puedes asistir encontrarás un evento muy interesante con muchas de las cosas buenas que creo que puede ofrecer un Drupal Dev Days.