Contribuir un módulo a la comunidad de Drupal es una excelente forma de apoyar al ecosistema, ganar visibilidad como desarrollador y ayudar a otros usuarios a resolver problemas comunes. A continuación te explico paso a paso cómo hacerlo correctamente.
1. Prepara tu módulo
Antes de publicarlo, tu módulo debe estar bien estructurado y cumplir con las buenas prácticas de Drupal:
- Estructura de archivos: asegúrate de tener al menos:
- mimodulo.info.yml con los metadatos.
- mimodulo.module si implementas hooks.
- Directorios como src/, templates/, config/, etc. si aplica.
- Licencia: incluye un archivo LICENSE.txt con GPL v2 o posterior (Drupal solo acepta esta licencia).
- Documentación: añade un README.md claro que explique qué hace el módulo, cómo instalarlo y configurarlo.
2. Publica el código
Lo más recomendable es gestionar tu módulo con Git:
- Puedes alojar el repositorio en GitHub o GitLab mientras lo trabajas.
- Más adelante, lo importarás al repositorio oficial de Drupal.org (https://git.drupalcode.org)
3. Crea tu cuenta en Drupal.org
Para contribuir necesitas un perfil en Drupal.org:
- Regístrate si aún no tienes cuenta o entra en tu cuenta si ya posees una.
4. Crea un proyecto Drupal para subir tu módulo
Ve a crear proyectos de drupal (https://www.drupal.org/project/add).
- Elige la opción que necesites, en nuestro caso, si queremos subir un módulo propio deberiamos crear un Module project.
- Esto te lleva a la siguiente pantalla para rellenar la información de la futura página de tu módulo:
- Rellena toda la información que tengas, los puntos obligatorios o más importantes son:
- Name
- Project type
- Short name
- Maintenance status
- Development status
- Module categories
- Description (Muy importante, puede ser el mismo README del proyecto)
5. Publica releases y da soporte
Una vez tu módulo esté publicado oficialmente en la ruta https://www.drupal.org/project/tumodulo te quedará una página similar a esta con al información que has rellenado en el formulario anterior:
Ahora debes adjuntar el código del proyecto/módulo y crear una nueva release para que los usuarios puedan bajar tu código en sus proyectos Drupal. Esto lo vemos en el siguiente punto 5.1 Adjuntar código al repositorio Drupal.
5. 1. Adjuntar código al repositorio de Drupal
Para adjuntar tu código, debes pulsar sobre el enlace Source Code en la barra lateral de la página de tu módulo (en Drupal.org)
Esto te llevará a: https://git.drupalcode.org/project/tumodulo. Esta página es el repositorio Git de Drupal, se encarga de vincular y gestionar el repositorio de los módulos/proyectos que tenemos subidos en Drupal.org con el código de los mismos, esta pagina ahora mismo, sin tocar nada, estará vacía, pero es normal porque tenemos que vincular nuestro proyecto y subir los cambios.
Para subir los cambios:
cd /raiz/de/tu/proyecto
git remote -v
git remote add drupal git@git.drupal.org:project/tumodulo.git
git push --set-upstream drupal dev|main|test|master (escoge la rama que quieras subir)Con esto ya tendrías los cambios subidos a tu repositorio de Drupal. También, es importante crear una rama con el nombre de la versión major de tu futura release (1.x.x o 2.x.x ...) y asignarle una etiqueta de git con la versión específica (1.0.0 o 1.0.1 o 2.0.0 ...), los comandos git serían:
cd /raiz/de/tu/proyecto
git checkout -b 1.x (te crea y mueve a esta nueva rama)
git tag -a 1.0.0 -m "Release 1.0.0" (Tag para la rama)
git push drupal --set-upstream 1.xEsto es necesario para el siguiente punto, crear una release en la página del módulo de Drupal.org
IMPORTANTE
Puede ser que cuando lances git push <nuevoOrigen> <Rama> para subir los cambios al repositorio de Drupal.org te genere este fallo:
git@bitbucket.org: Permission denied (publickey). fatal: No se pudo leer del repositorio remoto. Por favor asegúrate de que tengas los permisos de acceso correctos y que el repositorio exista.Esto se debe a que no tienes permisos suficientes de lectura/escritura en el repositorio, para solucionarlo debes:
- Iniciar sesión en GitLab e ir a tu nuevo repositorio de drupal (https://git.drupalcode.org/project/tumodulo)
- Ir a Settings > Repository > Deploy keys (este último es un desplegable)
- Pulsar en Add new key
- Rellenar campos Title (El título que prefieras) y Key (Key debe ser el contenido de tu clave pub, si estás en linux puedes copiar tu clave con algo parecido a: cat ~/.ssh/id_rsa.pub | pbcopy)
- Guarda los cambios pulsando sobre Add new key
- Vuelve a probar con git push <nuevoOrigen> <Rama>
Tu página https://git.drupalcode.org/project/tumodulo debe quedar algo similar a:
5. 2. Crear una nueva release
Ve a la página principal de tu módulo en Drupal.org y en la parte inferior veras este enlace Add new realease, pulsa sobre el:
Esto te llevará a la siguiente página, con un selector que identifica las ramas de tu repositorio Drupal que tengas los nombres y el tag con la nomenclatura que creamos anteriormente (1.x.x), escoge la versión (rama) que quieres subir para este release:
Ahora, te lleva a una paǵina con las opciones:
- This release will not be covered for security advisories: Opción para habilitar la cobertura del equipo de seguridad de Drupal.
Activar esta opción es fundamental, ya que permite que el Drupal Security Team revise tu proyecto y lo clasifique como un módulo seguro para el resto de la comunidad. En el siguiente punto veremos este proceso con más detalle. - Release notes: Notas de la versión. Aquí debes explicar de forma detallada los cambios incluidos en esta release.
- Short description: Descripción breve del proyecto.
- Release type: Tipo de versión. Selecciona la categoría que mejor describe esta release:
- Bug fix: corrige errores existentes.
- New feature: añade nuevas funcionalidades.
- Security update: soluciona problemas de seguridad.
- Maintenance/Other: incluye cambios menores, refactorizaciones o actualizaciones internas.
Con esto ya tendrás creada la release y verás algo parecido a:
(https://www.drupal.org/project/tumodulo/releases)
6. Solicita revisión para proyecto oficial
Una vez tengas tu proyecto, nos queda un último punto:
Si entramos la página de nuestro módulo en Drupal.org vemos que nuestra release no es segura, porque no está chequeada por el equipo de seguridad de Drupal (SA).
Para que este aviso desaparezca y tu módulo sea recomendado por Drupal, el equipo de seguridad debe revisarlo. Para ello, es necesario haber marcado la opción de Security advisories coverage al crear la release. Si no lo hiciste, puedes generar una nueva release en la misma rama/versión activando esa opción.
- El equipo de seguridad de Drupal revisará tu módulo para comprobar:
- Calidad del código (estándares de codificación de Drupal).
- Que no sea un duplicado de otro módulo existente.
- Que tenga documentación suficiente y licencia correcta.
Si pasa la revisión, tu proyecto se convertirá en un proyecto seguro para Drupal y desaparecerá el aviso de Security Advisory Policy.
Consejos adicionales
- Evita duplicar esfuerzos: revisa si ya existe un módulo con funcionalidades similares. En ese caso, mejor contribuir con parches o mejoras.
- Documenta siempre: los usuarios valoran una guía clara de instalación y uso.
- Colabora: participar en la comunidad (foros, Slack de Drupal, grupos locales) te ayudará a recibir feedback y apoyo.