Skip directly to content

Behind the scenes at AllPlayers.com

on Fri, 03/02/2012 - 22:36

We really wanted to share with you some of the cool things we’re doing behind the scenes of the AllPlayers.com site we nominated for Blue Drop Awards (vote here). But we felt that the field on the site submission was just not big enough to contain all the awesomeness. So we decided to shamelessly self promote and make it into a blog post.

Development Process

We have a great development environment and process, but like with anything else we're always working to improve it. We manage our source code through git, and our configuration is always done with features and stored in code. We also make heavy use of update hooks to update the databases across environments.

Each developer has a sandbox and a fork of the main repository, and makes pull requests to it. We also have several pre-production environments that are updated frequently using Jenkins to test new features and bug fixes.

We use an Agile/Scrum process to prioritize new features and bug fixes. At the end of each sprint, we initiate a rigorous QA process where our stories are tested for integration and regression. Finally, when all the fixes are in and approved, we roll to production.

For more information about our workflow, we invite you to review our presentation from DrupalCamp Chicago.

Design

Our goal is to make our multitude of features easy for our users. In the initial versions of our site, we focused primarily on rolling out required features. As our site has matured, we have focused more on improving usability. New features, and features that we are revamping to make more user-friendly, go through a wire-framing and comping process to ensure that usability standards are met.

We are also in the process of a site design realignment to incorporate responsive web design techniques for our users. Like other sites, we anticipate growth of mobile users and are eagerly working to be on the cutting edge of responsive design. We are using the Context Reaction: Theme module to roll out the new responsive theme gradually across our site.

E-Commerce

We also maintain store.allplayers.com, which is connected to the main site through the bakery single sign on system. Group administrators can activate the store as a feature for their members to use. Our store site uses Drupal 7, while our main site is currently build on Drupal 6.

Webforms

We also make heavy use of webforms. On AllPlayers.com, different groups have different registration requirements. We use the Webform module extensively to accommodate the needs of our users. Group administrators can access webforms to build their own custom registration forms and collect the data they need.

Travis Tidwell, Lead Developer, recently shared how AllPlayers.com leverages webforms to the Dallas Drupal Users Group.

API

We are currently building a public API using the wonderful Services module — it’s been a blast! We find that we can easily abstract elements of Drupal to use our API, and in turn make our site more performant and our codebase much cleaner. We have also released our iPhone app that relies solely upon our API.

We presented a session on building APIs with Drupal and the strategy around them.

OPEN SOURCE CONTRIBUTION

A core component of our process that we take very seriously is open source contribution. We maintain a strict policy that any modifications to contributed modules always go back to the issue queue as a patch. While this helps us give back to the community, it also ensures that our codebase does not deviate from that of the modules’ code.

As we go along, we are finding ourselves constantly asking new questions and building new things. After all, that’s what Drupal development is all about and why we love it. We are constantly improving our infrastructure, development process, user experience, and of course, code! We love trying new things and strive to give our knowledge back to the community that has given so much to us.

Comments

Great post Max! Personally, I've especially enjoyed the development process using pull requests, and really appreciate the patch contributions back to the community. You've outlined a really good overview of our processes!

Ben Finklea's picture

We embrace your shameless self promotion and encourage you to post more of your learnings and techniques. Part of the vision of Blue Drop Awards is to create a place that inspires the community to new heights. Well done and Congrats on AllPlayers!

@nadavoid: Thanks!! I can say I've definitely fell in love with the way we work and how much my just showing up to work has contributed to so much learning and patches. I remember the days I used to be terrified of submitting a patch (although that may have had something to do with SVN as well). @Ben Finklea: Thanks for embracing our shameless self promotion! And thank you for putting all this together. Drupal is such an amazing platform and having these awards will give it such a good visibility boost! I personally really enjoyed helping to put together our submission and I hope these awards will help showcase how great Drupal and its community really are!

Of course, I forgot to put in a p tag. Separating the second part of the comment here.

@Ben Finklea: Thanks for embracing our shameless self promotion! And thank you for putting all this together. Drupal is such an amazing platform and having these awards will give it such a good visibility boost! I personally really enjoyed helping to put together our submission and I hope these awards will help showcase how great Drupal and its community really are!

Ben Finklea's picture

No doubt! We're up over 100 nominees now and there are a lot of good ones. New ones going up every day. Thank you for your participation early. Submit another site if you can!