Now that Drupal 7 has gone through a couple of Release Candidates, we feel confident that what we can see on the screen today represents very closely what everyone can expect in the final Drupal 7 production release. So, with some certainty at our backs and the release date just around the corner (we hope!), we thought it was time for us to present a Drupal 7 “first look,” that is, an overview of what everyone can expect from the new Drupal 7. There are literally hundreds of changes in Drupal 7. Many of those changes are “minor” in the eyes of most users, indeed, they are essentially invisible. This doesn’t mean those small changes aren’t important, simply that they aren’t on the radar for the average user. In this article we are going to focus on just the highlights, in three key areas:
- Changes visible on the surface
- Extensions of the Admin functionality
- Enhancements to the technical infrastructure
On the Surface
The first thing you notice when you fire up Drupal 7 is a new look and feel. For the first time in years, the release includes new themes. The only holdover from previous releases is the Garland theme, which has been updated to be Drupal 7 compatible. The new themes include:
- Bartik: The new default theme.
- Seven: The new admin theme.
- Stark: A new starter theme, intended for jumpstarting theme creation efforts via sub-themes.
Bartik theme Of the four themes (three new ones + Garland), only Garland and Bartik are ready to use on the front end of the site. Stark is purely a base theme, barren of all styling excepting only the default system styles. Garland remains, well, Garland; it’s basic and offers not a lot. Bartik is a big improvement with more than a dozen regions (module positions) available. Still, visually, Garland and Bartik are not worlds apart. Some additional variety would have been nice. (We note that the theme Corolla, which was included in earlier Drupal 7 beta releases did not make the final cut, sadly.) The inclusion of a base theme (Stark) is a nice move — giving themers who don’t want to use Zen (or other external starter themes) an easy way to build their own themes via sub-theme creation. One of the most welcome changes in Drupal 7 is the revision of the administration interface. This is not a minor tweak – this is a complete revision of both the interface and the information architecture. Long overdue, I think we all can agree… drupal 7 admin The new admin interface includes not only its own dedicated theme (Seven), but also a new overlay, toolbar and shortcuts menu, as shown in the screenshot, at right. The overlay gives you a light box approach to the admin layer, preserving in the background the front-end theme. Having a dedicated theme for the admin system is a huge improvement in usability for the system and that alone would be reason to celebrate, but changes don’t stop there. The new toolbar is anchored to the top of the browser window, reminiscent of the popular Admin Menu module many of us used in the past. There is also a configurable shortcuts menu present on the bottom edge of the toolbar; you can add your own favorites to the shortcut menu. A related improvement in look and feel is the inclusion of the Vertical Tabs functionality in the core. The functionality improves usability and reduces admin system clutter. The Drupal team has also taken a fresh look at the admin system’s labels and information architecture. They’ve cleaned things up, eliminated redundancies and clarified labels. All in all, the admin system changes finally bring Drupal into a state of usability that will make the system much more accessible for many non-technical users. The final area I want to highlight is a set of minor changes that will be meaningful to old Drupal users. Drupal 7 has “cleaned house” and done away from some of the legacy features that, frankly, weren’t of much utility. Gone in Drupal 7 are the Mission Statement functionality and the Footer Message. The site Search is now simply a block, instead of having two different versions of the same functionality. Also gone is the Theme Switcher option for users. Again, changes that clean things up, reduce complexity, and improve usability of the system as a whole.
Extended Admin Functionality
In addition to the changes in the look and feel of the admin system (highlighted above), Drupal 7 has added a number of enhancements to the functionality available to site admins. package installer Drupal finally has an integrated package installer, allowing you to add new extensions from within the admin interface, without being forced to resort to FTP or the webhost’s file manager. The new installer is simple and fast and a welcome time-saver. One of the biggest changes to the admin system is the inclusion of CCK in the core. For those of you who may be new to Drupal, CCK was a popular and powerful extension that, when added to a Drupal site, allowed you to create your own content types and to add fields to existing content types. This made it possible for site developers (and to a lesser extent, site owners) to tailor the admin system to serve the requirements of specific types of content — content that did not fit neatly in any of the default content types. The power of CCK is now built into the system; there is no need to add any additional modules to gain this mastery over your site’s content.
The technical architecture of Drupal 7 represents a major revision of the system. From the database to the theming layer, the changes are numerous and substantial. (There’s now even a simplified installer!) Many of the changes are minor in effect, but others are fundamental — for example the new database abstraction layer. The net effect of these changes on site performance has yet to be seen. We’ve been running versions locally for testing, but have not done any formal benchmarking, as we think that would be premature. Our initial reactions are quite positive, but let’s wait until we get a final production release and then put it through its paces… CCK in core From a developer’s (or a themer’s) perspective, there are numerous meaningful improvements. Among the biggest changes:
A revision of the database abstraction layer that makes interacting with the database simpler. An all-new DB API spells it all out.
There is now a second preprocessing layer, giving the ability to create more advanced preprocessing functions that can add variables to modules and themes.
Poormanscron is now integrated in the core, eliminating the need to install additional modules to work around cron limitations on shared webhosts.
The JQuery UI module is now in the core, adding improved JQuery functionality to the Drupal system.
The theming layer now has more templates available and also better support for RDFa. (Also, the infamous box.tpl.php template has finally been retired — yeah!)
Detailing the technical changes is beyond the scope of this article, but suffice it to say that Drupal 7 is both more powerful and more complex. That’s not a bad thing — the increase in complexity has been handled logically and sensibly. Our conclusion: Drupal 7 is a huge step forward for the project and a welcome improvement over Drupal 6. While we would have liked to have seen a richer offering of themes, the Drupal Team has created a system that is more powerful, more flexible and at the same time easier to use — no mean feat! For developers and designers, there is much to celebrate, and for those of you trying to sell Drupal to clients, the improvements in the admin system at last put you on an even footing with many competing projects.
Grab your copy of Drupal 7 here.