Contribuyendo a Drupal aunque seas principiante

5 minutos

Drupal por ser un proyecto de código abierto es mantenido por una comunidad donde todos de acuerdo a nuestra especialidad y nivel de experiencia podemos aportar.

Este artículo se enfoca en los conceptos que debemos conocer y la formas en que podemos contribuir siendo programadores, espero mostrarte que aunque lleves poco tiempo usando Drupal algo puedes aportar.

Voy a mantener muchos términos en inglés porque personalmente pienso que muchas traducciones son confusas y además porque es en el idioma en que encontraras todas esas cosas.

Tu perfil en Drupal.org

Antes de cualquier otra cosa lo primero que necesitas es crear tu usuario en drupal.org, para ir directamente a la página de registro haz clic aquí.

Con tu usuario podrás participar en el mejoramiento del core, módulos contribuidos por otros usuarios y también contribuir tus propios módulos, lo bueno de esto es que todas tus colaboraciones quedan acreditadas a tu nombre y opcionalmente al de tu empresa también, para dar reconocimiento a quienes dedican su tiempo para colaborar.

¿Qué es un issue?

Cada vez que alguien encuentra un problema o quiere sugerir una mejora en el core o algún módulo contribuido puede hacerlo por medio de un issue, cada módulo de Drupal tiene una sección de issues donde puedes ver el historial, esto permite que todos participemos de forma organizada en la resolución de cada problema o mejora requerida.

¿Cómo crear un issue?

Primero puedes ir a la página del proyecto que tiene el problema o del que quieres proponer la mejora, estando en esa página encontraras al lado derecho un bloque cuyo título comienza con "Issues for ..." que se ve así:

Issues for domain group

Lo mejor que puedes hacer inicialmente es usar la opción de búsqueda para ver si ya existe algún issue relacionado, así que escribe algo que tenga que ver con el issue que quieres crear, puede ser parte de un error que te apareció al usar un módulo.

Después has clic en "Search" y esto te llevará al listado de issues que coinciden con tu búsqueda, en caso de no encontrar ninguno o que del listado ninguno sea como el que quieres crear entonces puedes hacer clic en "Create a new issue", este enlace aparece en la parte superior del listado.

Create new issue

Esto te mostrará el formulario para crear un nuevo issue, en el que debes llenar los siguientes datos:

  • Category: Esto sirve para clasificarlo y las opciones disponibles son:
    • Bug report: Si es un error que te aparece en el sitio mientras usas funcionalidades del módulo o algo que no funciona como el módulo dice que debería.
    • Task: Estas son tareas que normalmente se asignan los mantenedores del proyecto como parte de alguna mejora o nueva versión.
    • Feature request: Si lo que quieres es proponer una mejora o nueva funcionalidad este es la categoría que debes escoger.
    • Support request: Si sientes que hay algo de la configuración o funcionalidad que no está explicado en la documentación o el archivo README de módulo, puedes solicitar aclarar esto por medio de esta categoría.
    • Plan: Este tipo de issue lo usan los mantenedores del proyecto para definir un plan de mejoras o cambio importante, de esa manera los usuarios del módulo puede conocer ese plan, opinar y ayudar en el proceso.
  • Priority: Según que tan importante consideres que es el problema o la mejora puedes darle una prioridad, aunque yo diría que solo los Bug reports merecen una prioridad por encima de la normal.
  • Status: Aquí se controla el progreso del issue hasta que esté terminado, en este caso como recién lo estamos creando estará bien dejarlo en "Active".
  • Version: La versión del módulo en la que encontraste el problema y si es una mejora normalmente será la última versión de desarrollo.
  • Component: Esto es otro nivel de clasificación y tiene que ver con que aspecto del módulo está relacionado con el issue que estás creando, las opciones son:
    • Code: El código.
    • Documentation: Documentación faltante o errónea.
    • Miscellaneous: Múltiples partes o aspectos del módulo.
    • User interface: Interfaz tanto de administración como de cara a los usuarios finales.
  • Assigned: Las opciones que aparecen aquí son los mantenedores de módulo, cuando un issue se crea se deja sin asignar como viene por defecto, esto lo pueden cambiar después los mantenedores si alguno de ellos está trabajando activamente en la solución del issue.

Los anteriores serian los campos más importantes, lo que nos queda es describirlo y podrás ver que en la descripción del issue ya viene una plantilla, mi recomendación es usar al menos las siguientes partes:

  • Problem/Motivation: Describe el problema o donde piensas que hay una oportunidad de mejora.
  • Steps to reproduce: Para los Bug reports esto es muy útil, pero para otros tipos de issue tal vez no, solo necesitas crear una lista de pasos a seguir para reproducir el error.
  • Proposed resolution: Como crees que debería funcionar o si ya viste el código del módulo que partes se podrían cambiar.

Con esta mínima información ya podrías iniciar de forma adecuada un issue, recuerda que lo que escribas debe estar en inglés, si ya todo lo anterior está listo ve hasta el final de la página y guárdalo.

Dar retroalimentación en los issues.

Muchas veces pasa que tenemos un problema que alguien ya solucionó, entonces encontramos el issue y probamos la solución o el parche propuesto, pero después olvidamos comentar nuestra experiencia.

El resultado que obtuvimos después de probar esa solución es muy valioso para los demás usuarios y también para los mantenedores del módulo, con tus comentarios otros usuarios pueden saber si hay alguna versión de Drupal en la que no funciona bien, si alguna parte aún no está completa o si por el contrario todo te funciona perfecto.

Esto le ahorra tiempo a otros usuarios y acelerará el proceso de resolución del issue.

Busca una comunidad local de Drupal

Existen Meetups de Drupal en muchas ciudades y países, participar en ellos es una forma de contribuir, ya que detrás de cada evento hay un grupo de personas que dedican su tiempo de manera voluntaria, tu presencia es una forma de reconocer su esfuerzo y fortalecer la comunidad.

Si en tú cuidad o país no existe un Meetup puedes buscar uno en tu idioma y lo más cercano a tu zona horaria al que puedas unirte por videollamada.

Conclusión

Aunque hay muchas cosas que aún no podemos hacer ni entender cuando recién comenzamos en Drupal, lo importante es recordar que esto lo hacemos todos y aunque nuestra contribución parezca pequeña hace parte gran proyecto donde también todos nos beneficiamos.

En próximos artículos estaré viendo este tema basado en un nivel intermedio y experto en Drupal.

Jidrone Drupal Developer
J. Ivan Duarte
Drupal Senior Developer

Share