Friday, 1 September 2006

Book Review: Drupal - Creating Blogs, Forums, Portals, and Community Websites

I am sure anyone who has anything to do with computers have heard of a system administrator. But not many would be aware of a content management administrator or more specifically a Drupal administrator. Drupal is a very popular open source content management system which is used by 10's and 1000's of individuals and firms alike to host professional websites which integrate blogs, forums, portals and so on. Considering the sheer number of uses that Drupal can be put use to, it is not surprising that one needs to be aware about the innumerable configuration parameters which are made available to the person in charge of administering the site. This is especially true if you want your site running on Drupal to work in a specific manner.

I found the book titled "Drupal - Creating blogs, forums, portals and community websites", authored by David Mercer and brought out by Packt Publishers to be a good introductory book which aims to walk the uninitiated person in setting up Drupal and making it work for him.

The book is divided into 10 chapters spanning 300 pages.

The first chapter gives a thorough introduction to Drupal, what it is, in what ways it could be put to use and so on. Here the author introduces the reader to the Drupal community and how the community has grown over time to provide help to people on all things related to Drupal.

The second chapter titled "Setting up the development environment" explains how to setup Drupal on ones machine which includes the pre-requisites like creating the database as well as obtaining and installing Drupal. How to upgrade Drupal from one version to the next as well as common troubleshooting problems are also dealt with in this chapter, which existing Drupal users will find useful. One grouse I have about this book is that the narration is totally windows centric when most web servers run on one or another form of Linux/Unix OS. And it would have been nice if the author had included a section in configuring the database on Linux/Unix even if it was as an afterthought. But having said that, this chapter gives all the details that needs to be known in installing Drupal.

The next two chapters deal with the site configuration aspects. Here the author walks one through each and every aspect of configuring, more specifically the general configuration parameters. The steps are well illustrated with pictures which make the whole process easy to follow.

Drupal has by default two inbuilt roles - that of anonymous user and authenticated user. And each role has separate powers associated with it. The beauty of Drupal is that it is possible to create ones own roles and add users to it. The fifth chapter titled "Users Roles and permissions" explain this concept in detail. Here one gets to know how to plan for and implement roles in Drupal and also the permissions that need to be allocated to the individual roles.

The sixth chapter titled "Basic Content" gives a broad outline of the various content types such as blogs, books, forum topics and so on. In fact, Drupal has over 10 different content types. This chapter also explain how to edit and configure this content. The author has done a pretty good job of explaining the various options that are available to the administrator which will help him to manage the content added to the site. This chapter also has a section which introduces two popular modules called aggregator and taxonomy module and how they can be integrated with the website to bring additional flexibility and variety to the content.

Taxonomy is a very useful module which provides the power and flexibility of tagging ones articles using categories in Drupal. In the seventh chapter titled "Advanced content" the author gives a detailed explanation of the concept of taxonomy and the different terminology used. This chapter also illustrates how to categorize content and discusses its pros and cons. It also has a run down of the most common HTML tags that can be used and their usage which will be helpful for people who are new to HTML coding.

In the next chapter, the author tries to tie all the loose threads together and walks the reader through getting more acquainted with the Drupal interface. Here one gets to know about customizing the themes by modifying the CSS file, inserting a custom logo on the site and so on.

Drupal has innumerable modules and it is not practical in covering all the modules in a book. But still, in the 9th chapter, the author covers how to configure two very useful modules called flexinode and adsense. I especially found the explanation of AdSense module really interesting, what with most people nowadays running adsense to monetize their websites. This chapter also has a nice example which explains how to incorporate dynamic content using Ajax which I found really interesting.

In the last chapter titled "Running your Website" of this book, the author tackles miscellaneous topics such as taking backup of the Drupal database, using cron to schedule tasks and so on. There is also a table listing the tips for optimizing ones website for getting indexed by the search engines which I found really informative.

Book Specification
Name : Drupal - Creating Blogs, Forums, Portals, and Community Sites
ISBN No : 1-904811-80-9
Author : David Mercer
No of Pages : 270
Publisher : Packt Publishing
Price : Check at Amazon.com or at Packt Publishing.
Rating : Very Good

This is a book which is clearly targeted at the beginner who is aspiring to set up a website based on Drupal. The beauty of Drupal is that it allows common folks to publish and manage content online without much knowledge of programming. But to come up to date with administering Drupal, one has to overcome a slight learning curve and be conversant with the new terminology it introduces. I found this book to be a good guide for setting up and configuring Drupal. The author also provides various online resources where the reader of the book can find further information regarding Drupal.

No comments:

Post a Comment