Upgraded to Drupal 7: Salesforce, Homebox, Stock API, Hierarchical Select

For us, every project starts with goals. From goals comes strategy, from strategy comes planning (information architecture, interaction design, technical architecture) and from planning comes (a rather agile) implementation.

And for implementation, 2011 so far is the year of Drupal 7 — at least it has been for us, because all of the projects we've started this year have implementation powered by Drupal 7 at the core. In some ways, we love Drupal 7 so much more than Drupal 6, we don't like to look back. It's almost painful to have to deal with Drupal 6 anymore … especially when it comes to theming.

Of course, this means we've had to do quite a bit of wrangling with module bugs, helping with upgrade-related issues, and contributing our own upgrades. Despite the success of the #D7CX initiative, the first several months of Drupal 7 contrib felt like life on the bleeding edge. That's only natural for such a large and robust system as Drupal has become.

Some of the modules we upgraded to Drupal 7 include:

SalesForce module and other modules
Our view is that the best way to upgrade existing Drupal modules is to contribute the work back to their respective Drupal.org projects. This way the client benefits from having more code supported by the Drupal community. We benefit by having extra eyeballs and keyboards working the challenges, as well as ensuring that the client's project remains on the open source path.


[Ported to Drupal 7, still in active development.]

With a project making very heavy use of quite deep Salesforce integration with Drupal, we had to get the Salesforce Suite into Drupal 7 shape. We've made quite a lot of progress. Yet this is a huge undertaking, and much is yet to be done. Check out the issue queue. For a sense of what's next and priorities, see the Salesforce Suite for Drupal 7 roadmap. (We'll have more on Salesforce integration with Drupal 7 in another post.)


[Available now for Drupal 7. Seeking (co-)maintainer(s).]

You may know it as "Your Dashboard" on Drupal.org. It was available in Drupal 6, but we needed it for Drupal 7, so we did the upgrade to a minimum viable product release. Homebox is available for your Drupal 7 project!

We don't have an internal need to push it further, but Homebox has tons of potential, especially for site managers and administrators. If you're interested in extending and improving Homebox, please share your patches, or even help review patches already submitted. Maybe you'd even like to be co-maintainer?

Stock API

[Available now for Drupal 7. Seeking (co-)maintainer(s).]

Need a block to display stock prices? We ported the module from Drupal 6 to 7. It's still a -dev release, but fairly stable at the moment. At this point, we don't need to take it further. Future maintainer(s) interested in building out a cool set of stock-market-monitoring features are welcome to take up the baton from here.

Hierarchical Select

[Available now for Drupal 7.]

Goodness knows this module faces a huge rearchitecting for Drupal 7, but we needed something working right away, so we've been working with maintainer Wim Leers to get a minimum viable product released. There's a lot more that could be done for HS, but at least it's available for Drupal 7 now, and I'm sure Wim would appreciate more loving community attention on this incredibly useful usability enhancer.

Oops, that's a cul-de-sac

One project we did that is now pretty much EOL is Apache Solr Pages. We needed the functionality for a project at the time, and Solr did not have it and there was no clear roadmap as to when or even whether it would have it, so we contributed this simple project. Now Solr itself provides that functionality, so this project turned out to be not needed.

The commons

In fighting the bleeding edge, we discovered a bug in, and rolled a patch to fix, the Aggregator module in Drupal core. (The patch was then adapted/modified by other community contributors to work on Drupal 8 first, for subsequent backporting. As I write this, it's ready to be committed, so it will hopefully be in a Drupal 7 point release very soon. Isn't open source great?) We also offered some small help in the issue queues on a number of contrib projects. It took a lot of work from this great community to bring Drupal to where it is now. We're glad to do our own small part.

That's the way of the commons. We consider it our responsibility to our clients to fix and update modules this way. The whole idea of using open source is that you adopt code that is shared by the worldwide community. If you don't share the fixes, not only is the community diminished as a result, you've also created your own fork that you, or your client, will be stuck maintaining alone. That's what we would call a bad strategy. Share in the commons and everyone benefits — the community, your client, you.

D7 to get you through these dog days

Every time a new major Drupal release hits the interwebs, there's a bit of debate over when that new release is ready for production use by site builders and owners, and it almost always comes down to the state of contrib. This summer, Drupal 7 contrib has really started to stabilize, with solid releases to many of the popular and useful modules out there. From our perspective, it would take some huge convincing to get us to consider Drupal 6 now for any new project, because Drupal 7 is coming of age and ready for its day in the sun. Not only that, compared with Drupal 6, Drupal 7 will have 1-3 years' more community support (barring an unexpectedly short Drupal 9 release cycle).

With such a large Drupal community, and the amazing proliferation of new module and theme projects, thanks to Drupal.org's new Git footing and the easy ability to create project sandboxes, it can be challenging to keep up with what's happening, or to even be aware of things that may be an awesome fit for your needs. There's simply too much Drupal community development activity to keep track of these days. This post is a little highlight of things we've been working on that you may find interesting, useful or even worthy of your support. I hope other shops, freelancers and hobbyists post about their work as well. It's a busy Drupal world. Shine some light on what you're doing!

We want to work with you!