March 15, 2005

Review: Wordpress 1.5

Author: Chris Lynch

There are almost as many blogging tools out there as there are bloggers. In addition to closed source vendors such as Movable Type and Blogger, big players are entering the field, including Microsoft with its MSN Spaces offering and the
lesser-known .Text ASP.net toolkit. But even among both these, and the
vast array of open source blogging tools, Wordpress rises above the others for being open source as it should be done.

Wordpress is licensed under the GPL and runs on PHP 4.1 and above, with a MySQL 3.23.23 back-end database or better. To create search engine-friendly URLs, Wordpress requires mod_rewrite for Apache (or its equivalent).

Wordpress is known for, and strongly advertises, its "five-minute installation" process. I have only one Wordpress installation and one upgrade under my belt, but both went smoothly. I used a hosted account to run my Wordpress blog, and the system uploaded, installed, and even configured my MySQL tables
without a hitch. You could sit a Linux neophyte down to perform the
installation with complete confidence, assuming he had a reasonable familiarity with FTP and a text editor.

When the initial installation is complete, all subsequent configuration and administration of Wordpress is conducted through the Web-based administration interface. Wordpress strives to be 100% standards-complaint, and the administration interface works equally well in Firefox, Opera, and Internet Explorer.

After the initial login, it becomes clear that Wordpress has the look and feel of an application far past its 1.5 version, with a rich suite of management tools at the back end and a highly customisable front end.

Customising Wordpress

Sites powered by popular software often rely on the standard themes and page layouts that come packaged with that software. For those wanting to personalise their sites, the Wordpress environment offers two options: download a new theme or create your own.

The range of themes available for the previous version of Wordpress was impressive, but few of these are compatible with the new themes system in version 1.5. However, the increased flexibility of the 1.5 theming system makes it easy to try out new themes by simply uploading them into your Wordpress themes directory, then switching your site theme via the administrative interface.

However rich the available templates are, however, most users will eventually want to create their own unique look and feel for their sites. You can create a new look via CSS, if you are happy with the content of your site but not the design, or through a Wordpress theme if you want to alter the page layout directly. Creating a Wordpress theme is reasonably easy, although you need a fair understanding of the Wordpress "loop" structure for retrieving posts and reference to the Wordpress templates command documentation in order to make anything more than minor changes. If you lack PHP experience, I would recommend looking for an existing theme that is close to your design goal, rather than trying to create your new theme from scratch; Wordpress template files can become code-heavy.

Despite the potential complexity of Wordpress themes, the project's gallery of downloadable themes illustrates the level of diversity that is possible. For a good example of theme construction, I recommend the Wordpress default theme Kubrick, which deserves special mention for its cool graphical styling and the ease with which you can customise it.

Running your blog

The primarily purpose of any blogging software is to accept and publish its owner's posts. Wordpress accepts posts online, as you expect, and also through an email interface that allows you to send messages to a secret email account that your Wordpress installation will check. This is a potential security hole, as if the address of the email account that Wordpress reads were to become less-than-secret, you could find your blog publishing unwanted posts on your behalf. The second downside to the email posting system is that a cron job is required to run the regular checks of the email account. As I currently run my Wordpress installation in a hosted account, I was unable to configure an appropriate cron job.

New in Wordpress 1.5 is support for blogging APIs from Blogger and MetaWebLog, opening up options for desktop blogging when a Web browser is not available. Though the chances of you finding yourself at any PC with an Internet connection but no Web browser are fairly slim, but the introduction of support for these APIs does open up the Wordpress architecture to other forms of automated posting, either from custom applications or just from better editors and browsing tools.

Editing remains plain text at present, with a set of basic client-side buttons to apply certain HTML tags to your text. Plug-ins are available to provide full WYSIWYG editing, but these are not bundled in the default installation.

Images to accompany your postings can be uploaded directly via the Wordpress admin pages, but Wordpress has no file management interface. Uploaded images can be automatically thumbnailed and attached to specific blog posting categories for automatic inclusion in your postings.

Static pages are now a feature of Wordpress 1.5, allowing you to create pages of content that exist outside of the normal blog category/date hierarchy. Static pages can be linked together in their own hierarchy, providing the potential for rich content management outside of the blog format. This is the first step Wordpress has taken to integrating a wider variety of content into its "semantic publishing" architecture, and it bodes well for a future in which blogging forms the backbone of a more serious content management and delivery platform.

Community features

Wordpress provides standard commenting and trackback features on every posting, as well as a facility for users to log in and create profiles for themselves on the site. Wordpress can be configured to allow these users to create and manage their own posts, as well as grant access to otherwise "private" posts, but for a large number of users with complex or detailed security settings, a community CMS, such as phpNuke, offers far more functionality.

There have been some issues reported in the past with the trackback system, although these seem to be resolved in 1.5. My blog, at least, is receiving trackbacks successfully.

Comment spam remains an issue however, and it is one of the most significant problems with Wordpress. The comment filtering system has been strengthened in this version, and several plug-ins now exist to strengthen the system further. My personal advice on this is to block unmoderated comments after installation until you can build up a decent list of terms to filter, or download one from another site.

Expanding Wordpress

Wordpress exposes a plug-in architecture that allows you to add
additional functionality with ease, assuming you have a reasonable grasp of PHP and an understanding of the Wordpress architecture. The Wordpress community has already produced a wealth of plug-ins, from minor content output alterations (such as my Autolink plugin) to almost complete applications in their own right. Personally, I found it easier to code my first Wordpress plug-in than to complete the customisations to my Wordpress theme, as the amount of code required is far less.

A complete list of plug-ins is maintained as part of the Wordpress Wiki. Of course, on top of the plug-in architecture you still have the freedom to alter the Wordpress code itself, although the plug-in architecture appears to make this unnecessary for all but the most major of personalisations.

Installing a plug-in simply involves uploading it into a sub-folder of your Wordpress installation via FTP, and then activating the plug-in via the online administration tool. Plug-ins can be subsequently deactivated without being deleted from your installation directory, a useful feature when developing a new plug-in or trailing a fresh download.

Wordpress uses a
Web-based wiki
for documentation and support, to allow users to contribute as well as consume documentation. The active user community provides frequent and worthwhile wiki updates. If you find you need more help than the wiki can provide, the #wordpress IRC channel on the Freenode IRC network seems to play host to a stream of experienced users as well as
developers and admins who make frequent appearances.

Wordpress is a strong blogging platform and an exemplary open source
application. With the launch of the new wp-plugins.org to further support the user community, and the general call for translators to internationalize Wordpress, this is software that has the potential to go from strength to strength.

Chris Lynch is a writer and IT consultant who has been working with open source technologies for the past five years.

Click Here!