Tom Geller's nuggets o' joy

Posted 18 November 2011
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".

Enjoy!



Posted 8 November 2011
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?



Posted 1 April 2011

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.



Posted 21 February 2011
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.



Posted 16 January 2011

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!



Subscribe to Tom Geller's nuggets o' joy