Book review: Drupal - Creating Blogs, Forums, Portals and Community Websites
David Mercer’s Drupal: Creating Blogs, Forums, Portals and Community Websites is a great starting point for anyone who’s getting familiar with the Drupal content management framework. It’s a well-designed, easy to read book that defines Drupal concepts that can be difficult to figure out by trial and error.
The book begins with a very basic introduction to Drupal. If you’ve surfed through the Drupal website for more than 20 minutes, you can probably skip this first chapter. Similarly, the next chapter covers the installation of PHP, Apache, MySQL and Drupal on your local system, and can be skipped entirely if you have a server already set up to host your Drupal project and are comfortable running through the easy Drupal installer. However, this chapter does include a short tour of administering Drupal’s general settings–a short read that’s worth familiarization.
Basics I: Site Configuration comes next, and Mercer provides a good overview of managing various system settings: error handling, cache, file system, RSS, date, site maintenance and strong handling. Mercer also passes on this tip: “Taking the time to look through and play with all the available settings is an important step to becoming a competent Drupal administrator.” (p.56)
Basics II: Adding Functionality introduces Drupal modules, menus and blocks. This chapter is an excellent, easy-to-read primer covering important Drupal concepts.
The next chapter on Users, Roles and Permissions provides readers with a solid foundation for learning how to plan and implement a user access policy for your Drupal-powered website. This chapter, combined with the next, combined to be my favorite sections of the book.
Chapter 6, Basic Content, clearly describes the default Drupal content types, and how to administer content, consume RSS feeds, and use content modules. Mercer manages to make the seemingly complex world of Drupal content management… well, manageable.
Advanced Content continues with introducing input formats and filters. (On a side note, it’s unfortunately that Mercer advocates HTML tables for layout in the examples.) This chapter also covers categorization with Drupal taxonomy and content tagging. It’s a thick section of the book that probably deserves multiple reads.
Drupal’s Interface comes next and covers the theme system, including customizing themes. I was expecting a little more from this chapter, but it really doesn’t contain any information that couldn’t be gleaned by getting your hands dirty in the theme CSS files.
Chapter 9, Advanced Features and Modifications, is somewhat obsolete in its recommendation of the Flexinode module. With Drupal 5.x, you’ll want to use the Content Construction Kit (CCK) instead. Mercer also touches on topics such as incorporating Google AdSense into your Drupal site, and adding functionality by integrating third party scripts.
Running Your Website covers the administrative tasks of successfully managing a Drupal site: backups, best practices, cron jobs, throttling modules, and how to apply Drupal patches. Not all of the information in this chapter is Drupal-specific, so seasoned web developers can get away with skimming it. Similarly, the Appendix on Deployment is also not specific to Drupal, though there are some good security tips worth checking out.
Overall, Drupal: Creating Blogs, Forums, Portals and Community Websites by David Mercer is an excellent Drupal primer. Despite targeting Drupal version 4, it remains a well-written guide to basic Drupal concepts, with good examples. Chapters 4, 5, 6 and 7 are the best. Developers who are getting into using Drupal to build websites will want to buy this book (about $40 at Amazon) and keep it nearby for handy reference during development.
Next up, I’ll be reviewing Pro Drupal Development, a more advanced book for Drupal developers.