NEXCESS.NET Drupal Book Review
October 4th 2006
Building your own website can be a difficult and daunting task if you know nothing about the languages used to create web pages. There was a time when only the most skilled of professionals could create eye catching website that brought people back again and again. Thankfully, many smart programmers have taken these things into consideration and built software programs that take the guess work out of websites, whether they're static or dynamic. A great example of this is Drupal, a open source content management system, built on the PHP programming language. No Drupal installation would be complete without the book "Drupal: Creating Blogs, Forums, Portals and Community Websites" by David Mercer. Before reading this book, I had experience only installing Drupal but had never actually used it before.
The first two chapters give you a little background information about how Drupal came to be and the community supporting it, as well as some very great info on how to setup a development environment on your local computer for setting up and configuring Drupal before you place it on your hosting account. Drupal is open source, which means it was developed as a public collaboration and made freely available. You're able to view and alter the source code to change the software to your needs. The development environment is setup using apache2triad, a package program including the Apache web server, PHP and MySQL. These components are needed to run Drupal from your local computer.
Chapter three is all about changing the default Drupal settings and configuration to get the basic Drupal installation running how you'd like including setting the admin user information and handling any errors the site may run into along the way. It also discusses the use of roles. Drupal has two main roles, Anonymous users and Authenticated users. You have the ability to display certain content to users based on their roles as well as create your own custom roles you can assign to users of your site. Chapter five discusses user roles and permissions in more depth.
Chapter four outlines the use of modules. Modules in Drupal are best defined as separate programs built to integrate seamlessly into the Drupal software. For instance, you'd like to offer a forum to your website users for them to interact with each other. You can search for and download a Drupal forum module from their website which adds forum functionality to your Drupal site. There are endless amounts of modules for various different tasks available on the Drupal website, from forums and photo galleries to full fledged ecommerce webstores. Modules are a great way to add additional dynamic aspects to your site with ease.
Chapter six explains the different content types available for each page or node of your site. It also details working with content and content related modules that help to better manage and organize the content on your site. You'll learn how to add links to your navigation menu, log any changes made to page content that can easily be restored and include news feeds from other websites into pages on your site. Drupal has one of the most flexible and advanced content systems of any content management software available on the internet. This is one of the elements that helps make Drupal so popular.
Chapter seven digs deeper into the content subject, explaining how to add custom HTML and even dynamic PHP to your pages in order to provide more interaction for your users. While static websites are great to get information across, it's the interaction and dynamic elements of websites that bring most people back. The advanced chapter is more for people who already have some knowledge of HTML or PHP languages and also provides links to great references for these languages.
Chapter eight is my favorite part of site building. It talks about "skinning" drupal or changing it's theme in order to create the visual effect you're looking for with your site. While there are plenty of themes available for download from the Drupal site, you may find that you'd like to change text or background color on some piece of the site, or completely redesign the whole interface. This chapter explains the most minute color change, to adding and removing columns on certain pages.
Chapter nine covers some more advanced content topics using the Flexinode module and AdSense module. The flexinode module gives you incredible content power by enabling you to create your own content types, specify fields for these content pages and how the content is displayed on the pages your flexinode templates create. The section on the AdSense module explains how to install the module as well as link it to your Google AdSense account and display the google AdSense banners on your site. Google AdSense helps to earn a little revenue on your site by display ads based on the content of your site. You receive a commission through Google AdSense based on the number of clicks you get per banner ad.
Chapter ten, the last but definitely not the least important chapter, gives you pointers on running and maintaining your site by making backups, setting up cron jobs or scheduled tasks and throttling. Backups are exactly that, versions of your site stored in a separate spot that can be restored if needed. Cron jobs are used to automatically run certain maintainence scripts at specifed intervals. The throttling functions of drupal are important to use if your site grows very large in the amount of visitors and you're starting to use a lot of server resources. Throttling limits the number of connections per page or per module to reduce the load your site places on the server. While getting your site developed is an important step, keeping it running is even more so to keep people coming back to your site and attracting new vistors. Things like archiving old entries and checking for broken links are must-dos when managing a website to ensure that navigating your site is a simple task.
The book also includes an appendix with helpful instructions on deploying your site, including uploading it to your live server and testing to make sure the functionality from your development server still works as expected. I don't get a chance to read very many books, but when I do, I'd rather not waste my time on something poorly written or hard to follow. Drupal: Creating Blogs, Forums, Portals and Community Websites was neither of these things. It took me from Drupal newbie to Drupal administrator in 10 short chapters and I feel confident now that any future web projects that come my way could be tailored into a Drupal CMS for easy manangement.
If you're interested in purchasing this book, you can head on over to the Drupal page on the Packt website for ordering information
# # #
About the Author
David Mercer is a programmer and professional writer who has been writing both code and books for about seven years. He has worked on a number of titles on a wide variety of topics which has afforded him a unique oversight of the world of technology as it relates to furthering the goals of business.
David finds the challenges arising from the dichotomous relationship between the science (and art) of software programming and the art (and science) of writing is what keeps his interest in producing books piqued and intends to continue to write professionally in the future.
As a consultant for his own technical and editorial consultancy, David balances his time between programming, reviewing, writing and furthering his studies in Applied Mathematics. When he isn't working (which isn't that often) he enjoys playing guitar and getting involved in outdoor activities ranging from touch rugby and golf to water skiing and snowboarding.
About NEXCESS.NET L.L.C.
NEXCESS.NET is an Ann Arbor, MI based company specializing in web hosting solutions from the most trivial shared site to complex multi-server configurations. NEXCESS.NET provides custom hosting solutions for traffic heavy and high profile websites of all genres. NEXCESS.NET owns and operates it's own private datacenter located in Dearborn, MI and currently services thousands of clients worldwide. Please visit http://nexcess.net or call 1-866-639-2377 for more information.