Dia de contribució de novembre

Unes de les coses que més m'agraden de treballar a Ymbra és la seva vocació de comunitat i els seus valors. Un exemple d'aquesta vocació són els anomenats "dies de contribució" que realitzem cada divendres darrer de mes. Durant aquest dies, cadascú de nosaltres substitueix la seva feina habitual a ymbra per alguna cosa del seu interés que millori la comunitat de drupal o opensource. Malgrat que es porten fent durant força temps, l'edició de novembre va ser una mica diferent de les experiències anteriores: enlloc de dedicar un temps a buscar alguna cosa a la cua d'issues de drupal en què poder ajudar, aquesta vegada ens hem repartit en grups de dues o tres persones per a treballar en un projecte específic. Prèviament cadascú de nosaltres va manifestar els seus interessos i expectatives i en Pedro Cambra va coordinar la resta proposant grups equilibrats en funció dels interessos i habilitats i proposant també un tema en el què poder treballar.

En aquest post vull resumir la nostra primera experiència amb aquest sistema, que ja avanço, va ser molt positiva.

Ramon, Rodrigo i jo mateix vam estar treballant a un sandbox anomenat Commerce Checkout Suite que serveix per afegir panes al procès de checkout de commerce. Actualment hi ha diferents mòduls contribuits que poden afegir nous panes com ara nodes, fieldgroups, beans, missatges de text, views, mètodes de pagament o fins i tot profiles, però tots ells fan servir diferents aproximacions. Commerce Checkout Suite pretèn oferir una solució integrada i consistent que, enlloc de proposar una solució monolítica que faria difícil de mantenir a llarg termini, proposa una API amb un sistema extensible que permeti afegir elements de forma fàcil.

Aquesta és la teoria. La pràctica no és tant fàcil i no es tracta de quelcom que pugui assolir-se en un sol dia, així que vam passar força temps investigant com funcionen els plugins de Ctools (vam trobar informació molt útil a l'advanced help i a aquesta pregunta a stackexchange) i, sobretot, vam estar discutint sobre quina seria la millor arquitectura possible. Finalment vam optar per descartar l'utilització de submòduls en favor de plugins basats en Ctools, de forma que cada plugin sigui una classe diferent que extengui la classe "Commerce pane". En aquest moment el mòdul encara no és funcional, però vam aconseguir tenir les primeres funcions i classes que permeten llegir un plugin molt bàsic. És un començament!

Pel que fa a la resta d'equip, Pako i Cristina van treballar a aquesta issue de Drupal 8: Align the styling of tool tips to be more consistent with Seven  i van fer una primera aproximació per a resoldre la inconsistència d'estils en el tema d'administració per defecte. Fins i tot van proporcionar un patch que està a l'espera de ser revisat. Modesto i Oriol van treballar en un mòdul d'integració d'Instagram que mostri totes les imatges que tinguin el mateix hashtag que el valor d'un camp específic. Van començar a partir de Instagram Hashtag's Sandbox i al final del mati van aconseguir una primera implementació funcional que pot trobar-se a aquest repo de github.

El cert és que tots estem molt contents amb els resultats obtinguts i la metodologia seguida, i tots estem d'acord en la importància de treballar en equips i fer peer-programming, a més del fet de que tenir objectius clars des del principi evita perdre temps en haver de trobar algún tipus de feina en què poder contribuir.

A nivell personal ho he passat molt bé treballant en equips i treballant amb desenvolupadors de nivell com Ramon i Rodrigo, dels qui he pogut aprendre molt (i seguiré aprenent-ne més al futur). També m'ha agradat tenir un paper propositiu en quelcom que no m'hagués atrevit ni a començar si hagués estat sol. També crec que tenir un projecte específic garantitza certa continuïtat amb futurs dies de contribució, que al seu torn es tradueix en un major repte però també en major implicació i motivació. Addicionalment estic convençut de què tan aviat com tinguem alguns resultats, aquests tindran un impacte més profund dins la comunitat drupalera.