The problem with CMS is the more seamless they become, the harder they get to modify should they not do exactly what you want. Furthermore, fully featured CMS tent to bloat and run your server harder. As a Web Developer, you don't need a nice installer and could be quite happy editing a configuration file rather that clicking check boxes to get what you want. However, it's nice to offer both possibilities to the end user. This simple example shows that the system was designed to be handled by multiple types of users. However, unlike with Joomla!, here you're expected to know a bit about web programming.

Drupal may be the ideal contestant to win the 1st place in the crowded world of Open Source Content Management Systems. Its standard install has many features. It can easily be used as a blog, discussion forum or just a plain old brochure site. It's lightweight and uncluttered. It won't work your web or database server too hard and will allow you to throttle data driven parts of itself if your server loads up too much.

Designed for mid to high usage sites, Drupal is a powerful and expandable system. As said before, it's meant to be more than just a blog or a CMS — even if it's perfectly capable of being "just that"; there are modules (extensions) for every conceivable function — with a bias towards community-oriented functionality.

Drupal is open source, released under GNU GPL and is of course free to download and use. It requires the traditional PHP / MySQL duo, and can also work with a PostgreSQL database server. Several hosting companies provide dedicated Drupal-ready environment (see the link below for more details)

Installing Drupal is as simple as downloading and uncompressing a zip archive, uploading it back to your server and following the instructions in the enclosed "install.txt" file. As mentioned above, you have the choice between using the install script, that will do most of the job for you, or putting your hands in the engine, and tweaking everything by hand.

Drupal’s adds a lot of value on the back-end — the kind of thing that will be fully appreciated by web programmers/developers. For example, being more than just a blogging tool, Drupal is searchable — nothing surprising. But since you can run multiple sites in parallel on a single Drupal installation, you can rapidly and easily extend your search capabilities across those multiples sites, thanks to a very-well document API.

Drupal also allows you to setup scheduled tasks, such as building and updating the index used for keyword searching, retrieving feeds from other sites, notifying other sites about new or updated content, or performing routine maintenance and pruning on system tables. These might require a bit more in-depth techy knowledge, such as activating periodic tasks using cron.

Main features

  • Collaborative user groups
  • Friendly URLs
  • Extendable through modules
  • Complete online help
  • Open source
  • Fully customizable
  • Role based permission system
  • Strong search capabilities
  • User authentication and ACL
  • Polls
  • Templating
  • Threaded comments
  • Version control
  • Blogger API support
  • Content syndication
  • News aggregator
  • Caching

Strengths

  • Complete content types and content organizing system
  • Built-in statistics
  • Comes in many languages
  • Powerful cache engine to minimize server load and speed up page delivery
  • Built with scalability and performance in mind
  • Very flexible structure that can easily be extended by means of plugins
  • Layout is completely customizable, and rendering engine outputs 100% XHTML-compliant code
  • Very active community, which means you'll never wait long before you got an answer to your question
  • A single Drupal setup can host several sites, each with its own individual configuration

Weaknesses

  • Because Drupal is so scalable, it's often difficult to find what you need in the documentation. If you can't find what you're looking for, turn to the community and post a question in the forums
  • Again, the quality of the modules (the extensions) varies a lot. You'll find anything from pure gems to pure rubbish
  • The default blog module isn't as slick as Wordpress or Joomla, and would deserve some enhancements

Final thoughts

From our review, it looks like Drupal has it all. And that's how a major strength can turn into a major weakness. Drupal may be a piece too big to eat for most of the people looking for an extended blog or a simple CMS. Its impressive range of features and the considerable horsepower buried into its architecture will require time and patience to be fully mastered. So if you're looking for a system that'll handle a single blog, you should consider alternative solutions like Wordpress, Dotclear or Chyrp. If you're after a lightweight CMS for a simple website, Joomla! will certainly do the trick. But if what you're on is a complete platform for multiple authors and multiple blogs, with the ability to grow from a couple of page to a multi-thousand users community forum, then Drupal is simply top class.

Links

» Drupal website
» Drupal modules and plugins
» Drupal themes
» Drupal documentation
» Drupal community forum
» Drupal hosting and services
» Download Drupal in english and in other languages