- or -

Current Challenge

We're writing the next Module Off challenge right now. Check back again soon for our newest challenge!

Past Challenges

Build a CSS-Only Omega Subtheme

Since I've started The Module Off, we've had a range of challenges that have challenged developers to try something new or to create examples for other devs. Thanks to some great feedback, I realized that an entire class of Drupalists have been left out of The Module Off: themers. This Module Off challenge, should you choose to accept it, calls upon you to create an Omega subtheme without any PHP. You can use CSS, JS, and any images you like to create a beautiful responsive subtheme of Omega!

0 Modules Submitted
Show off your patch to Drupal's inline documentation

Fixing up or adjusting parts of Drupal's inline docs is a great way to dip your toe into the wonderfully warm pool of core development. In fact, my first ever core patch was a docs update! It's a great way to learn how to create/submit patches without a deep understanding of the complexities of Drupal's innards. This Module Off challenge asks you to submit a recent commit that you made to help Drupal's core code docs. If you want to make a screencast talking about the process, or showing the code before and after, more power too you!

1 Module Submitted
Demonstrate the Batch API

Lots of processes on your Drupal site take a long time complete. For instance, sending out thousands of emails could take longer than PHP's timeout. As a result, Drupal has a Batch API, which allows you complete a time-consuming process in small parts. Your mission, in this challenge, is to implement the batch API in a custom module, that does something useful. We don't need your module to do the most useful thing in the world, but we hope to have a useful example of the Batch API in action to learn from. Get to work!

1 Module Submitted
Integrate with Drush

Thank the good lord (or more accurately, moshe weitzman, greg.1.anderson, and the rest of the committers) for Drush. The amount of time that I've saved using the command line with Drush instead of clicking through the Drupal web interface is incredible. One of the best features of Drush is its extensibility; modules can add drush commands to control their custom functionality.

3 Modules Submitted
Create a Views Plugin

Thank the good lord for Views (which is now in Drupal core!). If it wasn't for Views, we'd be writing custom queries to list data all the time. Sometimes, though, Views doesn't do exactly what you need it to do, and when that happens you'll have to create either a handler or a plugin. Views has 10 different types of plugins! For this challenge, you pick any type you want, and create something useful.

3 Modules Submitted
Do something cool with Node.JS


This one's a tad looser; no specific use cases to code up. Just do something cool! Node.JS is a really awesome technology for real-time stuff within your Drupal site, and the Node JS Integration Module on drupal.org makes it pretty easy to get up and running. We're excited to see what you all can whip up.


We've been working on another project recently that integrates Node.JS with Drupal, and we'd like to share some helpful resources with you that we found along the way:

1 Module Submitted
Add a link to every article node that updates a date field to today using ajax

It's a pretty common use case. You need a button on a node that says something like "Mark as Complete" or "Set as Today" which updates a date field.

12 Modules Submitted