Friday, November 17, 2006

A New Website, Part Five - Basic Drupal Configuration

If you were installing Drupal for just one site, you would have come to this point very quickly - in previous installations it has taken less than half an hour to download and install the Drupal software in my website directory, create the Drupal database, and run the installation routine. It took me a lot longer because my installation is quite a bit more complex - I am installing Drupal to manage several websites at once.

But now I have set this up, and I am looking at one website in particular now, the one that is running at This is only it's temporary location - it will later become the home page. But I won't switch the domain name until it's all set up here.

Administration Panel

What I want to do now is become familiar with the Drupal administration panel. The new Drupal 5.0 admin panel looks quite different from the previous Drupal panels, but I recognize a lot of the functionality. This looks a bit better organized and easier to use, though.

The administration area is divided into the following subareas:
- Content management
- Site building
- Site configuration
- User management
- Logs
These are also available from the administration menu in the left sidebar, along with a 'help' link

There's also an 'edit primary links' link in the upper left hand corner (why is it way up there? This is an important control - why isn't it in the main menu? Who comes up with this sort of design?)


We'll look at Logs first. We can see the following:
- Recent log entries
- Top 'access denied' errors
- Top 'page not found' errors
- Status report

These are Drupal logs, and not web server logs. Drupal records everything - look at 'Recent' log entries, for example, and you can see where youy created the administrator, where you first logged on, and (as in my case) where you forgot your password and were denied access.

The logs are useful, but we may want to tone down the logging in the future in order to speed the system up. After all, the web server also has logs.

Site Configuration

We'll look at site configuration next, since this is the most top level element (recall the logic I'm following, which I described at the beginning of part four). There's quite a long list of site configuration items. Some of them we can move through quickly, while others will take some thought.

Administration Theme

This selects a theme for my administration page. I can select from one of a half dozen themes from the dropdown list. So if I'm sick of the default blue theme (and believe me, I am) I can select another. I don't really like any of them, but I select pushbutton.

These themes really are worth noting. All Drupal content can be customized. That is, the raw content (a story, say, or a comment) is stored in the database. When it is presented, it is given a certain look and feel, depending on the theme. The theme defines the colours, the typestyle, the images and other decorations, and the arrangement of content on the page.

You may have seen the revolving themes on my website (see, for now, this page). These were inspired by the Drupal themes (they work a bit differently, however).

Clean URLs

If you look at a Drupal installation, you see the URLs look like this: ''. This option cleans them up by getting rid of the ?q=. But it requires setting up server redirects, which means your server has to support them. Does mine? I can click on a link to test this. Nope; I get a server error (I don't know why I get server errors when I try to hit a page that doesn't exist - I should be getting 'error 404 page not found'). The information is here - and I have to send another note to my server administrator. So for now I'll leave this 'disabled'.

Date and Time

This is as you might imagine. I set the time zone to -4:00 (which is to say, Greenwich Mean Time (GMT) - 4 hours). That's not perfect, because my time zone - Atlantic Time - will change with daylight time. But it will do for now. I have also decided to allow users to set their own time zones. And I left the default display formats because, frankly, I don't care.

Error Reporting

This lets me define 'page not found' and 'access denied' pages. But first I would need to create the pages. I don't feel like creating pages yet. So I'll put this on a 'to do' list.

File System

Drupal allows people to upload files (like images, PDF files, and more). This tells Drupal where to store them. I have always used 'files' for my own file uploads on my other site, so I am very happy with the default. Though if it said something different, I would have changed it to 'files'.

Image Toolkit

This is probably a whole article in itself. Right now there are no image toolkits, and PHP's default image managing software hasn't been loaded (I have sent a note to the website administrator asking for it).

Input Formats

When people add content to your site, they may want to add HTML. They may even want to embed things like YouTube videos. They may even want to embed PHP. More to the point, you as site administrator may want to do these things.

Drupal grants permission to upload different types of content according to user roles. There are three basic roles defined out of the box:
- administrator
- logged-in user
- anonymous user

The different types of content, meanwhile, are defined by the filters they use. Essentially, the filter looks at the input and filters out any content that is not allowed.

I haven't defined any additional roles yet, nor will I, on this site. Though on NewsTrolls, because I manage that site with several other people, I created a new role, 'Troll', which I allowed to input whatever kind of content they want. Logged in users can input filtered HTML. Anonymous users can't submit content at all on NewsTrolls (I've had a real problem there with nasty vicious anonymous commenters).

Here I will allow users to upload filtered HTML, while I, the administrator, can upload whatever I want.

Page Caching

Because rupal is a content management system, and because it creates each page using themes, as described above, it can consume a fair amount of processor power. Page caching reduces the amount of power it needs, because full versions of the page are stored and displayed. Definitely the way to go, especially on high volume sites.

Site Information

This is the page where I specify the name of the site, the administrator's email address, and other vital stuff.

Site Maintenance

I can take the site offline and leave a message if I want. But I never want.

That's it for site configuration. All pretty basic stuff.

Content Management

Though I won't be doing a whole lot of content management at the moment, it's useful to have a look at how Drupal 5.0 manages things.


Drupal supports categories. Basically, the way categories work on Drupal is that a list of categories is presented as a drop-down list when you create some new content, and you select from that list. You can have more than one vocabulary, which means you can have different kinds of categories - some for sections, for example, others for topics. Whatever.

Peeking into this section, I notice that Drupal 5.0 also allows tagging. In tagging, instead of picking a term from a drop-down list, the user simply types, free-form, a term into a space. The taxonomy then becomes whatever set of terms were input by users. Drupal 5.0 also supports tree-like hierarchies and related terms.

I might use some categorization, but none of this really fits into my own way of doing categories. My topics (which you can view, for now, on my current website) are based on predefined searches using regular expressions. So it's likely I'm going to have to write some custom code around this. An item for the to-do list, then.


Comments are a soecial type of content. Comments are usually entered by visitors to the site and usually follow from some post or article. The Comments panel allows me to do two things: first, to look at a list of all comments, edit them, and delete them; and second, to set options for displaying comments. I have no comments to edit or approve at the moment, so I'll go straight into settings.

There are two major things to set: viewing options, and posting settings.

I look at posting settings first. This specifies who is allowed to comment, and under what conditions. The main thing I want to specify for now is: "Location of comment submission form: Display below post or comments." I can also require anonymous visitors to provide contact info - but I must first give them permission, under the Access Controls menu (we encountered this above, under 'input formats').

So I follow the link to 'Access Controls', find the column for 'anonymous' visitors, and check the boxes for "post comments" and "post comments without approval" (don't know if I need both, but it can't hurt - I think). I save this, then return to the Comments administration (I have to use the menu in the left hand column). Then I select "Anonymous posters may leave their contact information."

In the viewing options I select "Flat list - expanded" and "Date - newest first". I know a lot of people like threaded lists - and I read just the other day in Online Journlism Review that you should use threaded lists - but I really dislike them, because I can never tell what's new. I'll hide the comment controls for now; if there's a fuss, I'll restore them.


Posts are another major content type. On this site, I am the only person who creates posts (on NewsTrolls, though, we allow anyone to create posts).

There are two major types of post: 'page' and 'story'. A 'story' is like a blog post - it's one of the main types of content on the site. A 'page' is more like a static website page, something that is there all the time (though its contents may change).

Post Settings

This defines how to display posts. Posts are (by default, though I will change this) displayed on the main page. You can set the number of posts, and how much of the post to display (because you may want only the first paragraph to show on the front page, having readers click further to read more).

RSS Publishing

This defines the RSS feed, which is now standard in Drupal.

That's it for content. Again, nothing fancy here. Of course, we still have no content at all showing on the home page.

Site Building

I could go to 'user management' now, but there's nothing I want to do with users just yet. So we'll save this for another day. I would like to finish the day with at least something on the web to show for it.

There are four major sections in Site Building.


Content on Drupal pages can be displayed as a block. A block is a predefined chunk of content that can be placed anywhere you want on a page (doesn't this sound like a Learning Object? Don't you wonder where the IMS community went off the rails?)

Clicking on the Bl;ocks link displays a table of blocks. The blocks are organized according to where they are displayed on the main page. I notice the list is rather shorter for Drupal 5.0 than for the previous versions I've installed. Also, my Administration Theme doesn't appear to be working on this page - I'm back to the ugly blue. Oh Well.

I see only two blocks enabled, both in the left sidebar: the 'login' and the 'navigation' menus. I also see four blocks disabled entirely: primary links, recent comments, syndicate, who's new, and who's online. I decide to enable them all for now, putting 'primary links' in the center column (aka 'content') and the rest in the previously unused right hand column.

This is pretty ugly. I expected many more blocks. This means I will have to keep track at the Drupal site for more predefined blocks as they come available. I may also have to create some blocks myself - I can click a link titled 'Create Block'. But there's a bit to it, since you need to define content for the blocks. I go back to the page to take a look at the new look.

I can also 'configure' each block by clicking on the 'configure' link. I can allow users to hide blocks, I can show some blocks to some users, but not to others, and I can show blocks on some pages and not to others. I don't need any of this fine control yet, though.


This lets me build menus. I won't linger here, because I don't want to mess with menus just yet. One menu is already defined - the navigation menu, which sits in the left hand column. Typically a site will have a menu bar across the top, but I would have to build this as a separate menu.


I'll cover this in Part Six.


As mentioned previously, you can set create and set different themes for a Drupal website. My main website is still that awful blue theme. Time to fix that.

I enable the 'pushbutton' theme and make it the default. Good-bye boring blue. Now I want to 'configure' the theme. I'm using the logo and site name, for now, and getting rid of the 'site vision'. I don't want to use the Drupal logo forever, so I decide to upload a new logo. This will be very temporary.

That's enough for now. Still have a lot to do.


  1. You can install Views to get a bunch of predefined blocks, and to easily create new blogs.

    - ben :: Agaric Design Collective

  2. Good post.
    A comprehensive Drupal how-to can be found at
    (a 90+ page pdf, 5.67 mB).

  3. I found this post while I was looking for some basic tutorials for my client, who wanted to know the basics of Drupal. I shared this URL along with and hope you dont have any issues with this.



Your comments will be moderated. Sorry, but it's not a nice world out there.