What Features Does Drupal Provide Out of the Box?
One more than one occasion recently, I’ve found myself trying to explain to friends and clients what features the Drupal content management system provides “out of the box.” As I quickly realized, it’s not easy to do because Drupal is so rarely used as-is out of the box. It’s a “platform” on which you build the Web site you want, not a Web site in itself and certainly not a strictly defined tool that only does one thing.
But telling an entrepreneur they should adopt an amorphous “platform” that they’ll have to “build on” before they have a working Web site is admittedly unconvincing. And it doesn’t do Drupal justice.
Unfortunately, Drupal’s own documentation on features doesn’t focus as much as I’d like on the features entrepreneurs are most likely to be interested in. So then, here’s my take on what Drupal provides out of the box — and, by extension, what makes Drupal so great for Web development:
User Accounts
Whether you’re building a site with content, community, ecommerce, or marketing at the forefront, someone’s going to need to be able to log in to your site and perform some action. Editors will add new articles, community members will post comments, customers will track their orders, staff will update company information, and so on.
Building a user registration and account system like this on your own takes time and is prone to security holes. Drupal provides it all right out of the box, and it’s been thoroughly tested by experts, and any security patches that may be required in the future are free.
User Roles & Permissions
Because modern Web sites often require different classes of users with different permissions — think of site administrators versus community members or customers — Drupal lets you create roles and assign users to them. Each role (say, “admin”, “editor”, “member”, “customer”, etc.) can have different levels of access to the features on your site.
Editable Pages
Out of the box, you can create a Home page, an About page, a Contact Us page, and any other Web page for your site that you need. You can give one or more of the roles on your site permission to edit these pages – for example, the “editor” role. Anyone with the editor role would then be able to log in to the site, browse to any of the pages, click the “edit” tab, and update the content on that page. Maintaining your site is no longer limited to one Webmaster.
Multiple Content Types
Drupal lets you define other content types, beyond “Pages.” For instance, you might create a “Product” content type that you’ll use to store and display information about individual products that your company sells. Or you might create a “Press Release” content type.
At their core, Drupal content types are pretty simple: They have a Title field and an optional Body field. The posting time, author, and resulting URL where the content will appear on your site are also saved with each new content item you create.
But with the addition of a few modules, you can create truly powerful content types. These modules don’t come with Drupal “out of the box” (at least not yet), but they’re free, well-tested, and take just minutes to install:
- CCK: Stands for “content construction kit.” Lets you add additional fields to your content types, like Price, Phone Number, SKU, etc.
- Filefield and Imagefield: Lets you attach images and other files to content items. Handy for product images, user contributed photos, and so on.
- Imagecache: Automatically resizes attached images and saves multiple versions, like thumbnails and originals, according to your preferences.
- Views: Lets you set up “lists” of content in multiple, powerful ways. For example, you could set up a product catalog, or a list of new products, or a list of all users, or just new users.
User-Generated Content
By combining a custom content type and user roles, you can set up a site that accepts user-generated content. For instance, let’s say you want to create a photo sharing site. You’d start by setting up a “Photo” content type that has Title, Description, and Photo attachment fields. You’d then adjust your site’s user permissions so that any authenticated (registered) user could create new “Photo” content. Use the Views module to show new photos and to create a photo archive, and there you go.
Blogs
Drupal extends the concept of the blog and makes it a community activity by giving every registered user on your site his or her own blog. The latest posts across all the user are aggregated and shown in a group blog. You can limit this if you just want an organization-only blog, or leaving blogging off altogether.
Note, though, that if all you want is a tool to help you blog, Drupal is probably overkill. I recommend WordPress for simple, one-person blogs.
Comments
You can turn comments on for any content type on your Drupal site. Want people to comment on your photos? No problem. Don’t want them to comment on your company’s press releases? No problem.
You can even change comment settings on a per-item basis. Don’t want people to comment on that particular photo? No problem.
Draft Mode
Not sure you’re ready to make a certain item of content “live” for the world to see? Uncheck the “published” box and leave it in draft mode.
Revisions
Drupal can automatically save revisions of any content item on your site. Think you might want to revert back to a previous version of your About page? Not happy with changes to your Home page? Product promotion over and it’s time to return to the standard product listing? No problem.
RSS Feeds
Drupal automatically generates an RSS feed for its default front page, where the latest content on a site is listed. If you use Drupal’s core taxonomy module (mentioned below) to organize your content, each taxonomy page will have its own RSS feed, too. Better yet, if you install and use the Views module, any list of content on your site can have an RSS feed.
Clean URLs
If your Web server supports URL-rewriting (and most do), Drupal will let you change the URLs of individual content items, from Drupal’s standard-but-cryptic “/node/123″ style to “/about”, “/contact”, “/first-blog-post” or whatever else you’d like.
Search
Drupal comes with a search indexer built in. Your users can search for any content on your site or any user (if you let them.)
Taxonomy (Including Free Tagging)
If you have a lot of content, you’re going to want to organize it in categories to make it easier to find. For instance, if you run a travel guides site, you might use a simple taxonomy — perhaps “Countries” — so visitors can find articles related to a particular country.
You can also create hierarchical taxonomies (like, “Continents -> Countries -> Provinces -> Cities”). And you can create free tagging taxonomies where editors or users classify content according to any keywords they deem fit at the time they create the content (like “USA”, “country”, “North America”, “states”, etc.).
Forums
Drupal combines a “Forum” content type, a forum taxonomy, and its comments system to provide a simple message board system. To be fair, it’s lacking many of the administrative features that a forums-specific software package like vBulletin provides, but a lot of those features can be added through other Drupal modules.
Caching
To optimize the loading and serving of dynamic Web pages, Drupal offers caching and perfomance tools at multiple levels. First, you can have Drupal automatically compress your stylesheets and your JavaScript files so that there are fewer files to serve — and consequently, fewer files to load on the browser side.
If your site is content-rich, rather than community-oriented, you can also benefit from page-level caching. Here Drupal builds a page and then saves the HTML code for it in the database. The HTML is served up on future requests, which is faster than rebuilding the page anew each time. (For an even faster take on this, check out the Boost module.)
Web-Based Administration
Everything in Drupal is managed through the Web (other than installing new modules and themes.) This means editors can add and modify content from virtually anywhere. Likewise, site administrators can make most configuration changes by logging in to the Web site and accessing the administration panel.
Customizable Look and Feel
Though Drupal comes with some “themes” you can use right away, you can customize your site to look any way you want thanks to a flexible, PHP-based templating system.
Security
Because Drupal is an open source project with a huge following, its code is well reviewed and security holes are patched quickly. In fact, drupal has a security team that carefully reviews reported security vulnerabilities and maintains guidelines for Drupal developers on how to write secure code. New releases containing security patches are made available on Drupal.org and are free.
Modularity
Perhaps best of all, Drupal “out of the box” was designed to be modular. The system can be extended and highly customized by adding new modules, literally thousands of which are available for free from Drupal.org. Want an events calendar? There’s a module for it. Want to plot all your site’s users on a Google Map? There’s a module for it.
This is what people have in mind when they say Drupal is a “platform” for building sites. Indeed, calling Drupal a “content management system” is a poor explanation of what it can really do. Sure, out of the box, Drupal is oriented around managing content. But once you tap into all the modules available for extending Drupal, you realize that Drupal does much more — ecommerce, user-generated content, social networking, and more.
So really, the best way to describe Drupal is to call it a “Website construction kit”, not a content management system or a platform. And the question shouldn’t be, What does Drupal provide out of the box? It should be, What does your Web site need?
My name is Amit Asaravala. I'm an Internet technologies consultant & Web developer located in the San Francisco Bay Area. I specialize in helping organizations build great Web sites on open source technologies.
[...] not sure if building your Web site with Drupal is the right choice? Consider this: Drupal won the Hall of Fame Award in the 2009 Open Source CMS [...]
Nice one, Drupal is very diverse in what it can actually perform. my social site is powered by the cms, and its very flexible, and easy to use.If anyone wants to experience the true features of this system, i suggest you check out the modules at Drupal.org site.
Great work Drupees.