Drupal 7 was released in January 2011, but is it ready for your next project?
In the last few months, usage of Drupal 7 has finally started to tilt higher. After all, the Drupal community put its weight behind the #D7CX pledge. This community effort was designed to make sure all the popular modules would have a public release on the same day as Drupal 7 itself was released. This effort has improved the up-take rate and solved some of the problems with slow adoption of Drupal 6 after its release in February 2008.
Despite all that, Drupal 7 is not an appropriate choice for every single project. At OJC we just turned a corner — we have more Drupal 7 sites than 6 sites under construction.
Answer the questions below as you choose between Drupal 6 and 7 for your next project.
Are the modules you need ready?
It’s important to identify a comprehensive set of modules that your site will need and make sure they all have stable Drupal 7 versions available. Sometimes even a single module that is not Drupal 7-compatible could be reason to fall back to version 6. But you want to find out before you begin building the site, rather than later in your project when you might need to throw work away.
A recent example is OJC’s new e-learning course for the National Center for Victims of Crime. The site is a rich online course and the Quiz module is integral to the experience. Because there is no version of the Quiz module for Drupal 7, that one critical dependency caused us to fall back to Drupal 6 for the entire project.
On the other hand, a small (but graphically rich) site OJC is building for One Main Development’s leading real estate property does not use many add-on modules. The site has several important content types and listings, but otherwise has few contrib modules in use. So Drupal 7 was a natural choice. No module dependencies were holding us back.
Is your site Views-heavy?
The Views module is an integral and powerful tool for data-rich Drupal sites. Unfortunately, work on Views 3 for Drupal 7 is still on-going. If your site will depend on a lot of Views, then test out specific features of Views that you need in advance. Try installing an empty Drupal 7 site and building a few of the Views for your reference. This “proof of concept” will tell you if the features of Views 3 that you need are ready for prime time.
Is accessibility a priority for your site?
Drupal 7 is significantly more accessible than previous versions, especially if it involves the accessibility of administrative tools. A Drupal 6 site can be made accessible for the public by using an accessible theme. But the administrative back-end in Drupal 7 is now significantly more advanced than Drupal 6. It would be important to use Drupal 7 if site contributors and administrators may include people with disabilities.
For example, OJC is building a new website for the Disability Resources and Educational Services at the University of Illinois, and we chose Drupal 7 because accessibility is an overriding priority. For clients like DRES, accessibility is nonnegotiable, so the Drupal community’s efforts to make version 7 usable by people of all abilities made the decision simple. In addition, Drupal 7’s improvements in the theming layer makes it easier to code accessible sites, which is great for end users.
Is there an existing Drupal 6 site?
Another major factor in the choice to use Drupal 7 for DRES was their lack of existing Drupal 6 sites. If you have an existing infrastructure, multi-site setup, or a set of modules in regular use, all of that baggage might tie you to Drupal 6 for a longer time. But without any existent Drupal structure, there is little point in implementing a site with a closer expiration date (once Drupal 8 is out, Drupal 6 will no longer be supported).
When the site design, engineering and construction is from scratch, Drupal 7 and Drupal 6 are evenly matched: one doesn’t really take more time to build than the other. So, why not provide the organization with a longer-lived site?
In the case of OJC client Arts Midwest, however, the decision was made to build theirCaravanserai site in Drupal 6. Arts Midwest’s main site is in Drupal 6, as well as a few other micro-sites in their ecosystem. Because the client had existing knowledge of Drupal 6, hosting for Drupal 6, and production Drupal 6 sites, it made little sense for us to advise a system that would complicate their software stack. Even though the development process may have been fairly similar, launch and support of the site could have been considerably more complex: PHP versions may have been inadequate, table sharing would be much more difficult, and module upgrades more hairy.
How soon do you want to upgrade again?
Drupal 6 will be discontinued when Drupal 8 is released. Drupal’s project lead Dries Buytaert has committed to shorten the release cycle for Drupal 8 and make it more predictable. A 2-year cycle would put the release of 8 in January 2013. A 3-year cycle (the length of the D7 cycle) would put the release in January 2014.
But for large enterprises with a complex and mission-critical Drupal ecosystem, the cost of conducting an upgrade is significant. Such is the case for the American Library Association, which has numerous Drupal-based websites already. OJC’s migration project for ALA began a full 3 months before the official release of Drupal 7. We chose Drupal 7 because we knew the project had a 12-month timeline.
By the time the site goes into production, we knew that many of the bumps and bugs would be worked out. And we knew that dealing with a few bugs would pale in comparison to the cost of having to conduct an additional upgrade/migration sooner if we had used Drupal 6.
Is there a right answer?
OJC takes its role as a trusted adviser to the clients seriously: we try to give them the best possible site for their money. In a perfect world, that’s always the latest, greatest version of Drupal. But these decisions aren’t made in a vacuum. Sometimes a client has an existing Drupal ecosystem, and we need to provide something that will fit in accordingly. Sometimes they require a module or feature that is only available (or stable) for Drupal 6, and the cost of upgrading would be significant. And sometimes it’s the other way around, as with DRES: our recommendation of Drupal hinged on features present only in 7.
There is no cut and dry answer, but some reflection on the requirements of the site and the condition of both Drupal 6 and Drupal 7 usually yields a fairly clear answer.