I have been thinking about becoming more involved with different CMSes for a long time. Not that I am thinking of moving away from the current system on any of the websites I manage, but rather possibly implementing a CMS on a new site that was more fitting the site and its goals. So, when the chance came to look at this book, I figured it was the perfect opportunity to become more familiar with Drupal.
I found the book to be very oxymoronic in that it has words on the cover like “powerful” and “professional”, but the book is geared towards people who are not only newcomers to Drupal, but probably never set up a CMS in their life. While I am not saying that it is impossible for a newbie to install a powerful or professional site, you would need a book twice the size in order to provide the reader with the necessary information. The flip side of this is that the user/reader does not need to have a degree in computer science in order to be able to install the product successfully. The book assumes no previous knowledge with Drupal and based on some of the descriptions, there is very little assumption of much computer knowledge at all.
The book starts off with a much too simplistic introduction to Drupal. There is very little discussion of what Drupal is really all about, instead the author goes into more detail about the “Drupal community”. This includes screenshots of the Drupal homepage (several in fact), including screenshots of the forums, “recent posts”, “contribute” and even a screenshot of the contact form. This is demonstrative of one of the biggest problems I have seen in recent Packtd books in that they seem to be so intent on increasing their page count that many of the screenshots are just one step above being useless.
One nice aspect was Chapter 2 “´Setting up the Development Environment”. The author rightly points out that it makes much more sense to develop the site first on one machine before making it live on the Internet. In this chapter the author also discusses obtaining and installing Drupal, as well as basic configuration issues. On the other hand, I am wondering if your site will be a success at all if you are not aware of things like this and you publicize your site before it’s ready to go. If you are truly a website professional you are going to know these things and this book, as a whole, is much too simplistic. If you’re not a website professional, you’re not creating a professional level site, so an “under construction” sign is not going to damage your reputation.
The book also gets another ding because it is more or less entirely Windows-based. Granted the level of knowledge for Linux users is much higher on the average and can probably install Drupal without this book, so I would expect the “average” Linux user not having problems. Why then was it necessary to explain the basics of using something like cron and not explain how to install Drupal?
I am perplexed as why the author specifically talks about development environments without addressing the final production environment. Granted the appendix talks about deploying your site, there is basically nothing about what to look for or what to consider on the production site. Further everything mentioned in this chapter more or less applies to the live system.
What is further missing is any discussion of how Drupal fits together. While there is a very brief discussion of how Apache calls PHP to process the page which in turn accesses the MySQL database, there is essentially no discussion of how a page is put together. This is obviously not necessary in order to run a Drupal site, but it does help understanding the system in general. Note that this is something missing from most CMS books.
Chapter 3 gets into “Basic Functionality”. Here the author talks about modules, blocks and menus. In the section on adding modules, the author explains how to add modules, but without a screenshot. So the question arises why is there a screenshot of the forums on the Drupal website, but not a screenshot of adding modules modules? This chapter briefly discusses third-party modules, downloading modules, installing modules before going into more detail about configuring modules. While not going into a great deal of depth, it definitely provided a nice introduction to modules.
This is followed by an introduction to blocks, which also does not go into much depth. Unfortunately I ran into another one of my pet peeves when I saw that the author added an absolutely useless code snippet. “People with PHP experience” should be able to put together an if — else block that only returns true or false without the need to include it as a code snippet. So, once again the question is whether or not the goal is to increase page count or provide useful content. The chapter then concludes with a section on adding menus.
Chapter 4 “Site Configuration” is geared toward configuring the general behavior of the site, as opposed to a specific module or block. Despite the lack of depth, I found the information here very useful.
I also found Chapter 5 to be one of the more useful chapters. It is titled “Access Control”, and is less concerned with the security of your site. This includes a discussion of access is related to individuals and “rules”, as well as the difference between normal users and administrators.
In Chapter 6 we get into “basic content”. Here the author discusses how to create content and administer it. Combined with Chapter 7 “advanced content”, you have a very good handle on how to provide contents to your system. Despite the (in my opinion) overload on screenshots, I found both chapters very informative.
Chapter 8 gets into “Drupal’s interface”. This is the look and feel of your site. Here I ran into another of my pet peeves, that being inconsistent levels of detail and inconsistent expectations of what users already know. This chapter discusses cascading style sheets, but does so at such a superficial level that he is likely to cause confusion among people of never encountered CSS before. This is compensated for to some extent by discussion of how the themes are actually put together as well as building your own themes.
Chapter 9 “Advanced Features and Modification” covers the something new to Drupal 6 “actions and triggers”. While I found the concept exciting, I was once again left with a feeling of frustration because it was addressed at such a superficial level that I got more use out of simply examining the interface than reading the book.
The final chapter talks about “managing your website”, which which as its name implies discusses management/administrative tasks for your system. One thing that really annoyed me was the discussion of the cPanel software. Yes, it is a useful tool if your ISP provides it, but it is totally worthless if it is not available. The author discusses creating cron entries, but I am left with the impression that the author has little experience administering Linux systems. If all of this is on your “development system”, it begs the question why are you administering things through cPanel? Don’t you have complete access to the site? What about sites you manage yourself?
There is an appendix entitled “Deployment” which talks about deploying your files onto the production system. I’m confused as to why this was included as an appendix as opposed to just another chapter, but something like that is obviously the author’s decision. Despite the confusion I found the chapter to provide good information, or the very least “food for thought.” Once again the assumption is your ISP has cPanel so if it doesn’t, you’re really on your own. Further, I’ve worked with ISPs that use cPanel and I would actually be surprised if everything works exactly the way the author describes.
One plus point is the fact the book expects no prior experience with Drupal. Further, I found the book to be very well structured and well ordered. This is in contrast to other Packt books I’ve encountered in the recent past.
I might be tempted to call this book something along the lines of “Drupal by the numbers” or “point and click Drupal” because it is more or less a guided tour of the Drupal interface. There is some useful information, but often any information above and beyond what you can read from the screen is superficial and cursory.
I think the book would be better served to include fewer meaningless screenshots and more details of what you are doing, as opposed to redirecting you to the Drupal website. If the author expects us to go to the Drupal website for details, why should we bother with this book in the first place?
If you are new to Drupal and like to be handheld through menus, this is worth taking a look at.Despite what might appear as overly negative comments, by no means do I want to give the impression that I found this to be a bad book. It does provide a great deal of useful information, it is easy to understand and for the most part the information is easily accessible. What bothers me most is my impression that the publisher is once again trying to get something out the door quickly and have “something” on the market as opposed to having the Drupal book. What I think the publisher really should do in the future is give the author is a little bit more time to tighten up the book as opposed to getting to market sooner. Linux | Mengembalikan Jati Diri Bangsa