Leaving the country on 5 December 2016

The Netherlands' position highlighted within Europe

On 5 December I’ll leave the U.S. to spend an undetermined period in what may become my new home in The Netherlands — Rotterdam. I’ll live in temporary housing until their immigration department finalizes my residency permit, which I hope will happen within a couple of months. I’ll rent out my house in Oberlin, Ohio for short stays and will continue to serve my existing American clients. However, I also plan to focus Tom Geller Productions on European opportunities.

I’ve lived mostly in two places since graduating from college, and left both for the same reason: I felt I’d gotten what I wanted from the place and was itching for something different. (I wrote three years ago about my move from San Francisco to Oberlin, Ohio.) This time is no different. I moved to Oberlin almost nine years ago to do some “adulting” and to enjoy a quieter, more-easygoing place. Now it’s time for me to be back in a city, and Rotterdam is a fun place that I know from two previous months-long visits.

I expect people to think I’m moving because of the current political climate in the U.S.. That’s not among my top reasons. Like a thinking citizen of any country, I feel pains and joys about my own. This is a topic for another time.

I’ll be back in the U.S. for a bit in April (and traveling in Europe sometimes before then.) For now, my Twitter account is probably the best way to keep up. More later.

Moving on from Drupal

Kabe, an important figure in Esperanto history

In the Esperanto language there was a great writer and activist known as “Kabe“. After creating magnificent translations and reaching a position of authority, he suddenly left Esperanto life, never to participate again. So notorious was his disappearance, the language gained the verb “Kabei” — to vanish suddenly from a position of great visibility.

I’d be flattering myself to compare my position in the Drupal world to Kabe’s in Esperantio — the Esperanto world. But my lynda.com courses and other writings about Drupal made me fairly well-recognized in Drupal circles.

I’ve been absent from those circles for the last couple of years, and feel the need to give closure to — and recognize — those I got to know there.

I got started in Drupal because I wanted to build a dynamic website to promote a book I’d written. It was a period of great growth for Drupal, and lynda.com accepted my proposal to create a seven-hour “Essentials” video course. (I think they agreed because their first CMS course — on WordPress — was selling pretty well.) That led to seven more, a book, a magazine column, various presentations, and a lot of corporate work.

Was I a “Drupalista”? That’s tough to say. I’ve sincerely enjoyed working with it: Although I’ve come to recommend WordPress for inexperienced site builders with minimal needs, I’m still thrilled with how much I can accomplish with Drupal and a free afternoon. As I (like most people) have come to live more and more online, Drupal has given me more control over my environment. For example, I’m not afraid that I’ll lose a major chunk of my history as LiveJournal slips down the tubes: Through Drupal I made a local copy, privately linking commenters to their real-wold contact information. Those tools, those gifts of the Drupal community, are still with me.

We grew apart. Drupal ceded the mom-and-pop market to other platforms, focusing instead on enterprise needs. That’s a fine match… but it’s not what interests me, personally. Coding — a skill I don’t have — eclipsed site-building, evidenced by the increasing percentage of Planet Drupal posts on the subject. And Drupal 8’s unexpectedly long development time caused a major writing project to stall after I’d put in a month of work.

But oh! What a fine relationship we’ve had. I’m scared to list the people who have made my time in “Drupalio” so much fun — I’m sure I’d miss many. But I want to recognize everybody who helped me on Drupal.org; those involved with Drupal companies I’ve worked with (Commerce Guys, Mediacurrent, Acquia, Phase2 Technology, DrupalEasy, Tag1 Publishing, TopNotchThemes); those who corresponded privately about Drupal matters; and those who continue to make Drupal great. I’d be very happy to hear from you directly, and will continue to check in on drupal.org (where I’m tgeller) from time to time.

I’ve gone back to general technology journalism and communications. Lately I’ve been quite happy working in video, and have started a U.S.-based agency, Tom Geller Productions. Making a monthly video for The Association for Computing Machinery has put me in touch with people doing fundamental research. I intend to do for that community what I’ve tried to do for the Drupal community: to make their work clear and accessible to those without specialist knowledge.

Esperantio and “Drupalio” are quite different. But they’re similar in an important way — one that’s shared by any international community of people gathered for a righteous cause. After a time, the cause changes and falls away, leaving intact relationships that linger. As Wavy Gravy said, “It’s all done with people.” Although I might kabei, look forward to seeing you people, wherever we meet.

Make “Views in Core” happen!

Screen shot of Views' administrative interface

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?

Maintainer Earl Miles’ original post gives the details. In short:

  • It’ll become better integrated with Drupal’s core systems.
  • 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.

New lynda.com video course: Drupal 7 Advanced Training

Screenshot of intro to Drupal 7 Advanced Training

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’s intended as a follow-up to the course that’s proven by far my most popular: Drupal 7 Essential Training. As usual, the new course gives away a few videos, while a free 7-day pass provides full access.

Here’s the intro video:


Keynote from DrupalCamp WNY: “Hello Universe”

Photo of Tom Geller delivering the DrupalCamp WNY keynote

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.

(Many thanks to Stephen Rosenthal of Caramax Studio for the high-quality video!)

New lynda.com video courses about Drupal Commerce and Views 3

Screenshot of intro to Create Your First Online Store with Drupal Commerce

I said that two new lynda.com video courses would be coming out soon, and here they are:

There are a few free videos for each course at the above links, and a free 7-day pass gives you access to both full courses, along with hundreds of other from lynda.com.

Here’s the intro video from the Drupal Commerce course:

…and the one from “Drupal 7: Reporting and Visualizing Data”.


How to create Drupal exercise files that work every time

Screen shot of some files in a Drupal installation

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:

  • All students use Acquia Dev Desktop as their AMP stack;
  • 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:

  1. 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.)
  2. 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.
  3. 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.
    1. 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).

    How would you solve this problem?

Announcing CertifiedToSUCK.com

Screen shot of the certifiedtosuck.com site

Screen shot of the certifiedtosuck.com siteYou 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.

  • Go to certifiedtosuck.com
  • enter your drupal.org username
  • click the button
  • wait for the meter to do some corny sprite-based animation
  • see your score
  • check out the scores of Drupalists you know
  • get angry that they have better scores than you
  • check your own score again, as if it’ll be different
  • write a long post about how bogus the whole thing is and about how people can’t be reduced to numbers, man.

Scores on CTS are calculated by… oh, never mind, it’s long and boring. The important thing is that it works and Must Be Obeyed. Void, like many things, in Idaho.

Hug me.

Upgrading and redesigning tomgeller.com on Drupal 7

Seven... seven... seven...

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.

I mention these options — and a lot more — in the paper I wrote for Acquia, “Migrating a Web Site to Drupal”. (That link takes you to one of my Panels– and Quick Tabs-based portfolio pages, which I’m very proud of.)

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.

Brass player? Going to DrupalCon?

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!