Working with the Drupal community

Tags: Tech Blog Published:

As part of discussions with a prospective client, I was recently asked about our involvement with the Drupal community. I provided some written responses to our business development team, however it occurred to me that we didn't have the spirit of our contribution documented anywhere visible (outside of Upbeat) - so here it is.

Do you have an account with the ability to submit patches?

All development staff have  accounts and are able to create and submit patches to Drupal core, or contributed modules for review. We have established processes for patching Drupal contributed modules during site implementations, and this includes creating patches that are suitable for general use, and feeding them back to the Drupal community. Once patches are submitted, we will continue to track them and contribute to them getting into released modules or Drupal core even beyond the end of the project.

What level of help do you provide to community members in need of guidance?

We recognise that there is more to contributing to an Open Source community than code. Staff are encouraged to interact on issues in whatever way appropriate - whether that be testing others' patches, triaging issues, reproducing issues, or offering advice. As a business we are also active in the Drupal community, sponsoring and speaking at Drupal events and conferences, and we are a Drupal Association organisational member.

Have you contributed to any of the modules or themes located in the Drupal repository?

Our staff maintain several Drupal modules, as well as contributing patches to many other contributed modules that we have used. Our staff profiles are linked to our company profile. This shows a list of our staff, and individual contributions are listed where they have been attributed.

Give us some examples of the work you have done to contribute to the Drupal project.

The following contributed modules are a selection of those maintained by Upbeat staff:

What kind of version control system do you use for managing the code that you write?

Our development environment, and practices are continually evolving to reflect best practices, efficiencies and the needs of our clients. Currently all code is managed through shared code repositories using the Git version control system. We use less for CSS development, together with the Bootstrap or Foundation frameworks.

We use behat and Selenium for functional testing, and PHPUnit for unit testing where appropriate. Code is deployed to staging and production sites using Jenkins and Capistrano.