Drupal 7



March 04, 2011

There is just so much to say about Drupal 7 and advantages to upgrading. There is so much excitement around this new platform and I'm very happy that we've been able to play a small part in getting this application to where it is now. I've already talked at length about accessibility issues with this release, but it's time to focus a bit more on some of the other great aspects.


There's been so much work that has gone into usability.  There are two new themes which have been added, Bartik and Seven.  Bartik provides a fresh new public look for default sites as the old Garland theme moves toward retirement.  Seven is the default administration theme providing a strong, simple framework for editing content.  For the first time there was a process which defined the minimum elements required for a new theme to get into core, this really improved the quality of all of the themes.

There is a much more consistent design pattern that has been implemented that makes it easier for people to get help, to predict how new elements will work and focus on the critical items on the page. Drupal is such a powerful, flexible tool that it can be easy to overwhelm people with options.  Having well thought out design patterns helps user experience.  The usability team ran early beta's through usability tests early enough that changes were able to be brought into core.

There are other great tools like customizable shortcuts, contextual links and toolbars that are great.  It's nice to have that level of basic, quick navigation that you can fall back on, where as previously we generally installed the Admin Menu module as soon as we could to speed up our work.  The shortcuts in particular make it way easier to get to Performance page to clear the cache.  Speaking of clearing the cache and usability, it's great that there's a big button on the top of the page that makes it easy to clear cached pages, CSS and JavaScript.  I also like that the Status report is given a higher profile.

Ready for Business

We do work with agencies that often prefer to use another database other than MySQL.  The database abstraction layer that Drupal 7 uses will make it much easier for this application to be used in enterprise environments.  It's nice to be able to us PostgreSQLSQLlite, Oracle or SQL Server more easily with Drupal 7.  We're likely to stay with MySQL on most of our servers but nice to know we have options other than MariaDB if we need them. Nice also to be able to work with NoSQL databases too if we need to significantly scale up page delivery. 

Built in support for Varnish will mean that dynamic sites can be delivered much more quickly to the client. There are already many levels of caching available in Drupal to improve performance, but Varnish can help dramatically speed up load times.

The integration of SimpleTest's automated code testing structure is huge for any complicated web sites and thanks to Webchick and many others we now not only have a unit testing framework in core, but we have thousands of tests written for the core functionality of Drupal.  The thousands of tests already written provide a strong example for the thousands of contributed modules to follow.  I look forward to seeing more automated means to test for module/theme conflicts in Drupal 7.

Bringing Modules Into Core

It's really hard to under state the power that comes with adding CCK fields to core. The expanded functionality now supports not only the nodes, but also on terms and users making it even more flexible.  Bringing CCK into core Fields means that there will be better support with all contributed modules and that it will be very stable within the Drupal 7 life cycle.  We've been adding and CCK/Views by default for a long while now and are happy to see that the flexibility of CCK has been brought into core!

It's also great that finally image support is being handled in core.  Being able to upload images is something that almost every site needs to do.  Having a standardized way to do this will make it more usable for everyone.  Not that you're locked into using this module, as with most Drupal functions, there are hooks that enable them to be over-ridden by other modules. 

Looking Ahead

Drupal 7 may prove to be the largest Drupal release ever (and it is still relatively small).  Improved support for Drupal distributions in Drupal 7 will make it much easier for exciting projects like Open Atrium, Pressflow, and OpenGov releases to grow without forking the code base.  In the Drupal 7 process there was a ground swell of people who wanted to see a Small Core remain a key piece of Drupal 7.  As more modules were being added the community is looking ahead to how to best support a wide range of requirements. 

Dries made a bold call to build RDFa support into core for Drupal 7.  This is not only beneficial for the Drupal community, but the push for more semantic markup will make it much easier for people to find the information they need online in a way which is meaningful to them.  I do hope that we get a good implementation of the power of Drupal's semantic web through the State of Drupal address this year, but we will have to see.  

About The Author

Mike Gifford is the founder of OpenConcept Consulting Inc, which he started in 1999. Since then, he has been particularly active in developing and extending open source content management systems to allow people to get closer to their content. Before starting OpenConcept, Mike had worked for a number of national NGOs including Oxfam Canada and Friends of the Earth.