La Drupal Camp en Sevilla se ha terminado y ya hemos vuelto a casa, pero los recuerdos y conocimientos aprendidos aún nos acompañan.
Quiero empezar expresando mi sincero agradecimiento a todas las personas que hicieron posible este evento. Esta reunión es el resultado de la dedicación de la Comunidad Drupal y especialmente de algunos de sus miembros y los resultados han sido realmente buenos.
La foto de grupo de la Drupal Camp 2023 de Sevilla.
El Business Day
Desde hace varias ediciones, el primer día de la Drupal Camp ha sido el Business Day. Está orientado a conocer a otras empresas y organizaciones que utilizan Drupal para tratar de establecer sinergias y otras interacciones. En esta ocasión, éramos casi 30, muchos más que el año pasado. Hablamos sobre el propio Business Day y Drupal a través de preguntas como: ¿Vale la pena el Business Day? ¿Qué podemos hacer para mejorarlo y aumentar la participación con Drupal? ¿Qué propuestas podemos aportar? Nos dividimos en grupos pequeños, y aunque hubo una puesta en común solo recordar con cierta claridad lo que hablamos en mi grupo: sí, el Business Day vale la pena; necesitamos atraer a más clientes y organizaciones que usen Drupal y debemos atraer a más desarrolladores a Drupal, y creemos que hay un agente neutral que puede impulsar estas iniciativas: la Asociación Española de Drupal. Realmente creo que están haciendo un buen trabajo, todo trabajo voluntario, y lo hacen por el bien de Drupal. Veamos en un futuro próximo que iniciativas pueden impulsar.
Asistencia al Business Day.
Las charlas
Se propusieron alrededor de 90 sesiones, tantas que la organización decidió abrir otro track, de 3 a 4, para dar cabida a más charlas. Sin embargo, no fue posible incluir todas las propuestas y muchas sesiones quedaron excluidas. Me gustaría agradecer a las personas que se tomaron el tiempo para presentar sus propuestas, que estoy seguro de que eran excelentes, pero lamentablemente los recursos son limitados y no se pudo ofrecer más.
Como he hecho en eventos similares, me gustaría destacar algunas de las sesiones de las que tengo información. Esto no significa que sean las mejores, porque no pude asistir a todas, pero creo son alguans de las que merece la pena verlas si te las perdiste una vez que los videos estén disponibles.
Drupal DevOps 101: Customiza tu Drupal como una Harley
Presentada por Zequi Vázquez, esta sesión sirvió como una perfecta introducción a las necesidades de infraestructuras web para Drupal, comentando los sistemas adicionales típicos que se pueden integrar en el stack de un sitio para mejorar el rendimiento, la monitorización, las alertas, las pruebas automáticas o mejorar el proceso de despliegue. Aunque no se entró en detalles de cada uno de los sistemas mencionados, probablemente porque hacerlo requeriría varias horas, la sesión destacó todos los componentes que puedes necesitar a medida que crece tu infraestructura. Este crecimiento puede ser en términos de complejidad, requisitos, visitantes y aseguramiento de la calidad. Si no sabes mucho sobre este tema y estás buscando una guía, definitivamente deberías ver esta sesión. Y si ya estás familiarizado con él, es posible que aún descubras algo nuevo.
Diseño basado en componentes usando Single Directory Components (SDC)
En esta sesión, Ignacio Díaz-Roncero nos habló de los Single Directory Components (SDC), la nueva forma de declarar componentes de core de Drupal. SDC permite, al igual que otros frameworks como Angular, Vue o Svelte, declarar componentes web utilizando un solo directorio. Dentro de la carpeta se colocan todos los archivos necesarios: Twig, YAML, CSS, JavaScript, etc. SDC generará automáticamente una librería de Drupal para el componente, por lo que todo es muy automático.
SDC empouja a los desarrolladores frontend a trabajar de una manera más agnóstica de Drupal: todas las partes de los componentes están en un solo directorio (compartible y forkeable), se usan schemas estrictos para los datos y, como resultado, los patrones de composición y reutilización son mucho más fáciles de implementar y parecen más naturales.
Además, los componentes se declaran de manera estándar como plugins de Drupal. Esto permite descubrir y listar los componentes, acceder a sus metadatos y propiedades (todos los datos que utiliza un componente se declaran y tipifican) e integrarse con Storybook y similares
Aunque el módulo aún está marcado como experimental, se está pasando al core de la misma manera que cualquier otro componente estable del propio core. Ya issues para utilizarlo en el tema Olivero y el perfil de instalación demo Umami. ¿Quieres ayudar mientras aprendes cómo funciona? Echa un ojos a las issues y mira a ver si puedes colaborar.
Sin embargo, existen algunas áreas de mejora. Por ejemplo, extender componentes puede ser complicado. Actualmente se tiene que copiar (forkear). Puedes ver esto como una limitación o una feature. Lo que está claro es que esto SDC se va a convertir en un nuevo estándar en Drupal, y hay muchas expectativas sobre las posibilidades que se abren con SDC.
One doesn't simply walk into a management position -what I learned during my journey from dev to CTO
En su presentación, Manuela Meier compartió su viaje personal desde ser una desarrolladora backend hasta alcanzar el cargo de CTO. La sesión adoptó un enfoque muy humano, abordando temas como el como lidiar con los miedos propios y superarlos, el apoyo que recibió de su entorno y los desafíos adicionales que enfrentó debido a ser mujer. Por ejemplo, mencionó cómo en algunas reuniones a veces la gente no pensaba que era la CTO de la empresa, destacando los sesgos a los que a menudo se enfrentan las mujeres. Esto sirve como ejemplo de los muchos sesgos que las mujeres tienen que enfrentar aún hoy en día, y aunque la Comunidad Drupal se caracteriza por su activismo en cuanto a la inclusividad y la diversidad, todavía hay mucho trabajo por hacer en este sentido.
Visual Layout Suite para site builders con gran ambición (ambitious site builders)
Visual Layout Suite es un módulo desarrollado por Metadrop que mejora drásticamente la experiencia editorial. Basado en Layout Builder y gracias a otros módulos contribuidos y a su propia magia, lleva la funcionalidad del core al siguiente nivel. Profundamente integrado con Drupal, permite utilizar prácticamente cualquier tipo de contenido (textos, imágenes, campos de contenido, bloques, vistas, etc.) sin depender de temas, perfiles, servicios externos o un conjunto limitado de funcionalidades de Drupal. Altamente visual, ofrece una vista previa en vivo, numerosos componentes personalizables, incluyendo un carrusel, y la capacidad de crear nuevos componentes y diseños sin necesidad de programación.
Estamos seguros de los beneficios de este módulo, y después de esta Drupal Camp, estamos encantados la respuesta tan positiva que hemos visto. Queremos expresar nuestro agradecimiento por el apoyo y los comentarios positivos que hemos recibido.
Había un montón de gente en la charla de la VL Suite.
No solo eso, esta semana un artículo sobre la última versión de la Visual Layout Suite aparece destacado en The Drop Times: VLSuite 1.1.0-rc4 Release Elevates Drupal Layout Builder Experience. ¡Gracias!
El artículo sobre la versión 1.1.0-rc4 de la VL Suite en la portada de The Drop Times.
Estrategias de testing en aplicaciones gigantes
Presentada por Andrea Natalia Naranjo Chávez y Amanda Ramírez, esta sesión compartió una estrategia para integrar pruebas automatizadas en una aplicación a gran escala, cubriendo muchos aspectos de esta tarea, desde el desarrollo de los tests hasta la gestión de todo el proceso. Hablaron de una herramienta bastante interesante, Playwright, de la que no había oído hablar. Permite realizar pruebas end-to-end de aplicaciones web utilizando DevTools Protocol en lugar de WebDriver. Mientras que WebDriver permite controlar un navegador, lo hace a través de una capa intermedia, el controlador (driver), que oculta ciertos detalles del navegador al script de prueba. Por ejemplo, WebDriver carece de conocimiento sobre el estado interno del navegador, lo que impide que el script de prueba acceda a información como el código de estado de una petición HTTP o la disponibilidad de elementos en la página. Por su lado, DevTools Protocol proporciona acceso interno al navegador, lo que permite nuevas funciones que no están disponibles en WebDriver. Y se supone que es más rápido. DevTools Protocol está disponible en todos los navegadores modernos (esto no incluye a Internet Explorer 11, tu tiempo hace tiempo terminó).
Por cierto, el DevTools Protocol no es el último recién llegado: ese honor le corresponde a WebDriver BiDi. Este protocolo tiene como objetivo combinar las características de ambos mundos, pero de momento es un borrador. Eso sí, los navegadores ya lo están implementando, con Firefox a la cabeza, mientras que Safari apenas se puede decir que ha comenzado.
Otras charlas
Hubo muchas otras sesiones que estoy seguro fueron muy interesantes. La sesión de Jonathan Araña Cruz sobre pruebas de carga probablemente ofreció información sustancial en este tema. O la charla de Alvaro J. Hurtado Villegas sobre PHPStan, que muy seguramente ayudará quien aplique lo enseñado a mejorar sus módulos gracias al análisis estático de código.
También hubo sesiones centradas en la Comisión Europea, una organización que hace un fuerte uso Drupal, y así como una sesión que profundizó en Mautic, donde seguro se discutió la combinación de Mautic y Drupal para la creación de la primera y única Digital Experience Platform (DXP) de código abierto.
Y no puedo dejar pasar las sesiones de mis compañeros y la que di yo mismo, que abordan diversos aspectos, como el proceso de QA, las mejores prácticas para los gerentes que lidian con la complejidad y el workflow del Form API. Dejo aquí los enlaces a las diapositivas de estas presentaciones a continuación:
La Comunidad Drupal está en plena forma
La Comunidad Drupal de España está experimentando una muy buena recuperación después de la pandemia, y este año se nota que la actividad está floreciendo. Los planes para la próxima Drupal Camp en Benidorm el próximo septiembre ya están en marcha. El entusiasmo entre los miembros de la comunidad fue palpable durante la Camp. Alguien mencionó que la Drupal Camp del año pasado de otro país europeo solo tuvo 60 asistentes, mientras que la Drupal Camp España ha atraído a alrededor de 300 personas. Es muy relevante además destacar que se hubo muchas caras nuevas, a pesar de las dificultades que atraviesan las comunidades tecnológicas para atraer nuevos integrantes. Y creo que podemos esperar algunas sorpresas interesantes para el próximo año, estoy convencido.
La Asociación Drupal de España celebró también su asamblea al final de las sesiones. Me gustaría destacar un punto crucial: el número de miembros aumentó respecto al año pasado. Si quieres apoyar a la Comunidad Drupal de España, por favor, considera hacerte socio. Son solo 10€ al año, pero envía un gran mensaje de apoyo a las personas que dedican su tiempo libre a mejorar la Comunidad y seguir adelante.
Lo que no estaba planeado
Mucho ocurre durante una Drupal Camp es, por supuesto, imprevisto. Y esa es una parte muy interesante, lo que pasa en los pasillos, el los césped y también en los restaurantes y los bares.
Hubo un BoF sobre rendimiento, caché y Drupal en el que se habló de Varnish, Big Pipe, Dynamic Cache y algunos trucos para lidiar con usuarios registrados. Fue tan interesante y al mismo tiempo tan breve que estamos planeando continuar otro día.
Otro BoF se centró en el fomento las comunidades locales, ofreciendo una oportunidad para el intercambio de ideas con miembros de la comunidad portuguesa. También me enteré sobre el estado de CKEditor 5, incluyendo decisiones de diseño y ciertas limitaciones, así como los desafíos asociados con la extensibilidad de componentes específicos en CKEditor. La cosa puede estar complicada. Si has tienes muchas personalizaciones en tu CKEditor 4, prepárate para realizar un trabajo significativo para adaptarlo a CKEditor 5.
El BoF sobre rendimiento. Foto de Jesús Sánchez Balsera.
La Drupal Camp terminó hace solo unos días pero ya estoy pensando en la próxima. ¡Nos vemos allí!