One of the things I like the most of working at Ymbra is its commitment to drupal community and its values. One example of its commitment are the so-called "contribution days" that are celebrated last friday of every month in which every staff member changes their regular work at ymbra with something of their interest that has to improve drupal or opensource community. Although they have been held for quite some time, last November's edition was quite different from previous experiences: instead of spending some time to search something in drupal's issue queue in which we can help, this time we teamed up in groups of two-three people and worked in a specific project. In order to do so, each of us expressed our interests and expectations and Pedro Cambra coordinated the rest by created balanced groups according to our interests and skills and also proposed a topic in which we could work.
In this post I will summarize our first experience with this new system.
Ramon, Rodrigo and myself were working in a sandbox called Commerce Checkout Suite aimed to add panes to commerce's checkout process. Currently there are different contrib modules that can add new panes, such as nodes, fieldgroups, beans, text messages, views, payment method or even profiles, but all of them take different approaches. Commerce Checkout Suite expects to offer an integrated and consistent solution, but instead of proposing a monolithic solution that would be difficult to mantain in the long term, proposes an API with an extensible system that allows to add elements in an easy way.
That's the teory. In practice this is not an easy work that can be achieved in a single day, so we spent some time investigating how Ctools' plugins work (we found very useful the information provided in advanced help and this question on stackexchange) and, most of all, we were discussing about the best architecture we can use. Finally we decided to discard using submodules in favour of plugins based on Ctools in which each plugin will be a different class which will extend the "Commerce pane" class. At this moment the module is not yet functional, but we managed to have the first functions and classes that allows to read a very simple plugin. That's a start!
As for the rest of team members, Pako and Cristina worked on this Drupal8's issue: Align the styling of tool tips to be more consistent with Seven and made a first approach to resolve the inconsistence of the styles in default's admin theme. They even provided a patch that needs to be reviewed. Modesto and Oriol worked on an Instagram integration module that displays all the pictures that have the same hashtag as the one provided in a specific field. They started from Instagram Hashtag's Sandbox and by the end of the morning they achieved a first working implementation that can be found on this repo on github.
We were all very happy with both the results and the new methodology and we all agree on the importance of working in teams and do some peer-programing and the fact that having clear goals from the begining prevents wasting time in looking for something to contribute.
On a personal level I have enjoyed a lot working in teams and working with proficient developers such as Ramon and Rodrigo, from whom I've learnt a lot (and will be learning a lot in the future). I've loved working and having a propositive role in something that I wouldn't have even dared to start if I was alone. I also believe that having an specific project assures some continuity between upcoming contribution days, which in turn results in increasing the challenge but as well our implication and motivation. Additionally I am convinced that as soon as we get some results, they will have a deeper positive impact on drupal's community.