Hands on the Drupal 7 Beta
Last week, the Drupal team released the first beta of version 7 of their venerable CMS. Drupal 7 has been a long time coming, and has benefited from a massive UI overhaul with the help of international man of mystery, Mark Boulton.
I’ll admit, I have a love–hate relationship with Drupal. I’ve used it for a few projects in the past, where I was able to have them up and running quickly, due to Drupal’s sophisticated functionality available out of the box. However, Drupal always had a steep learning curve, limited documentation, and more than a few peculiar ways of doing things. I skipped version 6 entirely, but with some of the buzz surrounding the version 7 improvements, I figured it was a good time to have a look and see what’s been going on.
On the whole, the beta feels fairly polished. While I wasn’t overly rigorous in how I used it, it seemed complete and I encountered no bugs. Of course, I’d stop short of rushing out to install it on your production sites! But you should have no problems throwing it up on your VM and having a play.
The first impression you form of a CMS will often come from its installer, and after lagging behind WordPress in this area, Drupal 7 has finally come equipped to play. The installer first gives you the choice of a Standard or Minimal install (the former will have several common modules activated and configured for you, while the latter is a bare-bones alternative). You’ll then need to fill in your database information and a few other key settings, as well as enter the details for your first user, and the installer will then go on its merry way configuring the database accordingly.
Once it’s installed, Drupal 7 will drop you on the front page of your new site. Unlike WordPress, the admin interface of Drupal is integrated into the site itself. This makes sense, as Drupal bills itself as a community CMS, rather than a more traditional publishing platform like WordPress. In previous versions of Drupal, the admin interface took the form of an extra sidebar widget; however, in Drupal 7, the admin interface is more like a layer sitting above the site itself. There’s a fixed menu bar at the top containing links to all the admin functionality; click on any item and the relevant options page will be displayed as a modal dialog on top of the site. If you’ve been using Drupal for a long time, this might seem confusing at first, but after playing with it for a bit, I found I got used to it fairly quickly. Some parts have been moved around (for instance, Content Types administration used to sit inside Content, now it’s in a new section called Structure), but overall it’s quite recognizable as good old Drupal.
The inline editing of blocks and regions in the theme is nice and slick, as you can see below:
So, overall, I’m a fan of the new UI: it’s a complete refresh that manages to retain a unique identity and showcase the strengths of the platform.
Under the Hood
Drupal 7 is not just about a flashy UI, though: there are significant changes in its codebase as well. One major change is the move to PHP 5; as of version 7, Drupal requires PHP version 5.2 as the minimum.
From a developer’s perspective, one of the most exciting additions to Drupal 7 is the new Field API. Previous versions of Drupal have relied on the CCK (Content Construction Kit) module to add new content types and fields; it was almost always the first module you’d install on any new Drupal site. The Field API aims to replace the CCK and bring this functionality to Drupal’s core. But it goes beyond that: built-in content types like nodes, users, and taxonomy terms are now also tied in with the Field API, so these, fields are fair game for developers to modify at their whim.
Unfortunately, this API, while summarily documented, isn’t clearly explained with example code anywhere; therefore, if you want to start playing with it, it’s going to take some digging around before you feel comfortable using it in your projects.
And the Kitchen Sink
Drupal 7 also comes with vastly improved file and image handling, a better API for user permissions and roles, performance improvements, and more. For a full list of what’s new, be sure to check out the changelog.
While Drupal 7 is an impressive effort from both a design and a development perspective, the lack of good documentation still makes it a daunting beast for developers to try to tame. That said, stay on the look out for tutorials on the new API features right here at SitePoint!
Have any of you Drupal users out there had a play with the beta? What are your thoughts?