Our latest review of a blog publishing platform comes from Harold Jarche and Cameron Bales about Drupal. I knew relatively little about this platform, so I found this review particularly informative. It is thorough and generally quite positive.
Overall, the system sounds quite sophisticated, with advanced CMS (content management system) features that go beyond most blog platforms, particularly in regard to scalability and performance issues as well as administration controls. It is an open-source platform, like WordPress, with an active and growing base of developers and users. Also like WordPress, it is based on PHP, which aids its performance and scalability strengths, and like WordPress (and Movable Type), it requires users to have their own web server or web host. Read Harold and Cameron’s full review below.
Drupal (droo-puhl) is the English pronunciation for the Dutch word ‘druppel’ which stands for “drop.” Drupal is a website building system that allows blogs, stories (like slash), forums (like phpBB). You can set up a publishing workflow so some users are writers and some editors. It has XML/RSS publishing and Aggregation features. Once you figure it out, Drupal is easy to use with the basic features. The great feature about Drupal is how scalable it is. It can start as a small website, but expand into an enterprise CMS.
General performance: What makes this different/better than other blog publishing platforms?
If you are planning a large or busy site you may be excited by the search function, which will search all body text on your site, the cacheing, which pre-builds page content so there are not so many queries to the database so pages are sent faster, and the throttling, which will turn off high-cost features when the site is busy. Cacheing and throttling will allow your Drupal site to survive a “Slashdotting” better than many CMS tools. If you don’t have access to your logs, or for a different view on access to your site, Drupal has built in statistics so you can see what content is popular. You can use this to put up “Popular Today” or “Popular for All Time” information in your site.
What are some of the best advantages about this platform?
Drupal is not a hosted solution, so you will need to find a server. This is an advantage for those who wish to control their content, a critical issue after many years of blog posts, especially if you want to write the next Pulitzer-winning novel. For hosted Drupal solutions, a commercial alternative is Bryght.com.
Being more than just a blogging tool, Drupal is searchable CMS, allows you to quickly build a taxonomy (easy metadata), create static content, and add multiple bloggers. It is a complete web site, portal and blog tool.
The Drupal network uses a distributed authentication system, so that you can use the same login for any Drupal site that has the function activated. It’s one login & password, but for multiple sites. The Drupal community is quickly growing, with over 1,000 registered sites.
What are some of its disadvantages?
Because Drupal has so many features, and different authors have different ideas on the best way to control them, administering Drupal can be a bear while you are figuring out where the control you want is. And 5 months from now, the next time you want that control, again it can be frustrating to know it’s there, but not sure how to get to it.
Currently there is no easy way to upload a file (image, pdf…) with a post; you need to get the file on the server (image module, file upload module) and then know how to make the link to it. This should be fixed in the upcoming version 4.5.
Testing servers for upgrades, new modules, or radical new templates can be a hassle with Drupal, since you have to remember a few places to change the name of the server and clear the cache.
What’s the killer feature, if there is one?
With Drupal, you can start small, but it’s very powerful, so that this one system can stay with you as you grow. Drupal is first a CMS, but also an easy blogging tool, once it’s set up. The killer feature is content management.
Any content (blog entry, book page, image, poll, story) can be marked as “Published” (visible), “in moderation” (ready to be published/approved by editor), “Promoted on front page” (advertised; a portion of the beginning of the content will be show on the front page), “Static on front page” (similar but highlighted at the top above simply promoted items), “Create new revision” (keep copy of present version, and old version possibly with a note on what you changed).
You can set up different user groups with different roles and abilities: some can blog, some can write drafts of stories, some can post stories, some can comment, some can moderate comments.
What features does it lack or need fixing?
By default, Drupal has no easy tagging or WYSIWYG features; they must be installed by module so you can tell they are an accessory, not part of the core of the system.
Where does the publishing engine reside? On its own hosted servers, like Blogger or TypePad? On your own web server, like Movable Type? On your desktop, like Userland Radio? Other? (Outerspace?) What advantages/disadvantages do you see in this approach?
The publishing engine requires your own web server, or you can opt for a commercial Drupal service provider. This means that you have to purchase a domain, get hosting services and then setup the CMS. This is a disadvantage in terms of initial costs, but in the long run will give you more control over your content.
What’s the geek factor on this? How comfortable can non-technical people be with it?
Cam (the geek) found installing Drupal and getting it running the first time pretty simple. Harold (not a geek) did not even try. The instructions are good. You have to be sure the .htaccess file is read and mod_rewrite can work so friendly urls can work. Getting the basic database definition loaded was fairly simple using PHPMyAdmin. More difficult is the administration since there are so many features, installing non-core modules that may need database tweaks, and upgrades if you want to have a testing server. It is less geeky that TikiWiki and differently geeky than Gallery.
Once the main system was setup, Harold has had no difficulties maintaining content, tweaking the system and modifying the layout.
What’s the learning curve? Totally intuitive? Lots of features, thus requiring more time to familiarize yourself with all of it?
As mentioned, the learning curve is not too steep. You can set up a basic installation, and let it run. Later, you can add features and functions. Our sites have been set up in the course of a week, with probably a total of 6 to 8 hours of work, but some of this is loading graphics and getting the right look and feel.
What’s involved in setting it up? If you’re not technical, do you need help?
If you don’t manage your own webserver already, then it is strongly suggested that you get help with the installation. This is not a “setup everything in five steps” installation. Once set up, you will need almost no support.
Like most every open source project, the manual is aiming at a moving target so it may be covering a feature in a previous version; they cleverly don’t have screen shots and they allow comments on the manual pages of the site, so users who can’t edit the body of the pages can make notes on them.
Are there platform restrictions? (E.g., PC/Mac, APS vs. Linux servers, SQL Server, etc.)
Drupal is PHP-based, and Linux is the suggested operating system. Our installations are running on a Mac G4 with no problems at all.
The main code works with most any SQL database, but if you add contributed modules you may be restricted (often just mySLQ sometimes PostgreSQL or Microsoft SQL Server as well); check the docs for the specific module. “Friendly URLs” (no “?” in the url; better for users and search engines) will require mod_rewrite. Because the software resides on a remote server, you will need to make sure the remote backups are happening (possibly simpler than backups on your desktop). You may want to make sure you have access to a database admin tool like PHPMyAdmin if you want to poke around at your database by hand.
Who produces it? Is it an open-source community, a labor-of-love by some programmer, a company with financial backing? What is the likelihood this development team is going to still be at it a year or two from now, providing new features, etc.?
Drupal has been around for three years and has a good developer community. Drupal should be around for years to come. They recently celebrated the 10,000th node (forum topics, project issues, book pages, images and stories) since April 2001; that’s a good measure of how robust the online community is, and there is also a very good dialog in the mailing lists for support, developers, and another noting CVS changes.
The download page at the Drupal site lists about 100 third party modules and about 10 third party templates available for the current version of drupal.
Where is the software developed? How is language support in English (the web site, the manual, the support communities, etc.)? Other languages?
Language support for many single languages per web site (English, or German, or French, or Russian) is supposed to be good and getting better. Drupal doesn’t have good support for bilingual sites, but we haven’t found anything else that does either. The main site, manual, and mailing lists are almost entirely English.
What’s the pricing of it?
Drupal is GPL’d [i.e., free under the General Public License] and works with Apache or IIS web servers, PHP (4), and an SQL database.
Is there tech support?
Tech support is available through the online forums. The support section of the website lists a fair number of people who can offer paid support, either helping you use or set up some feature module, or template, or people who will make you a module or template for a fee. We haven’t used any of this fee based support.
Is there a good user manual?
Like most every open source project the manual is aiming at a moving target so it may be covering a feature in a previous version; they cleverly don’t have screen shots and they allow comments on the manual pages of the site so users who can’t edit the body of the pages can make notes on them.
Is there support for photos galleries?
Yes, but there is no easy way to upload a file (image, pdf…) with a post; you need to get the file on the server (image module, file upload module) and then know how to make the link to it. This should be fixed in the upcoming version 4.5. Each user can have a personal photo gallery as well.
Is there a built-in Blogroll/Link List kind of feature to manage blogrolls?
There is no built-in blogroll feature, but some workarounds are available on the developer forum. Not easy at this time. Drupal allows posting by XML-RPC blog APIs.
Can you post via email? Mobile phone/moblog?
The Mailhandler module allows registered users to create or edit nodes and comments via email. Authentication is usually based on the From: email address. Users may post taxonomy terms, teasers, and other node parameters using the Commands capability. There is not much feedback to date on how well this works.
Does it email posts to subscribers who so choose?
Some administrators may want to download, install and configure. The notify module may be downloaded and installed separately. Users can then request that Drupal send them an e-mail when new comments are posted (the notify module requires that cron.php be configured properly). This has a high geek factor.
Anything notable in the archive features?
Archives as in show a calendar and click a date to see what was posted on that date is available. Archive as in rollback of page content is also available.
Does it support comments? Comment-spam filtering? If so (the latter), what’s the approach?
There is a comment system, you can set it up to accept comments from anyone, or just signed on users. If you allow everyone to comment, there is currently no specific comment spam filtering, but at the same time Drupal isn’t so popular that it has attracted anyone to write a tool to automate comment spamming in Drupal like they have in Movable type (yet).
As the admin, it is pretty easy to see all the new comments on your site and read them and possibly delete them; you don’t have to visit each page to check the comments manually. The admin can set the maximum number of posts per minute, to slow the automatic spammers. You can also force all commenters to preview before they post, another mechanism that will slow down spammers. See also a comment by Morbus Iff on spam filtering in Drupal.
Does it support trackback?
Trackbacks and pings are supported.
Any idea how well it works on a Mac, with Mozilla or other non-W2K IE platforms?
We have used Drupal with a Mac using Safari, Mozilla and IE; as well as a Windows PC using IE and Firefox. All work well.
Does it pioneer any other new blog features that other platforms don’t have?
Not that we know of. The login feature across distributed hosts may be something special.
Does it support multiple authors? If so, does it have decent permission controls? (E.g., can you limit authors to publish only to draft?)
Drupal supports multiple authors, but they each get a separate blog, so it won’t look like a group blog. There is a meta blog of all bloggers on a site. There is a wide range of permissions that the admin can control; this is more usually used for the content management sections of a drupal site, not the blog sections.
Does it support a simple modular design for page elements? (E.g., when editing templates, are things like blogroll lists, sidebar elements, headers, etc., managed as separate entities, or are they all just in the HTML of a single template?)
Drupal uses a modular architecture, so that individual features, like navigation blocks, can be globally changed. Installable modules (plug-ins) can allow features including image galleries, alternate text input styles (BBCode, Wiki, HTMLArea WYSIWYG formatter, Markdown with SmartyPants, Textile), Trackback, and lots of other things.
Is it well suited for public corporate blogging? Why or why not?
Drupal could work well for corporate blogging because it is easy to add bloggers to any installation. Every user gets a personal blog, as well as a personal image gallery. Its scalability would be well-suited to corporate blogging.
Is it well suited for internal corporate blogging? Why or why not?
Drupal could work just as well for internal blogging because there is only one database for the entire site. That way anyone can find information with a single search. The search feature is great, and a blog can be used as personal knowledge management system. Many of Harold’s consulting reports and analyses begin by searching previous posts on his blog.
What other blog platforms have you used that you can compare this to?
Cameron installed and used Drupal for four sites, and has used TikiWiki and Gallery for one site each. Cam has administered a Communigate web server, installed compiled and configured ht:dig for a few sites, used Webmin for Bind and Apache or bare httpd.conf config for over 100 domains. Harold has used Blogger and QuickTopic in the past. We find that Drupal is powerful and flexible, and plan on sticking with it.
Blogging is about the text and having a site that is friendly to users and Google so people can find you, and people will use you. Google quite likes our Drupal sites. For users finding things on the blog, using taxonomy links, links for navigation, or the search all work well.
What else do we need to know about this system?
Next Version 4.5.0 will probably be available Mid Sept 2004.
Multiple sites one installation. It is fairly simple to have multiple sites use one installation of Drupal. You will need to edit the Apache Config file to point multiple sites to the same file location on your server, and have multiple config files that tell which database to use based on which hostname is accessing the site. This allows me to have a directory on my server with 4.3.x installed with a couple of sites, and 4.4.x in it with a couple of sites. Upgrades at the last decimal point can usually be installed with no worries about feature changes so to upgrade all your 4.4.x sites from 4.4.2 to 4.4.3 just dump the new/changed 4.4.3 files in there and you have upgraded all the sites.
Upgrades in the middle decimal point usually have feature/database changes so just dumping the new files on working sites is not the way to go. Usually I duplicate the database, set up a new host (450.bales.ca for the upcoming 4.5.0) set up a config file pointing to the database duplicate, add the 3-4 additional modules I want run the upgrade script, test, configure new features and then once I’m happy make the new install respond to my regular hostname. Remembering to change the Drupal config file so the base url is www…, clearing the cache so you don’t have links to pages on 450…., updating the Apache config properly are a few of the gotchas. It might be simpler and safer to make sure you have a good backup of the database, and do away with the temporary hostname.
Books. You can set up different style sheets for Drupal to use when printing a page – when you choose print page Drupal will group all the sub pages in a ‘book’ for printing in the same print job. A great feature about books is the “Printer-friendly version”, which will take all of the sections and sub-sections of a book and place all of the text and images in order on a single web page. This makes the creation of a brochure from the web very simple.
Templates. We haven’t played with a lot of the template features with Drupal – basically we use one and edited the CSS to get some better colors. There is a group of people in the developer community very interested in the templating and there are 2-3 basic templating methods. The problem with templates is that there are no previews available, so you have to install them before you can see them.
Meta-tags. Drupal uses a meta-tagging system they call “Taxonomy” I’ve seen similar things in Movable Type. This allows hierarchical relationships between your meta tags. If you remember your biology courses you may remember organisms being sorted by Taxonomies. Using/administering/understanding this taxonomy system causes quite a few headaches for new Drupal users.
Here is part of the Taxonomy I use to tag articles on my site:
—Sackville Town Council
By tagging an entry to be on the topic of “Coming Apocalypse” a link appears on the page allowing users to see all the items in that category.
- Main Site
- About Drupal
- Sample sites
- Screen Shots
- Mailing Lists
- Documentation – online
- Documentation – formatted for printing
- Online forums
- Downloads: main system, contributed modules, and themes
I posed some new questions, which Harold and Cameron graciously answered:
Does it let you publish in XML syndication? If so, in which formats? RSS 1.0? RSS 2.0? Atom? Others?
XML publication – RSS by default (rss version=”0.92″) Atom by plugin module. (We may already have answered this)
Does it have a spell checker?
Yes by plugin module, requires installation of aspell or ispell.
Does it have a wiki-publishing component?
There is a wiki module but as far as I can tell it is for formatting your posts (IE similar to Textile or Markdown) not really for wiki free flow page creation or permissions. Of course page creation isn’t very difficult and you can set up your permissions to be similar to many wikis. There may be many Drupal sites with Wikis
Can you easily set up multiple weblogs from one account or instalation of the blog publishing software, or must you create multiple accounts or installations?
(also probably already answered)
One Install of Drupal can fairly easily support multiple hosts with different content, and a single host can have multiple accounts all with their own Blog.
Does it support categories? If so, how about hiearchical categories (e.g., Movies / Horror, Movies / Comedies, Movies / Thriller, Books / Fiction, Books / Biographies, and so on)? What about surpressed categories? (That is, in the monthly archive, publish all except the “Breaking News” category)?
Yes (answered in the last catch all section under Taxonomy) Unsure about the surpressed categories.