Drupal. The open source Content Management System (CMS) used to power everything from personal sites to the White House's Web site, is legendary for its flexibility and power. But Drupal has also been known for its labyrinthian administrative interface.
IN PICTURES: 7 things we love about Drupal 7
Drupal 7 represents a conscious effort to make Drupal easier to use, but the results are mixed.
Drupal 7's installation routine is relatively simple — create a database, modify the sample configuration file, and walk through a very short Web-based install. The experience is comparable to setting up a WordPress blog. It's fast, easy, and you'll have no problem setting up a Drupal site if you have any business at all administering a CMS.
After the installation, Drupal hands you off to the administrator dashboard. This is the "now what?" moment. In its just-installed state, Drupal is sort of the Ikea kit of content management — some assembly is required. Specifically, you need to start adding and configuring modules to extend the functionality of Drupal, and theme the site to achieve the look you'd like.
When I say the user-experience efforts for Drupal 7 had mixed results, I should clarify that I find Drupal 7 to be more intuitive and usable than Drupal 6. The user interface isn't just more attractive (it is) but also includes some crucial enhancements.
Managing modules, for example, is much easier in Drupal 7. Now you can install a module just by specifying the URL for the zip file or tarball, though you still have to use the Drupal community site to search for modules. The WordPress Dashboard allows searching for, installing, and managing plugins without leaving the Dashboard.
But Drupal 7 still has a way to go before I'd consider it entirely intuitive. You'll need to spend some time with the Drupal docs to become productive with the platform, even if you're just using default modules.
One example — you can enable tracking and get an extremely detailed log of activity on your Drupal site. But it's a multi-step process, and one could forgive an admin for being frustrated that nodes include a "Track" tab whether it's enabled or not — but without any indication how to enable gathering data.
The flip side is that the new user interface is much easier to navigate than Drupal 6. One major feature that I haven't seen elsewhere is the "Shortcut" concept. If there's an administrative function you use frequently, you can add it to the shortcuts so that it's just one click away when you're in the administrative interface. For example, to moderate comments, you have to navigate to the Content menu, then the Comments tab, and then click the "unapproved comments" button. If your site doesn't allow comments, then this location makes sense. If you're running a site that receives a lot of comments, then this is a hassle. However, you can add a shortcut that puts the unapproved comments piece just one click away.
In short, you will find yourself spending quite a lot of time pouring over the Drupal documentation while putting your site together. It's required that modules have not just "README" but also inline documentation and how-to-use modules from the admin and user perspective. Other projects should take a cue from the Drupal folks here.
How Drupal 7 compares
How does Drupal 7 stack up against the competition, like Joomla and WordPress? In my experience, you can bend the current crop of major open source CMS offerings into any type of site you want. Want to use WordPress to power a major publication, rather than a personal blog? It can be done rather easily. Want to use Drupal to power a personal blog rather than as a platform for the White House? It's a bit like using dynamite to go fishing, but it can be done.
But as for suitability to purpose, Drupal is overkill if you are running a small site that doesn't require much in the way of collaboration between members. It requires far too many steps to do something simple like enabling a blog and having posts on the front page of the site that are visible to the world. There's a good reason for that, and the flexibility means that you can do more interesting things more easily using Drupal — if you need to.
If you're running Drupal 6 now, should you upgrade? It depends on which modules you're using. In testing Drupal 7 I didn't run into any glitches with the default modules, but you'll find far fewer themes and mature modules for Drupal 7 than Drupal 6.
For instance, I went to find a tool to import entries from a WordPress blog, but couldn't find a stable module to accomplish that for Drupal 7. The one with the most Google juice was tagged for 6.x only, and the new WordPress Migrate module is still "early in its evolution and not quite ready for an official release."
Drupal 7 is a nice improvement on previous releases, and it's a solid, flexible, powerful CMS. If you've been waiting to roll out a new site, don't hesitate to go with Drupal 7 if it meets your needs. If you're already on Drupal, hold off a few more months before looking to upgrade.
Joe 'Zonker' Brockmeier is a freelance writer and editor. You can reach Zonker at firstname.lastname@example.org and follow him on Twitter as @jzb. He also writes the Open Source Report for Network World's Open Source subnet.
Read more about software in Network World's Software section.