Pay with Tweet, mi primera contribución para Drupal
Mucha, pero que mucha alegría por conseguir, al fin, publicar mi primer módulo para Drupal que no es otra cosa que el Pay with Tweet. Atrás quedan muchos días de estudio, de empaparme de la filosofía Drupal y de muchas correcciones hasta lograr el OK de la comunidad.
La forja de una aventura: Conseguir publicar Pay with Twett en Drupal
Hace unos meses se producía mi primera aportación a WordPress con el plugin pay with tweet como resultado de un problema en el máster en Dirección de Arte Publicitaria con el plugin que íbamos a utilizar para la acción de pago con un tweet.
Tras cumplir mi compromiso con los alumnos del máster de crear y liberar este plugin, comprobé que en Drupal no existía ningún módulo que incorporase esta funcionalidad (en WordPress existían varios plugins alternativos). Creo que el sistema de pago por tweet es muy interesante desde el punto de vista del marketing digital y me dije a mi mismo que tenía que existir en Drupal.
Desde Interacción (donde disfruto ejerciendo mi profesión y mi pasión) llevamos tres años apostando fuerte por el desarrollo web en Drupal cuando es un CMS lo que más se ajusta a las necesidades del cliente (aunque también utilizamos WordPress y todo lo que sea necesario). Un día publicaré una entrada en el blog explicando el por qué apostamos por Drupal 😉
Así que, con mis tres años de arduo trabajo en comprender y desarrollar para Drupal a mis espaldas, me convencí que podía crear el módulo Pay with Tweet e incorporarlo como proyecto en drupal.org por lo que me puse manos a la obra y comenzó la aventura.
Objetivo: Publicar el proyecto Pay with tweet. Una travesía por el desierto…
El 31 de Mayo de 2013, a las 20:08 solicité, con mi espíritu de temerario absoluto, migrar mi módulo Pay with Tweet de la zona de sandbox a la de proyectos.
Para que un proyecto sea considerado como tal, es preciso que la comunidad de desarrolladores den el visto bueno a la aplicación. Para obtener este visto bueno es necesario, básicamente, lo siguiente:
- Cumplir la guía de estilo de Drupal.
- Que no exista otro proyecto que haga lo mismo que el tuyo, salvo que exista una justificación de peso.
- Que haga lo que se supone que tiene que hacer y que lo haga bien.
- Que el código esté «estrictamente bien escrito».
- Que la desinstalación del módulo haga lo que tiene que hacer, o sea, que no quede ni rastro de tu proyecto.
Para gestionar todo esto, lo que se hace es publicar una solicitud como si fuese un post de un foro y otros usuarios de drupal.org se descargan tu proyecto, revisan el código y lo prueban. Como es la comunidad quien lo revisa, todo lleva su tiempo ya que no deja de ser gente que lo hace en sus ratos libres. A pesar de ello, Drupal tiene un sistema de «bonus» para garantizarte que uno de los desarrolladores de Drupal (o miembros de peso) revise tu módulo en poco tiempo y es, simplemente, que contribuyas revisando tres proyectos de otra gente que están en tu misma situación.
Poco a poco, usuarios empezaron a escribir sus reviews de mi Pay with Tweet y me fue tocando realizar cambios o explicar el por qué eso estaba así y no iba a aplicar el cambio propuesto.
Realmente existe luz al final del túnel!
El proceso de review-corrección-review-corrección-…. se alargó nada más y nada menos que DOS MESES!!!!
Sí, dos meses de correcciones, esperas a que alguien revisase mi proyecto y la siempre errónea esperanza «de esta va, ya no hay más que me puedan decir»… pues sí que lo había.
La verdad es que gracias a este proceso he dado un paso de gigante en mi conocimiento de Drupal y no puedo estar más que agradecido por ello… aunque a veces el desánimo fuese un obstáculo muy difícil de superar.
El que persevera lo consigue; qué gran verdad. Me costó varias modificaciones profundas del código, muchas horas leyendo la documentación de Drupal y los hilos dónde los miembros más destacados (auténticos genios) de la comunidad debatían sobre las mejores formas de hacer una cosa u otra… pero al final me llegó el día de hoy (2 de agosto de 2013) en el que me dan el OK y los permisos para promocionar mi proyecto a «full project» eso sí, no sin un par de recomendaciones finales 😉
Objetivo conseguido
No puedo negarlo: El resultado final es muy satisfactorio. Conseguir publicar un proyecto en Drupal era uno de mis objetivo desde hace unos años y el hecho de lograrlo es motivo de alegría.
Aunque de todo este proceso, lo más importante y lo que más satisfacción me genera es que hacía muchos años que no conseguía un salto cualitativo en mi conocimiento del lenguaje PHP… sí, en estos dos meses he aprendido mucho más que en varios años y creo que he conseguido subir un gran escalón en mi calidad como programador web.
Este proceso ha reafirmado mis actuales convicciones en torno a PHP:
- Drupal es la alternativa más solida para el desarrollo web utilizando CMS en PHP.
- Quiero ser parte activa de la comunidad de Drupal.
- Hay auténticos genios de los que puedo aprender muchísimo.
Es más, también ha reafirmado mis convicciones sobre el desarrollo web, que aunque puedan ser contradictorias con lo anterior realmente no lo es:
- Quiero apostar por Laravel como framework en PHP.
- Es vital levantar la cabeza y sumergirse en Python, Django y Node-JS (y en ello estoy!!)
- Iñaki, a quien considero un gran amigo a pesar del tiempo y la distancia, tenía (y tiene) mucha razón.
Lo importante: Dónde descargar el módulo Pay with Tweet
Menuda parrafada he soltado cuando «lo importante» es dónde conseguir el módulo! Pues bien, al igual que hice con el plugin de WordPress:
- Mis proyectos realizados en Drupal.
- Página del módulo Pay With Tweet en el blog.
- Repositorio github
- Página oficial del proyecto en drupal.org: https://drupal.org/project/pay_with_a_tweet
Y tras un merecido descanso tocará empezar a pensar en la futura versión de Pay with Tweet y en algún que otro módulo que tengo en mente 😉