Entrevistando a Gnuget, drupalero mexicano.

imagen

Fotografía de Karim Boudjema

Le hicimos esta entrevista a uno de los programadores de Drupal más destacados que tenemos en el país. Como lo mencionamos en otros posts, Gnuget ayudó a migrar los contenidos de drupalmexico.

Gnuget ¿A qué te dedicas? ¿Qué haces con Drupal?

Mi nombre es David Valdez, soy desarrollador web desde hace 16 años y la última década me he dedicado a realizar webs usando Drupal y contribuyendo al proyecto tanto como al Core resolviendo bugs o manteniendo módulos contribuidos

¿Cómo te involucraste en Drupal?

Hace una década comencé a trabajar en una empresa de desarrollo en la Ciudad de México llamada Astrata, entré en un proyecto donde estaban usando la versión 6 del CMS y ese fue mi primer acercamiento a Drupal, durante el tiempo que trabajé ahí realizamos diversos sitios y un par de años después terminé en el Drupal Summit Latino en el año 2012 que se realizó en Guadalajara, fue ese evento el que me hizo decidirme a especializarme e involucrarme de una manera más seria en el desarrollo de Drupal.

 

¿Trabajas como Freelance o con alguna compañía?

Actualmente pertenezco a una cooperativa llamada Agaric estamos distribuidos en varios países, damos trainings, desarrollo de sitios y migramos sitios.

Se puede leer más acerca de nosotros aqui: https://agaric.coop/about-agaric

¿Cómo migraste de Drupal 7 a 8?

Drupal 8 requirió mucho trabajo y tiempo de desarrollo, gran parte fue reescrito para adoptar más proyectos de PHP y no reinventar la rueda, al final terminó con muchas cosas nuevas que uno tenía que aprender, dado que había decidido involucrarme en el desarrollo se me hizo muy atractivo comenzar directo en la versión 8 del proyecto y fue que desde antes de que hubiera un release estable de Drupal 8 comencé a revisar issues y a resolver bugs dentro del CMS mientras iba aprendiendo las nuevas funciones del CMS.

Mis primeras contribuciones a Drupal 8 fueron a ayudar a migrar los templates a Twig.

¿Qué tipo de trabajo haces más con Drupal? ¿Temas? ¿Módulos? ¿Core?

Principalmente en mi trabajo desarrollo módulos custom y cuando se puede contribuir escribo fixes y parches para módulos contribuídos, muy rara vez me encuentro con bugs en Core pero a veces pasa y trato de ayudar a resolverlos.

También mantengo algunos módulos contribuidos, reviso parches y los subo.

¿Qué cambia en el desarrollo de sitios en Drupal 7 a Drupal 8? ¿Qué tiene que aprender o cambiar un programador para pasar de trabajar de una a otra versión?

Drupal 8 usa herramientas que son muy populares en el ecosistema de PHP actual, entre esas herramientas destacan:

Sé que aportas código a muchos proyectos en Drupal ¿Esto lo haces como parte de tu trabajo o es algo que haces de manera personal?

Ambos, si encuentro un bug en un proyecto que al final está en un módulo contribuido entonces el fix termina como contribución, pero las contribuciones al core, las mentorías y los módulos que mantengo son en mi tiempo libre.

También participas ayudando a la gente para que empiece a contribuir ¿Puedes platicar un poco sobre cómo lo haces y cuál es la importancia de ayudar a otros programadores?

Normalmente ayudo en la Issue queue de Drupal (y me siento muy afortunado que una de mis code reviews terminó siendo mencionado en la Keynote en el DrupalCon Seattle enfrente de 3 mil personas) , en un grupo de Facebook o en ocasiones directamente a programadores de la comunidad.

Drupal está lleno de retos, a todos nos cuesta al inicio yo por fortuna tuve algunas personas que me ayudaron en el camino, busco retribuir esto con los que vienen atrás de mi.

Estamos a punto de que salga Drupal 9 ¿Ya lo has usado? ¿Qué cambia con respecto a Drupal 8?

Estas ultimas semanas he estado usando Drupal 9 para migrar mis módulos a esta nueva versión, no hay cambios radicales contra Drupal 8, salvo que todas las APIS que han sido marcadas como "deprecated" los últimos 4 años van a ser borradas, si tu módulo o proyectos tratan de usar las APIs recomendadas (no deprecated) la migración debería de ser transparente y sería casi como saltar de una versión menor de Drupal 8.


Algunas preguntas sobre la migración de drupalmexico.com

¿Cómo inicias una migración de un sitio hecho en Drupal 7 a 8?

Lo principal es tener claro qué queremos hacer, qué información se va a migrar, cual no, en el caso de ser de una versión anterior a Drupal qué módulos contrib se usaron, si tienen versión de Drupal 8, en caso de que no tengan decidir que vamos a hacer esa información, si se va a usar un módulo diferente o si de plano esa info se queda en el sitio viejo.

Una vez planeado de dónde viene la información y a dónde va, lo siguiente es comenzar a escribir la migración (que son archivos YAML) para que Drupal pueda hacer la migración por nosotros.

En este caso ¿Qué tan complicada fue la migración de drupalmexico?

Por fortuna el módulo para hacer migraciones en Drupal ha madurado mucho y hoy en día tiene una herramienta para generar la configuración de la migración de versiones anteriores de Drupal a Drupal 8 incluso tiene una interfaz que permite configurar los accesos al sitio en Drupal.

¿Qué módulos se usaron para esta migración?

Se usaron los siguientes módulos:

  • Drupal Update
  • Migrate
  • Migrate Drupal
  • Migrate Drupal UI
  • Migrate Plus
  • Migrate Tools

Y se creó un módulo custom para migrar cosas especificas del sitio.

¿Por qué se desarrolla un módulo cada que se hace una migración?

En el Caso de Drupal México se creó un módulo custom para dos cosas:

  • Almacenar toda la configuración que Drupal necesita para saber dónde va cada cosa, en esta configuración le decimos a Drupal que queremos que el contenido de Drupal 7 lo mueva a cierto lugar en Drupal 8 y esta configuración es muy
    flexible, si queremos convertir un campo select con muchos valores a un vocabulario y que cada valor del campo sea en Drupal 8 una tag o un término de taxonomía es posible hacerlo desde aquí.
     
  • Ajustar cosas que no vienen predefinidas en el Core y son específicas del sitio, por ejemplo Drupal México usaba Embedded Media Field para mostrar los videos en el sitio y al no tener una versión para Drupal 8 decidimos guardar los videos en un campo de texto.

¿Qué tipo de ambiente local usas para hacer la migración?

Para el desarrollo usé DDEV que a su vez usa Docker y de IDE estuve usando PHPStorm.

Drupalmexico es un sitio de contenido ¿Existe alguna diferencia en migrar un sitio de contenido y otro que sea una aplicación, por ejemplo una tienda en línea?

Sí, cada sitio es especial y requiere sus propias consideraciones, en el caso de Drupal México la migración fue rápida pues venía de una versión anterior de Drupal y usaba módulos muy populares y muchos que ya están en el Core en Drupal 8, migrar un sistema no basado en Drupal o una tienda en línea requeriría una mayor planeación y desarrollo.

Añadir nuevo comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.

HTML Restringido

  • Etiquetas HTML permitidas: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.