La guía definitiva para impulsar su viaje de contribución de Drupal

Publicado: 2022-08-23

Introducción

Al ser un sistema de gestión de contenido de código abierto, Drupal fomenta las contribuciones de la comunidad de desarrolladores y usuarios de todo el mundo de diversas formas. Podría ser en forma de código que incluye parches para proyectos principales y contribuidos, en formas no codificadas que incluyen marketing, documentación, organización de eventos o apoyando monetariamente el proyecto. Este artículo lo guiará a través de todo lo que necesita saber para comenzar su viaje de contribución de código Drupal desde cero.

Por qué contribuir a Drupal

Por supuesto, retribuir a un proyecto que respalda la forma en que trabaja y probablemente vive todos los días podría ser una razón lo suficientemente fuerte para que contribuya voluntariamente y mejore el proyecto de código abierto. Pero si está buscando un poco más de incentivo para contribuir, estos son algunos de los beneficios que hemos visto:

  • Sus contribuciones ayudan a Drupal a mantenerse relevante y actualizado con los avances que ocurren en todas sus dependencias a lo largo del tiempo.
  • Puede obtener más conocimientos sobre Drupal, lo que a su vez le permitirá crear mejores aplicaciones para sus clientes.
  • Brinda una ventaja competitiva a las organizaciones que patrocinan el tiempo para la contribución, ya que sus desarrolladores adquieren más habilidades y conocimientos y se muestran como expertos.
  • Colabora y reúnete con personas que comparten los mismos intereses que tú

Cómo contribuir

Para empezar, cree una cuenta en drupal.org y actualice su perfil con los detalles requeridos.

Creación de cuenta

Creación de cuenta en Drupal.org

Busque un problema

Una vez creada la cuenta, el siguiente paso sería encontrar el problema correcto. Puede variar según su interés:

1. Puede encontrar un problema en la cola de problemas: https://www.drupal.org/project/issues. Para una búsqueda más específica, puede hacer clic en 'Búsqueda avanzada' y usar los filtros.

  • Etiquetas de problemas: los problemas se adjuntan con etiquetas diferentes. La etiqueta "principiante" indica que el problema necesita una solución simple y cualquier principiante puede elegirla, la etiqueta "Necesita documentación" indica que este problema necesita algún cambio en la documentación, y así sucesivamente.
  • Estado del problema: una vez que se crea el problema, pasa por diferentes estados. Según el estado actual del problema, puede decidir los próximos pasos que debe seguir.
  • Prioridad del problema: define la prioridad del problema, ya sea un error crítico o una solución menor.
  • Categoría del problema: indica la categoría del problema, ya sea un error, una tarea o una nueva solicitud de función para el proyecto.
  • Proyecto específico: aquí puede especificar directamente el proyecto que le interesa.
Filtro de problemas

Emitir filtros

2. O comience desde el proyecto en el que siempre estuvo interesado en trabajar, visitando la página de módulo/tema/perfil - https://www.drupal.org/project/<project_name> . En la barra lateral derecha, busque el enlace "Todos los problemas": https://www.drupal.org/project/issues/<project_name>?categories=All

3. O trabaje en un error que encontró en el núcleo, o cualquier módulo/tema/perfil contribuido mientras trabajaba en un proyecto. También es la forma correcta de contribuir. Uno siempre debe practicar manteniendo su "modo colaborador" ENCENDIDO incluso mientras trabaja en proyectos, ¡esto brinda la oportunidad de explorar y contribuir con una solución a los problemas ocultos!

Ciclo de vida de un problema de Drupal

Una vez que se crea un problema, pasa por diferentes estados. Los siguientes son los diferentes estados de problemas con los que se encontrará:

  1. Activo : cuando se crea un problema nuevo, se encuentra en estado Activo.
  2. Necesita revisión : cuando es necesario trabajar en el problema, se encuentra en un estado Necesita trabajo.
  3. Necesita trabajo : una vez que se selecciona el problema, los parches se envían correctamente y todos los casos de prueba pasan, el estado del problema debe cambiarse a Necesita revisión.
  4. Revisado y probado por la comunidad : una vez que el problema es revisado por cualquier colaborador, el problema se mueve al estado "Revisado y probado por la comunidad" (RTBC), donde uno de los miembros del equipo central de la comunidad revisa el problema.
  5. Fijo : cuando un problema pasa del estado RTBC, se mueve al estado Fijo.
  6. Cerrado (arreglado): después del estado Arreglado, el problema pasa a Cerrado (arreglado) automáticamente dentro de dos semanas. Este es el último estado de un problema.
  7. Cerrado (duplicado) : cuando se crea un problema que es un duplicado de uno anterior, se cierra directamente como Cerrado (duplicado).
  8. Cerrado (no se solucionará) : este estado representa que un problema no tiene solución.
  9. Cerrado (funciona como se diseñó) : este estado representa que un problema planteado es proporcionar la funcionalidad que se suponía que debía proporcionar y, por lo tanto, se movió a "funciona como se diseñó". En otras palabras, el problema planteado no es un error sino una característica.
  10. Cerrado (no se puede reproducir) : cuando un problema no se puede reproducir, se mueve a este estado.
  11. Cerrado (obsoleto) : cuando un problema es demasiado antiguo para solucionarlo o se soluciona dentro del problema de otro módulo, el estado puede ser Cerrado (obsoleto) para ese problema.
  12. Parche (a portar) : cuando se va a portar un parche para otras versiones del módulo Drupal/Contribuido.
  13. Pospuesto : cuando el autor o la comunidad posponen el problema, la característica o el error y no es necesario corregirlo.
  14. Pospuesto (el mantenedor necesita más información) : cuando se plantea un problema, pero según el mantenedor del módulo Contribuido, se necesita más información sobre el problema para solucionarlo.

Crear un problema

Para crear un problema para el módulo. Vaya a la cola de incidencias del módulo https://www.drupal.org/project/issues/<project_name>?categories=All y haga clic en Crear una nueva incidencia .

Emitir presentación de diapositivas

El siguiente paso es dar detalles del problema que debe crearse.

sincronizar

1. Título: agregue el título del problema.
2. Proyecto: El nombre del proyecto se seleccionará automáticamente.
3. Categoría: Seleccione la categoría del proyecto. Hay 5 categoria

  1. Bug: Un bug es un error funcional en el sistema. Por ejemplo, error de php, pérdida de datos, pérdida de memoria, documentación incorrecta o engañosa, texto de interfaz de usuario incorrecto o engañoso, etc.
  2. Tarea: no se trata de un error funcional, pero "debe hacerse" antes del lanzamiento. Por ejemplo, refactorizar el código para hacerlo más legible y mantenible, agregar pruebas automatizadas, actualizar el código a nuevas API, mejorar los estándares de codificación, etc.
  3. Solicitud de función: esta es una solicitud para agregar una funcionalidad completamente nueva al módulo.
  4. Solicitud de soporte: si necesitamos ayuda en cualquier parte del módulo o queremos saber sobre la funcionalidad principal de Drupal. Podemos etiquetar solicitudes de soporte y agregar la pregunta.
  5. Plan: esta etiqueta se usa cuando tiene un problema que no se puede resolver con un problema. Los problemas del plan a menudo tendrán múltiples subpasos relacionados con problemas "secundarios".

4. Prioridad: seleccione la prioridad del problema. Aquí tenemos Critical, Major, Normal y Minor. Elija normal a menos que sea realmente grave. O puede seleccionarlo como normal y dejar que el mantenedor o revisor lo cambie según sea necesario.

5. Estado: Seleccione Activo para nuevos problemas.
6. Versión: seleccione la versión del proyecto en el que se debe solucionar el problema.
7. Componente: seleccione la coincidencia más cercana al problema. Estos se pueden cambiar más tarde. Los componentes aquí se basan en el módulo. Las opciones difieren de un módulo a otro.
8. Asignado: el problema se puede asignar a cualquier persona. No es obligatorio y se puede asignar más adelante.
9. Etiquetas: etiquete el problema con las etiquetas adecuadas. Esto se puede dejar vacío si no tenemos conocimiento de las etiquetas de problemas. Esto no es obligatorio y se puede etiquetar más tarde.
10. Resumen del problema y relaciones: expanda el campo y le pediremos al editor que agregue los detalles del problema. Hay algunos encabezados predefinidos en el editor y podemos reemplazarlos si no los queremos en los detalles del problema.

  1. Asunto principal: para etiquetar el problema principal.
  2. Problema relacionado: para etiquetar el problema relacionado.

11. Archivos: podemos agregar los archivos relacionados con los problemas o podemos cargar el parche para el problema mientras se crean los archivos. Y guarda el problema.

Después de guardar el problema. El problema creado se agregará a la cola de problemas del módulo respectivo.

Para crear un problema para el núcleo de Drupal, https://www.drupal.org/node/add/project-issue/drupal es el enlace. Y los pasos serán los mismos que para crear el problema en el módulo. Pero hay algunas pautas para crear un problema central que se mostrarán en el enlace anterior.

Image removed.

Estas son las pautas a seguir al crear el problema central.

Crear un parche

Hay 2 casos aquí

  1. Crear un nuevo parche
  2. Actualice el parche existente.

Para crear un parche nuevo

  • Vaya a la pestaña de control de versiones del módulo. https://www.drupal.org/project/ <project_name>/git-instructions es el enlace a la página.
  • Seleccione la rama a trabajar y haga clic en el botón Mostrar.
Sincronización de imágenes

Al hacer clic en el botón Mostrar, obtendrá el comando git, copie y ejecute el comando en su terminal y cambie el directorio al módulo clonado.

  • Realice los cambios para solucionar el problema.
  • El comando para crear el parche es:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Eliminar núcleo

  1. La descripción del problema será el título del problema, donde todas las letras deben estar en minúsculas y el espacio debe estar lleno de guiones bajos. Esto es opcional.
  2. El número de problema estará en la URL del problema. Esto será único para los problemas, será obligatorio al nombrar el archivo de parche.
  3. El número de comentario es la identificación del último comentario en el que se cargará el parche.
Comentarios

Considere que necesita agregar un nuevo archivo al parche. No se rastreará el nuevo archivo y el comando git diff no rastreará el archivo.

Para agregar un nuevo archivo al parche

  1. Agregue el nuevo archivo usando el comando git add
  2. Correr
 git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch

Para actualizar un parche existente

1. Clone el proyecto al que necesita agregar el parche.
2. Vaya a la página del problema, haga clic con el botón derecho en el enlace del parche y haga clic en el enlace Copiar dirección.
3. Descargue el parche a su local usando el comando curl o wget.

Para descargar el parche usando el comando curl:

 curl -O <paste the address link of the patch>


4. Para aplicar el parche, ejecute el comando:

 git apply <patch name>


5. Después de aplicar el parche obtendrá los cambios del parche en su local. Agregue los cambios adicionales necesarios al parche y cree un nuevo parche.

Cuando estamos actualizando el parche existente, necesitamos crear un archivo interdiff. El archivo Interdiff no es más que una diferencia entre el parche antiguo y el parche nuevo. Esto ayudará al revisor a conocer los cambios realizados en el nuevo parche.

El siguiente es el comando para crear un interdiff:

 interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt

Considere que tiene un parche de descarga antiguo 3302030-2.patch y un nuevo parche actualizado que ha creado 3302030-3.patch. Para crear la interdiferencia entre estos dos archivos, el comando sería:

 interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt

Enviar un parche

Después de crear un parche, debemos enviar el parche.

Para enviar el parche, vaya a la página del problema.

1. Emitir metadatos

metadatos

En los metadatos del problema, cambie el estado a revisión de necesidades. Cancele la asignación del problema si el problema está asignado a usted y agregue o elimine las etiquetas según sea necesario.

2. Atribuir esta contribución

Atributo

Marque las opciones relevantes y agregue la organización si está trabajando para alguna organización. Al agregar esto, los créditos se otorgarán a la organización junto con usted cuando se solucione el problema.

3. Agregue una descripción de los cambios realizados en el parche en la sección de comentarios.
4. Elija el archivo de parche, el archivo interdiff y cárguelo en archivos.

archivos

Aquí hemos agregado los archivos uno por uno y presionamos cargar después de elegir el archivo. Al hacer clic en cargar, el archivo se cargará y se agregará a la lista a continuación.

NOTA: Interdiff no es necesario al agregar un nuevo parche.

5. Después de cargar el archivo, haga clic en el botón Guardar. Esto actualizará la página del problema y podremos ver el parche cargado con un nuevo número de comentario.

Los parches para los problemas principales deben enviarse mediante el mismo procedimiento.

Revisar un parche

Ahora ya sabe cómo buscar un problema, crear un parche y cargarlo. ¿Que sigue? ¿Cómo podemos asegurarnos de que se confirme el parche correcto lo antes posible? Revisar un parche es un paso igualmente importante para hacer avanzar el problema. Si cree que escribir líneas de código no es lo suyo, ¿por qué no prueba a revisar los parches existentes?

Antes de comenzar, le recomendamos encarecidamente que agregue la extensión Dreditor a su navegador.

Redactor

Extensión Dreditor

Le proporciona un botón 'Revisar' para los archivos de parche/interdiff. Al hacer clic, muestra los cambios en un formato fácil de leer.

Revisar

Botón 'Revisar' de Dreditor

Parche

Cambios de archivos de parches sin Dreditor

Cambios en el archivo de parches

¡Ahora estamos listos para encontrar un problema para revisar!

  • Filtre los problemas con el estado 'Necesita revisión'.
  • Elija su opción de la lista.
  • Lea los comentarios y elija el último parche cargado en el número.
  • Asegúrese de que el parche haya pasado los casos de prueba y se haya vuelto verde.
Pase de prueba de parche

Parche que pasó las pruebas

  • Descargue el archivo del parche y aplique el parche en su local en su núcleo/módulo/tema/perfil ejecutando:
 git apply <patch-file-downloaded> -v
  • Pruebe si está funcionando según las expectativas/necesita algo de trabajo.
  • Cambie el estado del problema y agregue comentarios con imágenes/videos que respalden sus puntos. Su comentario debe tener detalles como si el parche se aplicó a la última versión, qué pasos se siguieron para reproducir el problema, el comportamiento del problema antes y después de aplicar el parche, etc.
  • Si todo se ve bien, cambie el estado a 'RTBC'.
  • Si hay margen para algún trabajo/cambio adicional, actualice el estado a 'Necesita trabajo'.

Otras formas de contribuir

Además de las contribuciones de código, el proyecto Drupal tiene muchas áreas en las que puede contribuir, incluida la mejora de su calidad y alcance. Puede elegir su método de contribución a esta comunidad en función de sus intereses. Algunas de las áreas de contribución:

  • Mediante la tutoría: si tiene algo de experiencia contribuyendo, puede ayudar a otros a comenzar convirtiéndose en mentor, ya sea en línea o en persona.
  • A la documentación: toda la documentación del Proyecto Drupal es aportada gratuitamente por personas de todo el mundo, como usted.
  • Intercambio de conocimientos: una forma importante de contribuir al proyecto Drupal es compartir su conocimiento sobre Drupal escribiendo publicaciones en blogs, dando una presentación en su reunión local de Drupal Group, un DrupalCamp o DrupalCon, convirtiéndose en un entrenador, etc.
  • Planificación de eventos: mediante la organización o el voluntariado en eventos virtuales o presenciales de Drupal, como reuniones, sprints, etc.
  • Por marketing: puede trabajar con otros equipos de marketing de todo el mundo para crear materiales de marketing y ventas con la marca Drupal que puedan ser compartidos y utilizados por todos los que vendan los servicios de Drupal.
  • Al contribuir con módulos/temas: la colaboración en proyectos de Drupal, incluidos módulos, distribuciones y temas, es una forma integral de contribuir a la comunidad de Drupal.

¡Manténgase conectado y actualizado!

• Flojo

  • La comunidad de Drupal tiene un espacio de trabajo principal de Slack conocido simplemente como 'Drupal' - - http://drupal.slack.com/
  • Encontrará una variedad de canales para diferentes temas, como #support, #bugsmash, #contribute, #drupal10rediness, etc.

• blogs

  • Los miembros de la comunidad de Drupal escriben publicaciones de blog sobre Drupal.
  • ¡Incluso TÚ puedes ser uno de ellos!

• Redes Sociales - Twitter, LinkedIn, etc.

  • Seguir cualquier perfil relacionado con Drupal puede mantenerlo actualizado con todos los cambios/eventos en curso que ocurren alrededor de Drupal.

Código de conducta de Drupal

Como Drupal es un código abierto y nuestra comunidad está creciendo, es imperativo que preservemos las cosas que nos trajeron aquí. Estos son algunos de los puntos con respecto a la conducta.

  • ser colaborativo

Como Drupal tiene una comunidad más grande, la colaboración es la clave. Al trabajar en equipo, podemos traer lo mejor de la plataforma Drupal.

  • Se respetuoso

Como todos hacen una valiosa contribución a Drupal, la comunidad y sus miembros se tratan con respeto.

  • Cuando no estamos seguros, pedir ayuda

Nadie es perfecto en Drupal y no se espera que nadie sepa todo en la comunidad de Drupal. Hacer preguntas puede solucionar muchos problemas, por lo que se anima a hacer preguntas.

  • Comuníquese con sus compañeros/administrador de Slack si es víctima o testigo de acoso o si necesita ayuda con la administración de Slack.

https://www.drupal.org/dcoc es el enlace al documento donde puede encontrar el código de conducta en profundidad.

Pensamientos finales

Como una organización que vive y respira Drupal, siempre estamos comprometidos a retribuir al proyecto de cualquier manera que podamos. Si está buscando una agencia de Drupal de confianza para su próximo proyecto, nuestros expertos estarán encantados de ayudarle. ¡Hable con nosotros hoy!