Drupal 7 Hosting Cookbook

Drupal is an open source content management systems that is rapidly gaining favour in the enterprise. The Drupal 7 Hosting Cookbook walks through the steps required to build a comprehensive hosting environment suitable for enterprise implementation.

This cookbook is intended for systems administrators, Drupal developers and anyone interested in hosting Drupal in an enterprise environment. Links to background information are sprinkled throughout the cookbook, so don't worry if you are not yet an expert. There will be opportunities to learn as you go.

Why Dries Buytaert is Not Steve Jobs

…and why that’s a good thing.

While watching Dries Buytaert deliver his “State of Drupal” keynote at DrupalCon SF 2010, I could not help being struck by the humble and subdued demeanor of Drupal’s founder as he stood on the big stage addressing a full house of nearly 3000 conference attendees. The Belgian-born developer made multiple references to being nervous about speaking in front of such a large audience and definitely did not speak with the vigor and fervor of your typical motivational speaker attempting to rally the troops. And yet, in his own unassuming way, motivate he did.

Integrating Drupal with Active Directory

For Drupal to be truly effective in the enterprise, it must integrate with existing enterprise authentication and identity management systems.  Microsoft's Active Directory is one such system in very wide distribution.  Here's a method for integrating Drupal users, roles and profiles with an existing AD environment.

Image Management for End Users in Drupal 6

The primary purpose of a CMS is to make it easy for end users with little technical background to publish content on a website.  While Drupal makes this possible, image handling is an area that is often criticized.  The following combination of modules provides all you need to provide brain dead image handling for end users in Drupal 6.

Targeted Content Display with Taxonomy and Roles

Here's the situation: you've got a Drupal-based website with multiple target audiences.  You've also got a dashboard with content targeted at the authenticated user.  Not all of your target audiences authenticate so you need a way to display relevant news items to both authenticated and non-authenticated users.  Here's a little recipe to do exactly that.

Skills Required for Successful Enterprise Drupal

Just for fun, I was thinking through all of the skills required to build a successful enterprise website implementation with Drupal. The result is the following Top-30 list:

Building a Content Strategy for Drupal Websites

Content strategy is a relatively new concept in web development circles that attempts to solve a very old problem: although content is the meat and potatoes of the web, it is often not given due consideration. As a result, the web is full of garbage that no one wants to read and can't find anyway.

Targeting Communities Through Site Segregation

Websites that service a number of target communities are faced with the challenge of providing contributors with simple and consolidated ways to add content, while providing intelligent ways for target communities to access content they want (or are allowed) to see.  Drupal provides many different ways to contribute, control and display content, so how do you choose the best way?

Making Drupal Mobile

Making a Drupal website mobile-ready is a big challenge for site designers/developers.  On the one hand, you are expected to develop a site that uses the latest tools (AJAX, jQuery, etc.).  Then, just when you think you've got the requirements nailed, you see the last line that says, "must accommodate mobile browsers."  This, in effect, amounts to having to create two versions of your website: one for current browers and one for browsers circa 1998 with tiny displays.

Command line Backup and Restore for Drupal

This article shows a simple way to backup and restore both the files and data of a Drupal 6 website from the command line. Customize to taste and comment with recommendations for improvement.