This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Reviews

Drupal 6 keeps getting better

By Susan Linton on March 20, 2008 (3:00:00 PM)

Share    Print    Comments   

Drupal is a modular content management system. It allows a user or group of users to construct Web sites, blogs, or forums by providing the framework for users with little or no PHP or database experience. It grows more popular with each new release because it becomes easier to use each new release. Drupal 6.0 (and 6.1) were recently released after a year of development. The new features and improvements make for an impressive content management platform.

The beauty of Drupal is how highly customizable it is. The more PHP you know, the more powerful it becomes. But even if you don't know any PHP you can build and run a great-looking site by utilizing Drupal's many built-in and contributed modules as well as the various themes. Some of the sites running Drupal include Warner Brothers Records, Popular Science, and The Onion. If you need help, you can find lots of handy documentation and a friendly user forum on the Drupal Web site.

I've been running Drupal since 3.1 and I always feel nervous at the prospect of a major version upgrade. In the past, there were always issues with upgrading the tables of the database, and sometimes I was left to search the Drupal forum or the Internet for pointers on how to fix these inevitable showstoppers. However, with each new release, the upgrade process has become less difficult, and 6.0 is reputed to be easiest yet. So, I set out to see.

Fresh install

My first course of action was to see how much a fresh install has improved since 3.1. Now, as then, the first step was to download the tarball and extract it into the Apache DocumentRoot folder. Also not changed is having to set up the initial database at the command line (or any graphical administration panel, such as phpMyAdmin). This is a simple process even at the command line. Just log into MySQL (or PostgreSQL 7.4 or higher) and type create database database_name; and then GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON database.database_name TO 'user'@'hostname' IDENTIFIED BY 'password';. In the old days, at this point, it would be time to import the database skeleton, edit the settings.php and .htaccess files, and browse to the new site and create an administration account. With 6.0, it's time to browse to your new site.

When you bring up your site you will be presented with an install wizard. The first screen allows you install other language files to use for the installation and your site. I clicked on "Install Drupal in English," and the install script verified system requirements. Next, I filled in my database name and user. The following step sets up the administrator account and some site settings such as timezone and whether to use Clean URLs, which are addresses for articles in plain text rather than ones that include code or long strings of numbers and dashes. That is it for basic installation.

At this point you can begin customizing your site's appearance and behavior. The initial screen has a list of steps with links to the corresponding configuration page in the adminstation section of your new site. Available choices include Configure your website, Enable additional functionality (through modules), Customize your website design (themes), and Start posting content. Also provided are links to documentation and help options. All worked really well for me.

The upgrade

The upgrade process isn't quite that easy, but it is much improved in this release. Before you begin, make sure you have recent backups of your database and files. Next, log in as user ID 1 (the administrator), put the site in Off-Line mode, revert to a default theme (Bluemarine or Garland), and disable all third-party modules and custom code. Then you are supposed to remove all existing Drupal files from your Web site's root folder, but I prefer to rename the current apache2 directory to apache2.bak and make a new one, in order to prevent any accidental deletions. At this point you can unpack the new Drupal files into the DocumentRoot folder and restore your files, images, and sites subdirectories and any other extra directories you may have.

Now you should be able to browser to http://www.yoursite.com/update.php to update the database. Hopefully this will complete without any errors. It took about five minutes to complete for my database and I received two or three insignificant notices, but my site was fully restored and functional. This was much better than having major errors and a broken site as I've encountered in the past. But I wasn't quite finished.

Many of the contributed modules I need for my site haven't been ported to 6.x yet, but I downloaded some that were. For 6.x, contributed themes and modules are now stored in the sites subdirectory. I unpacked my new modules and enabled them. The new built-in Update Status feature reported that I needed to update the database for these modules, so I clicked to allow that. Since my customized theme would no longer work with 6.x, I tested a few others and chose one.

The upgrade process involves a few more steps than a fresh install and includes updating the database tables, but I had no real problems with the Drupal core package. I did encounter some issues with some of the third-party modules, in that they caused problems with the update.php script. I've read that this is due to buggy or incompatible code. Hopefully those will be fixed soon, but I suffered no adverse effects from using the modules as they were. Everything functioned as it should, so I spent a little time getting to know some of the new features.

New features

Besides the new install wizard and upgrade improvements, one of the first smaller changes in 6.0 is the integration of the Update Status module, which was previously contributed by Earl Miles to monitor drupal.org for updates to Drupal core and contributed modules. Now monitoring for core updates and some system stats is included within the core of Drupal. The advantages of this will be cleaner code, oversight by core Drupal developers, and one less package to maintain.

The new language support starts with the installer and includes lots of nice features for sites serving a multi-language audience, such as language assignment based on custom URLs, built-in interface for on-the-fly language choice, and the ability to import translations after adding new languages. These features would be highly valuable to online retailers and news outlets.

One handy new feature is the new drag and drop interface for menu and block administration. Before, blocks (the side column items) and menu items were placed by assigned weight. This worked well if the administrator had the foresight to begin the top items with a low enough weight and leave numbers in between. If not, as in my case, it could become cumbersome to have to rearrange or add new items to the menu or side columns. Now you can just drag and drop the items to their new placement.

Improved performance is always a welcome addition. Drupal achieves optimized performance in 6.x foremost through splitting the functionality of core modules into smaller bits, which allows the system to load just the code needed. In addition, 6.x now includes the side blocks in the caching system. Caching has proven to be an immense help in speeding up Drupal sites by reducing the number of calls to the database server, and adding support for the blocks will have a noticeable effect on sites like mine that have many blocks in use.

Some other interesting changes include built-in OpenID support, password strength checking, and easier theming. Some smaller enhancements include improved poll code, individually themed signatures, and retained details for anonymous commenting.

Conclusion

My primary complaint with Drupal is still not addressed in this release. I believe having advertising capabilities is almost a necessity in any content management solution. Instead, Drupal leaves users to their own skills or to use a contributed module. The lack of native advertising support remains a major drawback.

In the past I didn't always recommend Drupal to people who asked because of the painful upgrading process. It wasn't because of the complex steps involved, but rather the errors received and breakage of the database. Thankfully, developers are improving the software with each release. Upgrading to 5.x was better than upgrading the previous version, and upgrading to 6.x was painless.

Drupal offers a wide range of customizability and scalability. It is ideal for people who want fine-grain control over the functionality and appearance of their Web sites, and for those who may not want that cookie-cutter look that comes with some other CMS offerings. Drupal provides building blocks for everyone from those with no experience to programmers who could write all their own code but wish to save time and effort.

I was impressed with this release of Drupal. From the install wizard through the upgrade process to the performance improvements, Drupal is maturing into one of the best content management solutions available.

Share    Print    Comments   

Comments

on Drupal 6 keeps getting better

Note: Comments are owned by the poster. We are not responsible for their content.

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 127.0.0.1] on March 20, 2008 04:05 PM
While I generally agree, I would still stick with 5.x until more of the modules are ported and stable. The Views 6.x module is still alpha and the upgrade is hit or miss. Drush (the command line control module) has still not been ported nor have a number of themes including the popular Denver.

That said, 6.x has enormous potential.

#

WebGUI is a Great CMS.

Posted by: Anonymous [ip: 165.21.154.108] on March 20, 2008 04:05 PM
I like WebGUI from http://www.webgui.org

#

Another vote for Drupal -with Postgres

Posted by: Diane on March 20, 2008 08:34 PM


Although I've wanted this earlier, now that MySQL is completely (not just InnoDB anymore) under the thumb of Sun, and (without getting into a flamewar over the MySQL/Postgres rivalry) with the other advantages of Postgres, I'm also waiting for a Postgres solution to Drupal. Let's hope Drupal doesn't go down the Compiere path.



Maybe using PEAR DB to enable portability and use of not just Postgres but other databases as well? Write once, run everywhere?



Another <a href=http://www.linux.com/?module=comments&func=display&cid=1184597>request</a> , and more requests in the modules message boards for the same (Postgres) thing.

#

Re: Another vote for Drupal -with Postgres

Posted by: Anonymous [ip: 166.82.144.82] on March 23, 2008 02:36 AM
Drupal already does and has for years supported postrgres.

#

Intranet downloading

Posted by: Anonymous [ip: 209.59.74.17] on March 20, 2008 09:36 PM
Can drupal 6.x solve my problem, I would like to setup an gui software download like ftp server or something? thank you.

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 129.198.241.67] on March 20, 2008 09:43 PM
The Drupal project would help themselves a TON by having a directory of sites that use Drupal. If you show potential new users (looks at self in mirror) what other people have done, it makes it easier for the new guy to see what he can do.

#

Re: Drupal 6 keeps getting better

Posted by: Anonymous [ip: 76.25.254.89] on March 21, 2008 07:20 PM

Drupal is the most popular but not the best

Posted by: Anonymous [ip: 75.230.25.226] on March 20, 2008 09:56 PM
There's another solution for open-source CMS's that gets a lot less attention than Drupal called <a href="http://www.exponentcms.org/">ExponentCMS</a>. In my experience, it's a lot easier to use and the installation and upgrade process is painless. The first time I used it, I had it installed and running in under 5 minutes.

#

Re: Drupal is the most popular but not the best

Posted by: Anonymous [ip: 119.11.66.100] on March 21, 2008 09:22 AM
Drupal isn't about being able to install it in 5 minutes. Drupal is about installing it, and then being able to customise *every* *single* aspect of it's functionality and look and feel in a matter of days, *without* having to rewrite large chunks of the cms.

#

Re(1): Drupal is the most popular but not the best

Posted by: Anonymous [ip: 74.39.225.12] on March 21, 2008 01:19 PM
Precisely. That's the most compelling feature of Drupal - you can change EVERYTHING without hacking core code. Want extra fields on the login box? Alter the form via a module! Want to add advertisements after the first paragraph of each story? Write a content filter, or modify the node output before it's displayed. I've yet to find something I couldn't do via the API.

That's why the author's complaint of no advertising built-in is absurd. You can have ads up and running in five minutes with a contributed module.

#

Re: Drupal is the most popular but not the best

Posted by: Anonymous [ip: 83.227.157.244] on March 23, 2008 12:49 PM
Yes, indeed. There are a lot of free and commercial content management systems out there that most likely is better and easier to use than Drupal. My personal favorite is Plone.

Plone have all the features Drupal has, and a lot more. By default it uses its own object database for storage. This means that it is a lot simpler to install than Drupal for a newbie, This object database also gives the user unlimited undo functionality. You are however not limited to this built in database, you can access any relational database out there that have a python or ODBC interface, and that would cover most relational database products.

To the content provider the interface looks very much like an ordinary file system, where you have options to put the content item in the desired workflow state (e.g published, private,...). The content can be accessed through WebDAV, and there are even plugins available for windows that makes it possible to publish and maintain contents on the CMS directly from your windows desktop by adding right mouse button menu items that lets you change document workflow state.

Plone have a very fine grained, and extendable system of handling permissions. It is role based where you can give roles to individual users or groups of individual users. The combination of roles and groups makes it very easy to handle very large sets of users in big organizations.

Plone sites can be developed entirely through the web, or by on an on disk plugin system (Products). Currently there is a very large set of such plone products available that would target most comman uses. The templates are very close to ordinary html as all control informaiton is stored in html tag attributes. This means that they can be edited by ordinary html toools.

Check it out at www.plone.org.

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 76.91.176.226] on March 20, 2008 11:24 PM
There is already a directory of sites at http://www.drupalsites.net. You can also see it at http://drupal.org/forum/25 and at http://www.buytaert.net/tag/drupal-sites

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 129.198.241.67] on March 21, 2008 12:31 AM
Thanks for the links. But, are they linked from a main page at Drupal.org? This is the first I'm seeing of this, and I've looked several times. Looking inside the support forums is not the first place I go for site examples. Home page, documentation, downloads, screenshots, but no Example Sites until you have helpfully pointed out where to look. Just a little marketing tip for Drupal

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 24.13.255.226] on March 21, 2008 05:26 AM
What does "core advertising support" even mean? How is it in any way relevant to a general purpose CMS to have banner ads built in, if that's what you eve mean?

And there are advert modules available for Drupal, and have been for a long time. :-)

#

Drupal 3.1?

Posted by: Anonymous [ip: 96.2.169.91] on March 21, 2008 11:34 AM
The author is mistaken. There was no Drupal 3.1. <a href = "http://web.archive.org/web/20020720232212/http://drupal.org/">Drupal 3.0.1</a> was released in 2001. If this is the version she has been using, then the author has been waiting a very long time for her Advertisement module in the core! :-)

BryanSD

#

Another vote for Drupal -with Postgres

Posted by: Anonymous [ip: 127.0.0.1] on March 21, 2008 07:29 PM
You mention the Sun issue. The also purchased VirtualBox at about the same time. Both are still available as FOSS, are updated frequently and provide ample documentation. I fail to appreciate why MySQL becomes less appealing just because it was acquired by Sun. Now had it been purchased by M$, that would be a different story.

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 221.106.4.12] on March 22, 2008 03:16 PM
http://drupal.org/node/7443
Also lists some impressive drupal sites. I'd show you my sites but that might turn you off since they're so ugly.

#

Drupal 6 keeps getting better

Posted by: Anonymous [ip: 68.0.194.37] on March 22, 2008 09:24 PM
Good article, but I've been managing CMSes since 2004 and I have never once wanted an ad module. I would never want the bloat that would cause. Support of images is an issue but ads, why would I care?

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya