Skip to main content

Creating a Drupal 7 Distribution

Capturing Your Own Installation Profile and Settings

Prior to version 7, most Drupal users — and even administrators — had little need to be familiar with the inner workings of distributions and installation profiles. For versions 6 and earlier, when installing a fresh copy of Drupal core, one naturally would specify the minimum required information: database connection, website name, and superuser account. Yet one had no opportunity to affect the list of modules and themes initially enabled, the default content types, or any other configuration details. However, anyone installing Drupal 7 is presented with a choice of installation profiles: "Standard" (the default) and "Minimal".

An installation profile comprises a set of files that completely describe how to configure a new installation of Drupal core, and can be made part of a distribution.


Sculpting Conditionals

At DrupalCon Paris, I attended a grid presentation by Mark Boulton, for designers. I didn’t get it. Recently I read the biography of Steve Jobs. Now I get it. Drupal designers like Mark focus on the art outside. For several issues, this column has focused on the art inside. At the risk of redundancy, let me state that when I talk about Drupl'Art I am talking mostly about the art within.

Aesthetic Minimalist

Like all artists, I navigate my craft through stylistic seas. Most recently, I sailed into an Extreme Minimalist Period: fewer lines of code mattered to me. Eventually, Charlie (chx) politely suggested that, if I insisted on charting that course, to at least comment it better. He was right, I was wrong; and I offer up a heart-felt mea culpa to the developers who followed in my turbulent wake and are now stuck with the flotsam and jetsam.

I am still a Minimalist, but now an aesthetically practical Minimalist; readability and maintainability carry the day. Farewell to saving opcodes!

Drupal in Layman’s Terms

Or, Huh? What's A Drupal?

Build us a new website!

Five simple words that spark enthusiasm and excitement — and sheer panic — in the minds of those responsible for pulling off that feat. What seems like a no-brainer to those who have never built a website can easily turn into a Herculean labor — fraught with delays, deadlines, cost overruns, headaches, and compromises on the capabilities that were once envisioned through rose-colored glasses.

While building a new website can be a daunting job, there is fresh hope for those embarking on that journey; hope empowered by the capabilities of a web content management system (CMS) like Drupal. Although constructing a website is no simple task, it doesn’t have to be overwhelming, nor overly complex, if you take the correct approach and leverage the tools freely available to you in a CMS.

Caffeinated Drupal

Introduction to CDNs

A high-performance website is like a great cup of coffee: Both are heavenly when conditions are optimal, but there are small things that can quickly turn them from an enjoyable experience into something that leaves a very bitter aftertaste. With the right tools and preparation, it's possible to create a website (or cup of joe) that can be dependable (like that first sip of coffee in the morning), fast to respond (like a quick shot of espresso), and scalable for many visitors (like that fancy cappuccino machine at Williams Sonoma, the one you casually mention to all your friends as your birthday approaches).

This is the first in a series of columns on the subject of “Caffeinated Drupal,” where I'll cover Drupal performance issues, always being sure to relate the topic to my favorite beverage.

Let's get started, shall we? Grab a steaming cup of java (or iced, if you prefer) and we’ll set out to learn about Content Delivery Networks (CDNs) and how they can give a huge speed boost to your website, with minimal configuration. Not sure which coffee to choose today? I recommend a lovely Ethiopian Sidamo served as a cappuccino — nothing like that powerful fruit flavor with undertones of bittersweet chocolate — topped with a dab of perfectly-foamed milk.

Views Rewrites

Making Fields Do What They Don’t Do

If you've spent any time with Drupal, you've heard of — and likely installed — the Views module. If you haven't, then you're very likely working harder than you need to! Views is Drupal's query builder, enabling you to create lists of just about anything, as well as providing basic formatting and the ability to do basic formatting of your items. Although Views will be merged into Drupal 8, if you've never used it before, take a look.

Since most Drupal designers have used Views, they generally know its power: Yes, it will relate data to other data, sort, filter, and so on. But one very helpful feature neophytes may not have discovered is its ability to rewrite fields. In essence, a field can be added to the display, but in the settings for that field you have the option to “rewrite” that field; it will keep the settings of that field, but will masquerade as something else: it can be changed to plain text, to a link, or even to another field entirely. Here, we’ll walk you through some examples, and then talk about other options this feature offers.

Why would I do that?

There are plenty of reasons: your field may not contain all the data you want; it might have too much data; it might not have all the settings you want or behave in the way you need. However, some other field just might accomplish those chores. Read on.

The Angry Themer

Removing Module Provided CSS Files

In this article, let’s explore the art of removing, once and for all — with a few little magic tricks — the clutter of CSS classes and irritating CSS that you never need.

As a frontend developer, working in Drupal can be a bit of a hassle. One of the things that always shocks a new themer is where all those damn CSS files are coming from and what they’re supposed to do. Even more important: how to remove those that aren't needed.

The way Drupal works is that every module and its grandma brings along its own CSS file, which is intended to make everything work “right out of the box.”

That’s all fine and dandy, but let’s be honest here: we don't want to schlep any CSS around unless it's absolutely necessary for the site. Extra CSS is sloppy, makes the site slower and, let's not forget, you will end up spending days to overwrite CSS that was provided as a default. (Thanks but no thanks, Drupal.)

Testing, Testing, One... Two... Three...

Getting Started With BDD

This article inaugurates a regular column for Drupal Watchdog on incorporating functional testing and Behavior Driven Development in the creation and maintenance of Drupal Sites..

If my Behat and Mink article in the previous DW piqued your interest in using Behat as a functional testing tool, you may be wondering where to begin. Dan North’s article outlining the origins of Behavior Driven Development ( provides a more complete perspective, but the short answer is:

What parts of your site have the highest value to your organization?

If it’s not immediately apparent, turn that question on its ear:

Which parts of the site, if broken, will result in:

  • Loss of revenue (e-commerce);
  • Loss of productivity (a broken work order form);
  • Law suits (privileged information being disclosed publically)?

Componentized Drupal

Drupal 8 and Symfony2

One of the most widely reported changes to Drupal 8 has been the adoption of several Symfony2 components into Drupal core. So what exactly is Symfony2? Why has Drupal started using it and other third party libraries? And what changes should people expect as they start to build sites and modules based on Drupal 8?

How Did We Get to Symfony2?

Having existed as a project for 11 years — and with a strong CMS basis for much of that time —
Drupal has been primarily focused on serving fully rendered HTML pages to web browsers. Over the past few years, the explosion of web services and mobile usage has led to a need to serve many different types of requests in many different ways, whether partial page requests for parallel processing (client, server, or edge side includes), a JSON response to a web service call, or responding to drush on the command line. Several contributed Drupal modules now exist to support using Drupal like that ( or, but in all cases they contain a large number of workarounds in order to circumvent the full HTML page rendering that Drupal 7 and previous releases assume.

The Web Services and Context in Core Initiative (WSCCI) began during the Drupal 7 release cycle and became one of several official Drupal 8 initiatives during 2011; its goal was to update Drupal’s core request handling and page serving in order to better meet the various kinds of requests that a Drupal site must now serve.

The Farmischt Freelancer

The Hunt for Chartreuse October

No, dear readers, this isn’t a tale of a sunken initiative with a payload that threatens the rest of core, though darn, that would’ve been good! This is a tale that I hope will entertain those already moist in Drupal droplets, while informing the dry newbies among us.

It is a megillah of mishigas[1] seemingly immune to the eroding currents of entropy. It begins on a cold November day, with yours truly staring at the home page of a mature Drupal site belonging to a newly acquired client. And there it was, by all appearances innocuous, except that it stared out at me from the center of the page, like a hibiscus in a field of Dusty Miller.


It was this errant text I needed to exile from the page. You know the backstory: some other developer created the site and, for whatever reason, was no longer contactable. So it was up to me to discover the provenance of the chartreuse OCTOBER.

Finding a Great Drupal Shop

Use To Evaluate Drupal Contributions

If you want to have a Drupal site built for you, your first and probably most important decision is choosing a contractor or shop to do the work.

Who is most qualified for the job? Here are some insider tips designed to help you find a great, collaborative Drupal shop with the chops to build the site you’re dreaming of.

What to Look For

Drupal is a powerful and flexible framework for content management. There are literally thousands of Drupal plugins that Drupal contributors have produced and shared.

That’s great, but it means that matching your needs with the best available solutions requires a lot of know-how, which a shop or a developer doesn’t acquire overnight. So when choosing a shop, first look for experience.

Drupal is collaboratively-built by thousands of contributors all over the world. Changes or additions to plugins come from community contributions, most of which arise from specific website projects: projects like yours. As a Drupal shop builds your site, they might well need to work with the users and maintainers of one or more plugins to get tips, fix problems, or suggest changes. So, after examining a shop’s experience, you’ll also want to look for collaboration and contributions.

As well as contributing code, like modules or themes, there are many other ways that community members help build and improve the Drupal project. Members post issues and help test potential fixes; write documentation or contribute translations; help organize local events or meetups; provide training; and give workshops at conferences. All of these contributions illustrate the dedication, collaborative skills, and community profile that you should consider for the success of your site development.


Premium Drupal Themes by Adaptivethemes