Error message

Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; GeSHi has a deprecated constructor in require_once() (line 915 of /var/www/

Drupal tips, tricks, tutorials

Basics of Drupal administration

If you recall the overview of setting up Drupal for Blogging, there is a little bit of configuration to do to enable the blog features. Enabling the blog features requires a little bit of skill with Drupal administration, so let's do a quickie tour of it first.

On the front page of your newly created site is a welcome message which explains some options. It's all very well and good what is said on this page and worth your time to read. The important thing is the link named 'Administer'. This link leads you into the land of Drupal Administration.

Installing Drupal

Before you can install Drupal you must have a capable web hosting service. The minimum requirements are MySQL 5.x and PHP 5.x support, and there are somewhere around a zillion web hosting providers who offer this level of service. It's best if the host runs on Linux (or another Unix-like OS) but it is possible to use (gag) Windows.

The official installation instructions are on the Drupal site.

Blogging using Drupal

Drupal is a very feature-rich and comprehensive content management system. While Drupal is very flexible and can be used for nearly any kind of web site, one of its main core competencies is as a blogging platform.

Blog Theme module for Drupal

The Blog Theme module allows individual users to select different themes for their personal blog pages. Drupal allows easy switching of themes in that there is a theming layer which is very flexible in making the presentation of a drupal site customizable. This Blog Theme module uses that facility to allow a different theme to be used for blog postings by each user.

Activity Stream module for Drupal

The Activity Stream module for Drupal is a form of aggregation for Drupal. You configure it with a list of RSS feeds and it makes copies of (new) items as postings on your site. The idea is to collect all your "activity" from across several websites and collect all that on one site.

Wabi theme for Drupal

The wabi theme is a contributed theme for Drupal. It is recolorable in the style of the Garland theme. It has a few niceties in the look but the layout and look are very reminiscent of Garland.

Twilight for Drupal

The Twilight theme looked like it might be a good theme for Drupal. It uses a dark base color with light color text. It can be recolored similarly to the Garland theme.

However once I installed the theme I found there are several layout bugs.

Contented7 theme for Drupal

Contented is one of the better contributed themes for Drupal. This is a re-implementation of the Contented7 theme by Tom Rowan. This is a tableless, multi-column, fluid width layout. Parts of the design are ported from the K2 theme.

Nice things are that it does proper layout and it looks halfway decent. It properly handles switching between 2 and three column layout. The color scheme is an orange remniscient of leaves turning into fall colors.

Customizing contented7 is done by copying custom.example.css naming it custom.css and modifying to your choice.

Advanced Theme Construction Kit (ATCK)

The default theme of Drupal is okay. Garland is much better than the earlier Drupal default theme but it has some, uh, issues. The typical way to develop a new theme is to start from one of the contributed themes and hack it up. ATCK offers a different route in terms of building a theme from scratch.

Instead of hacking up an existing theme ATCK has you use a WYSIWYG Grid Builder service which spits out HTML to implement the chosen grid. That's your starting point.

However I don't like this support and have deinstalled ATCK.

Theme development for Drupal

Drupal has a flexible theming system which offers a lot of power, but can be a bit confusing. The Theming overview gives some high level guidance.

A theme engine is an intermediate layer allowing for multiple tagging languages to be used. However starting with Drupal 5 the PHPTemplate system was incorporated in the Drupal core and it is the default method.