Main menu

tgeller's blog

Summary: Making Views part of Drupal "core" will make its future more secure, but will take substantial resources. Therefore, please donate 1/1,000th of your annual income ($50 if you make $50,000/year, for example) using this widget.

Now, the why.

Few Drupal sites could exist without Views, which lets site builders easily combine and display data. For example, let's say your site includes employees and store locations: Views lets you produce a list of employees, a map of what stores they work at, and a schedule of when they're working.

These are typical requirements, but without Views you'd have to know PHP and MySQL to make them happen. With Views, an intermediate-level site builder without programming experience -- like me -- can make truly professional sites.

Views is one of Drupal's strongest competitive advantages, and why I created a video training series about it. I've never heard of a working site built without Views.

So Views is important. But why should it be in core?

Site builders won't have to install (and maintain) extra bits for Views' functionality.

Responsibility for maintaining it can be better spread over a larger developer base.

Developers can do more, knowing that all site builders have Views installed.

We can simplify Drupal by getting rid of obsolete modules such as Poll and Blog.

There's a (reasonable) argument that Views would bloat a Drupal core that should remain small. I disagree. For discussion, see this thread on Drupal.org.

O.K., O.K.! But why should I pay?

Simply put, it's the simplest way to contribute. As Earl wrote, the project will also put other resources to good use, and (as always) your help actually working on the project would be greatly appreciated.

But money is liquid. You can give any amount, at any time, without any other requirements. It's convertible to plane tickets, catering, hosting, and other things that project maintainers need. (Note that the money generally doesn't go to pay developers: They're either volunteering their valuable time, or being sponsored by companies such as Acquia.) I propose that you donate 1/1,000th of your annual income because if you work with Drupal, Views has probably earned you at least ten times that much.

From earlier initiatives, Earl and his team have proven that they use such money well. So do it: You'll feel better every time you work on your (Views-enabled) site.

It's been a busy few months since ending my time at Acquia last October. I've returned to freelancing, bettered by having worked with some of the best people in the business: It was a pleasure to see them at DrupalCon Denver, and I've been enjoying our continued (albeit changed) good relationship.

One result of leaving is that it gave me time to create a long-overdue course for lynda.com: Drupal 7 Advanced Training. My other courses aim to teach specific skills, such as creating a store with Drupal and using Drupal to display complex data. Drupal 7 Advanced Training is a general tutorial for those who already have basic Drupal skills.

It was a great pleasure to deliver the keynote talk to the first-ever DrupalCamp Western New York, held in downtown Buffalo on October 14-15. The camp's theme was "Hello, Universe", which you probably know as an expansion of the programmer's meme, "Hello, World". The idea is that "the web is wider than you think" -- and that Drupal is expanding to fill the space.

I agree with the premise that Drupal is growing beyond its past uses, and used my time to examine how its spread will affect the culture of Drupal. This is a very personal matter for me, from having been part of other communities whose increase alienated their founders, eventually to their doom.

But I'm optimistic about the Drupal community; watch to see why, and how we can foster its growth beyond the world it now occupies.

lynda.com has now released five of my Drupal courses (which you can watch for free, by the way), and there are two more coming soon. Part of the company's model is to include exercise files for each course, so that students can (a) follow along with the same assets the instructor uses, and (b) jump in at any point.

For Drupal courses, the first criterion is easy to solve: We just include the same graphics and text I use to create the model site, and instruct students to add them as they go. But Drupal doesn't have a good way to let students jump into the course in the middle. Such a packaging system needs to:

Populate a complete site;

Be easy for non-technical students to use. It must use a familiar interface, and not require them to touch the command line;

Be reliable;

Require no monkeying with the settings.php file; and

Take as few steps as possible.

Those are the challenges. On the other hand, we can make some assumptions that make the job easier:

The resulting sites won't be made public: We can freeze the Drupal version without fear of security holes.

I tried several solutions, even attempting to commission an all-in-one solution. Previous courses used varying methods, with varying degrees of success — and they usually required too much explanation. Here's what I finally settled on:

Provide one copy of the base Drupal distribution, without the /sites folder. Yes, that means that students will be installing an out-of-date copy of Drupal. But again, these sites will be locally hosted, and not exposed to the internet. (We also direct them to instructions on how to update the site to the latest version if they want.)

Give instructions on how to import that base copy of Drupal into Acquia Dev Desktop. This sets up the stack, and puts predictable values into the settings.php file.

For each video, provide two files:

a .zip of the /sites folder, which includes all assets and modules installed up to that point in the course; and

a .zip or .gz of the database. Compression is important because Acquia Dev Desktop imposes a 2MB upload limit in a crucial place. We've manually removed the "CREATE DATABASE" line from the database before compressing it.

To start at any point in the course, instruct students to:

Replace the current /sites folder with that video's /sites folder; and

Import the database via phpMyAdmin (which is included with Acquia Dev Desktop).

You might know of Certified to Rock, which reduces your activity on drupal.org to a single number, much as a long simmer reduces gourmet food to a carbonaceous layer that ruins the frying pan, and I really liked that pan!

Anyway, the problem with CTR is that it only measures how great you are, and some of us don't take praise well. For we Drupalists of low self-esteem, now there's Certified to SUCK! Here's how it works.

I've been watching Drupal 7 for almost two years now and have been champing at the bit to start using it. I launched the promotional site for "Drupal 7: Visual QuickStart Guide" in Drupal 7 -- how could I not? -- about a month before Drupal 7's official release. Now I've also taken the opportunity to combine tomgeller.com and gellerguides.com (my portfolio site) into one. The new one is at tomgeller.com, of course; for the moment you can still see the old version (with comments closed) at http://temp.tgeller.com.

The upgrade itself wasn't so bad, although I ran into more error messages than I expected. But merging the two sites was frankly harder than I expected. There are basically three options for transporting nodes:

Feeds: This is my favorite tool except for two things: There's no way to bring over node comments in D7 (yet!), and I was stymied for hours until I realized that it demands Unix-style line endings. (On the Mac you can force those in the Save dialog box of TextWrangler.)

Node Export: Again, no way to bring in comments, but otherwise handy. Despite its name, it handles both exporting and importing -- which is good, because there's still no D7 version of Node Import.

Migrate: Requires substantial custom programming, and is therefore a non-starter for me. People who can use it say it's great, though.

Beyond node migration, there were other surprises. For example, messages that Drupal automatically sends to users -- to confirm their membership, for example -- use old-style tokens like !username instead of [user:name], and have to be changed manually. I missed a theming change that threw some baffling errors, and had to drop some functionality because the modules weren't ready. Then the statistics table stubbornly refused to update properly -- until I moved the site to its host.

So what's the prognosis? I agree with TimOnWeb.com that your situation dictates whether to upgrade to (or build anew on) Drupal 7. The "7.0" label is psychologically powerful, and I made the mistake of believing that its "release" meant that major problems had all disappeared. They haven't; there's still a lot of work to be done. (Speaking of which, please continue to support developers who are working on 7.x projects!)

Having said all that: The proof is in the pudding. tomgeller.com is up and running on Drupal 7, with a hell of a lot of functionality I'd been withholding while on Drupal 6. Enjoy this forward-looking time for all its worth.

If you're a strong brass player and want to take part in a secret project at DrupalCon on Monday and Tuesday, please write to me via my d.o. contact page. Tell me what you play, your ability level, and when you'll be there. Thanks!

My Drupal video courses on lynda.com are mostly available on a subscription basis, starting at $25/month. But I realized that few readers of my blog know that several videos in each course are available for free.

All signs say that Drupal is booming. Job listings on monster.com went from 65 in October 2009 to 120 a year later; DrupalCon has likewise nearly doubled in size every year for the past three; and Drupal consultancies report a perennial shortage of talent.

This all seems familiar to some of us -- but not all. You see, many Drupal professionals are around (or below) Dries' age of 32. That means they were 16 or so when Netscape went public in 1994, signaling the start of the internet boom; they were only 22 when the tech-heavy NASDAQ exchange crashed in 2000, signaling its end. So many of these "average" Drupallers have no personal experience of the boom-and-bust cycle that took down dotcoms, and the CD-ROM industry before that, and arcade games before then, and so on.

These cycles are predictable as cold days in autumn. We don't know exactly when they're coming, but they're coming all right. Neither summer nor winter can last forever. (Ecclesiastes and all that.)

I've had the fortune of going through two booms, first as a tech journalist and public-relations executive during the dotcom boom, then as a real-estate broker during that bubble. (I got into both of them as they were starting and got out a little before their crashes. Make of that what you will.) Now, I'm not predicting a specific end to the Drupal boom -- winter may yet be far away -- but I'd like to give the warnings now that I wish I'd heeded back then.

Don't be about what Drupal is. Be about what Drupal does. Yes, it's web development software. But what will that matter if the web as we know it disappears? So think instead of what it accomplishes. Drupal is a distributor of information; sales channel; organizational tool suite; vote-management system; and so on. Ensure that the skills you're gaining now through Drupal will be valid regardless of Drupal. (Human society has needed sales channels and information distribution for thousands of years!) Broaden your horizons, so when one pillar falls you'll be able to jump to another.

Listen to buyers. There's a saying: Nothing is sold, everything is bought. As the industry became heavy with tech-savvy visionaries in the late '90s, often products were solutions looking for problems. They were at times elegant, clever, and brilliant... but impractical, poorly aimed, or unwanted. Successful leaders are those who see where the mob is going -- and run to the front of it.

"Be nice to people on the way up "...because you'll meet the same people on the way down." (Wilson Mizner)

Keep the slow times in mind. As money, opportunities, and prestige increase, it's easy to lose a sense of perspective. That's what leads the newly successful to buy houses and toys based on $7,000/month salaries, when a year earlier they were making $2,500/month. Then when their power evaporates in a poof of stock options or price plunges or public caprice, they were back to making $2,500/month -- or not. Assume that great increases in power are temporary and plan accordingly.

I know this is an awfully macabre post to make at such a moment of joy and celebration in our community, but it needed to be said.