John Morrow

Your Drupal courses on lynda.com really broke a logjam in my understanding of Drupal. I’d read several books but really wasn’t getting it. Your pace and explanations were perfect for me.

Frank Cromer

I wanted to congratulate you on your lynda.com training videos. I can’t remember that I’ve ever had such a great “kick-start” into an unfamiliar technology.

Michael Walker, Grafico Topico

Learning Drupal has been a big learning curve, and I’ve been able to fast track it through your Lynda tutorials. Your advice was terrific – all worked and saved me a shed load of time and ulcers.

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.

J Ayen Green

Geller has a knack for covering a large volume of information in a condensed space without making the reader feel rushed. He manages to take what could be a technical ‘bible’ of information and distills it into a practical guide.

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.

Don Varney, State of Vermont

One of the big mysteries of Drupal is how to adapt themes to your needs. Your section on theming was great: Short and to the point, it got me started.

Gil Cho, KPFA

Your training tutorials were a great primer for learning Drupal.

Jon Whitbeck, Jon Whitbeck Digital Design

I love your videos! You’ve got ‘good voice’ which makes listening to them more enjoyable, and you do a fantastic job taking folks through the process of setting up a Drupal site. I’m confident I’ll be a major Drupal fan after the training.

Karen Fredericks, Fredrix Illustration

I hereby knight you the Mister Rogers of Drupal! You calmly accept all newbies and give awesomely clear instructions. I can’t believe how much I’ve learned from your videos!

Kari Kääriäinen, nettimaakari.fi

I learned Drupal with your course on lynda.com, got so excited that I told my boss that in six months I would quit my job and become self-employed building web sites with Drupal. And here I am!

Paul Godard, Soul Photography

I love your videos. Your voice is very pleasant and you explain everything precisely. I am mostly a self-learner because I often find that courses too slow for me, but yours are just perfect!

Migrating a Web Site to Drupal

Cover of "Migrating a Web Site to Drupal" white paper

White paper to help clients define strategies and tactics for moving their web site to the content-management system Drupal.

Drupal 7: Visual QuickStart Guide

Cover of Drupal 7: Visual QuickStart Guide book

A how-to book for Drupal beginners.

I started writing it in 2009, then shelved it, then revised extensively in late 2010 as the pre-release software changed substantially. It was officially published about three weeks before Drupal 7’s release.

  • Agent: Neil Salkind
  • Acquisitions Editor: Wendy Sharp
  • Production Editor: Nancy Peterson
  • Development Editor: Robyn Thomas
  • Technical Editors: Emma Jane Hogbin, Greg Knaddison
  • Copy Editors: Darren Meiss, Scout Festa

Drupal 6 Essential Training

DVD cover art for Drupal 6 Essential Training

In almost seven hours of video instruction, Drupal 6 Essential Training (originally titled “Drupal Essential Training”) covers all the important aspects of installing, configuring, customizing, and maintaining a Drupal-powered website. Instructor Tom Geller explores blogs, discussion forums, member profiles, and other features while demonstrating the steps required to make Drupal perform. He also teaches fundamental concepts and skills along the way, including installation, backups, and updates; security and permissions; flexible page layouts and CSS; menu navigation; and performance monitoring and disaster recovery. He also discusses how to select and install the community-supported modules that further expand Drupal’s capabilities, and gives experienced PHP programmers tips on customizing page templates. Example files accompany the course.

Topics include:

  • Understanding the inner workings of Drupal
  • Creating stories, pages, blogs, forums, and polls
  • Managing users and comments
  • Setting and customizing themes
  • Exchanging content via RSS
  • Stopping comment spam with a CAPTCHA
  • Launching a site and joining the Drupal community

(Publisher’s description.)

Drupal 6: Online Presentation of Data

Title card for Drupal 6: Online Presentation of Data

Drupal’s built-in data presentation tools offer several ways for web designers to clearly and attractively package their data. In over six hours of video training, Tom Geller explains how Drupal handles data so users can set up intelligent structures and implement them with Drupal’s Content Construction Kit. Tom also shows how a data-driven web site can improve its interactivity by using geographic data to connect real-world addresses to maps. Exercise files accompany the course.

Topics include:

  • Importing and manipulating data in Drupal
  • Presenting date-formatted information in calendars
  • Understanding Drupal’s data-query interface, “Views”
  • Improving view appearances with grid, list, and table formatting
  • Importing, exporting, and cloning views
  • Extending views with arguments and relationships

(Publisher’s description.)

Drupal 7 New Features

Title card for Drupal 7 New Features

Over two and a half hours of video that demonstrates changes to the Drupal 7 administrative interface and other enhancements that have come out of its three-year development period. This course covers its simplified installation process, new themes that will help kick-start design projects, the customizable shortcut bar that puts often-used commands in easy reach, update procedures that leverage its browser-based interface, and a new way of defining fields to create complex content types without additional modules.

Topics include:

  • Configuring the new Dashboard
  • Using contextual link controls
  • Exploring new themes
  • Reviewing the new modules
  • Understanding the expanded block system
  • Using images in content
  • Allowing users to delete accounts
  • Testing modules with the Testing module
  • Building themes using Drupal Gardens

(Publisher’s description.)

Drupal Gardens Essential Training

DVD cover art for Drupal Gardens Essential Training

Over five hours of video training that demonstrates how to create and publish a complete web site with the powerful tools in Acquia’s hosted service, Drupal Gardens. The course covers how to leverage its pre-built page layouts and add custom styling, without having to learn CSS, using the Theme Builder tool, how to integrate rich site features, such as forms, surveys, and media galleries, and how to push content to Twitter and Facebook. The course also shows how to transition a Drupal Gardens site to a self-hosted Drupal site. Exercise files are included with the course.

Topics include:

  • Creating and managing content and content types
  • Embedding videos and other media
  • Publishing and subscribing to RSS feeds
  • Setting up blocks, banners, menus, and forms
  • Managing comments and spam
  • Tracking site usage
  • Duplicating and deleting sites
  • Adding custom domains

(Publisher’s description.)

Drupal 7 Essential Training

DVD cover art for Drupal 7 Essential Training

Over seven hours of video training that shows how to get the most out of Drupal, the content management system (CMS) that powers over a quarter million web sites. The course demonstrates how to download and install Drupal, add content and graphics to a site, change layout and design elements, control visitor interactions, and expand the site’s capabilities beyond what’s available in Drupal core. Discussion of established best practices in each step to ensure that a site remains streamlined, secure, and up-to-date. Exercise files are included with the course.

Topics include:

  • Comparing Drupal with other content management systems
  • Understanding nodes
  • Creating basic content
  • Adding blogs, discussions groups, and polls
  • Subscribing to RSS feeds
  • Creating new content types
  • Managing users, roles, and permissions
  • Creating and modifying block regions
  • Adding menus
  • Extending site capabilities with modules

(Publisher’s description.)

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!

Drupal 7 Essential Training released, with free videos

Image of a retro T.V. setMy 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.

Here are the freebies in Drupal 7 Essential Training, which was released this past Friday:

  • Welcome
  • Getting a Drupal site up fast
  • Deciding whether to use Drupal
  • Understanding nodes
  • Adding fields to content types
  • Selecting and installing downloaded themes
  • Enabling styled text with a WYSIWYG editor
  • Launching a Drupal site

Here’s what’s free in my other courses:

Drupal Gardens Essential Training

  • Welcome
  • Previewing the finished project
  • What is Drupal Gardens?
  • Subscribing to RSS feeds
  • Creating image galleries
  • Understanding the Theme Builder
  • Exporting themes
  • Using exported sites outside of Drupal Gardens

Drupal 7 New Features

  • Overview of Drupal 7’s improvements
  • Installing themes and modules
  • Adding fields to content types

Drupal 6: Online Presentation of Data

  • Welcome
  • Reviewing requirements
  • Touring examples of data visualization
  • Planning data structure
  • Importing and manipulating data
  • Looking at Drupal’s database
  • Deciding whether to store personal data as nodes or users

Drupal 6 Essential Training

  • Welcome
  • Drupal is a CMS
  • Choosing Drupal
  • Checking Drupal’s requirements
  • Understanding the inner workings of Drupal
  • Meeting the Drupal community
  • Learning key terms in Drupal
  • Touring Drupal’s interface

… and here are the freebies in Chris Charlton’s Drupal: Creating and Editing Custom Themes:

  • Welcome
  • Learning about Drupal themes
  • Building sites today with Drupal
  • Required knowledge and software
  • Installing Drupal 6 using Acquia
  • Configuring the appropriate modules for a Drupal site
  • Creating pages with standard node content types
  • Creating custom node content types
  • Finalizing site navigation

Click the series titles to watch the videos. Enjoy!

The challenge of opportunity

Picture of a 500,000,000,000 dinar noteAll 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.

  1. 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.
  2. 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.
  3. “Be nice to people on the way up “…because you’ll meet the same people on the way down.” (Wilson Mizner)
  4. 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.

Anything to add to this list?

“Drupal Gardens Essential Training” video series released on the same day as Drupal 7

In the hubbub of Drupal 7’s release, you might have missed this announcement from lynda.com that they released Drupal Gardens Essential Training, a 5-1/2 hour video course, on the same day. Timing!

Acquia‘s Drupal Gardens provides Drupal-based sites on the WordPress.com model: You log onto Drupal Gardens (currently in beta), type in a site name, select features, click “Create site”, and you’re up and running with an example.drupalgardens.com URL. From there, administration is like ordinary Drupal — with some notable differences that make it more user-friendly.

I wrote about the need for a hosted Drupal solution over two years ago. Jeff Whatcott (who at the time was Acquia’s Vice President of Marketing) intimated that “This discussion mirrors very closely a lot of internal discussions I’ve been in around the office at Acquia lately”. Others chimed in with suggestions for what such a service should look like, the top two being: (1) sites shouldn’t look “generic”, and (2) sites for vertical or “niche” markets should be easy to set up. I said that such a service should have features that “make hosted Drupal more user-friendly, such as one-click themes and modules, automated backups, integrated marketing services, etc.”.

Those features are all (arguably) found in Drupal Gardens. The Theme Builder, and a good selection of preconfigured themes, prevents sites from seeming generic; the site-creation procedure provides one-click setup for common use cases; and while backups aren’t automated, they’re incredibly easy. “Integrated marketing” is limited to social networks and Drupal’s built-in SEO features, but that’s something.

Mr. Whatcott also said at the time that “…if we can crack this code and define a concept for something simple but insanely great, we can bring a horde of new people to Drupal”. He may be right, because someone who starts on Drupal Gardens will be well-trained to administer a site built with core Drupal. For that reason alone, Drupal’s supporters should hope for its success (along with that of its competitors, SubHub and Buzzr). In any case, I recommend that everyone take a few minutes to set up a Drupal Gardens site: Acquia has done a really good job at commoditizing Drupal sites. Congratulations all around.

New book! Drupal 7: Visual QuickStart Guide

I’m pleased to announce that “Drupal 7: Visual QuickStart Guide” is available and has a supporting web site at drupalvqs.com. (You’ll be able to buy it for the Kindle, Nook, and via Apple’s iBooks later this month.)

The last four months have been some of the most productive of my life. The first task was a top-to-bottom rewrite of the book — which we delayed as long as we could stand, to match Drupal 7’s release version as closely as possible (My original contract with Peachpit Press is dated October 2008, and specified a book about Drupal 6.4! We renegotiated it for Drupal 7 in early 2009.) I also prepared and recorded three more Drupal video courses for lynda.com. The first one (Drupal 7 New Features) came out a few weeks ago; I’ll announce the second one on Drupal release party day this Thursday, and the third should follow soon after.

But back to the book: Despite some extra work, I feel 100 percent right about our decision to wait. To be able to announce it on the day of 7’s release is especially satisfying.

And I feel good about Drupal 7 itself. I had the pleasure of taking part in a Drupal Marketing Group meeting recently and believe we’ll be reading a lot about Drupal in the mainstream press during the coming weeks. Our banners, parties, graphics and media, public-relations efforts… these all add up to a launch that supports software we can all be proud of. I’m grateful to be a part of it.

Timing! (Also: “Drupal 7 New Features” video series released by lynda.com)

The same day that Angie Byron (webchick) announced the release of Drupal 7 Beta, my Drupal 7 New Features course comes out. Syncronicity! It’s 2-1/2 hours of videos that (I hope) covers the bulk of changes that Drupal administrators will face. (For a larf, enjoy my goofy face in the intro video.)

As always, working with lynda.com was a great experience, and I look forward to going back later this year to record two more courses — details of which I’ll post when they’re released.

Timing means a lot. I wrote about Drupal 7’s release date almost a year ago, when I was deep in the middle of writing Drupal 7: Visual QuickStart Guide for Peachpit Press. We’d planned for Drupal 7’s release in early-to-mid 2010, but we all now know it was not to be. Peachpit and I put the book on ice for a few months, holding weekly phone meetings to discuss the anticipated release date. We started up again a few weeks ago, and now project a December release. Here’s to hoping.

It’s a tough gamble. On one hand, an early release could be inaccurate; on the other, a late one costs sales. It’s a more complicated matter than most people realize, especially in a traditional-publishing context. That’s true for both Peachpit and lynda.com. Although the latter is a video publisher, its model is a lot like that of print publishing: A lot of production goes into every video, so corrections aren’t as easy as you’d think. On the Peachpit side, I’m told that the book has gotten substantial pre-orders. That’s great news for both me and the Drupal community, but it brings extra pressure: If we were to delay the book’s release, we could lose those sales.

Some publishers went for it. On 21 September John Forsythe generously posted a list of Drupal 7 books, of which two were already shipping. (Drupal.org user juan_g helpfully summarized the books’ release dates in a comment.) One of them unleashed the anger of Earl Miles (merlinofchaos), one of Drupal’s most valuable contributors by including information about his unreleased modules; to their credit, the publisher joined the discussion on drupal.org to discuss their decision. Webchick, who’s a published author in addition to being Drupal 7’s co-maintainer, jumped in to explain the quandary publishers find themselves in when a release date slips.

But these are problems that come with Drupal’s growing popularity, and are therefore happy ones for us as a community to face. (Did any projects depend on when Drupal 4’s release date? Probably not.) This is a challenge I hope we meet better with Drupal 8. My own suggestion: Define regular releases with an absolute schedule, much like Ubuntu does. That will not only help the commercial organizations who depend on a stable release date; it will, I think, remove some pressure of uncertainty from Drupal developers themselves.

What do you think?

Packaging a Drupal site — possible for under $10,000?

I’m currently developing some Drupal 7 instructional videos for lynda.com. The company likes to offer “exercise files” for their courses so folks can jump in in the middle. In other words, someone could start at Chapter 5 by loading the Chapter 5 exercise file, which would make the site appear as though all the exercises from Chapters 1-4 had already been completed. A course would have at least a half-dozen such files (if one per section), and possibly as many as 70 (if one per video, as is preferred).

This has proven very difficult in Drupal. In Drupal Essential Training (2008) we included a .sql file at every step, but that didn’t put assets in their proper directories. We included graphics wherever they first appeared, but that meant a user would have to go through all previous chapters to find the assets and load them up. That also didn’t address the issue of modules and themes. It’s been a support nightmare.

An ideal exercise file would:

  • import content and settings into the database;
  • put assets (such as graphics) in the correct directories;
  • install and enable the latest versions of specific modules (preferably by grabbing them live from drupal.org);
  • configure it all; and
  • be installed through a process that beginners could understand from a well-made three-minute video.

Oh, and the proposed solution must be available soon for Drupal 7 — for instance, modules that carry the D7CX pledge. And because people will be watching these courses until Drupal 8 comes out, it also has to take into account future versions of Drupal 7. That’s why I hope I can find something that grabs “live” modules and themes, rather than packaging them in the exercise files themselves. (That’s not essential, though, as users could just use Drupal 7’s new Update features to bring the software up to date.)

I posted this question to a mailing list for Drupal consultants and got some good advice. But none of the recommendations seems to really solve the problem. The options — and their drawbacks — appear to be:

  • Demo. Only manages the database. Doesn’t do anything with site assets, modules, etc.
  • Drush, perhaps with a custom command. Hard to use, but perhaps promising? I only use it rarely and am unclear on how it would work.
  • Features. Not promised for Drupal 7. I watched this video about Features by Mustardseed Media and think it’s only a partial solution since it doesn’t appear to save content. But maybe we could include a Feature module for each chapter and a database.
  • Patterns. Not promised for Drupal 7; in fact the Drupal 6 version is still only “-dev”.
  • Installation profiles. I like this because it could contain everything: files, assets, and database settings. The user would have to reinstall a complete copy of Drupal each time, but that’s fine.
  • A hosted service such as WebEnabled. (That’s how TopNotchThemes lets users try out their themes before buying.) Presently too complicated for lynda.com’s audience, but that could change. And would the user pay for this external service, or would lynda.com? Currently, people who buy lynda.com’s exercise files download and own them, so a hosted service would be a big business-model change.
  • A version-control system such as GitHub. Same problems as other hosted services, and currently far too complicated for lynda.com’s audience.

I doubt many people will have read this post down to here. If you’re one of them, here’s a secret opportunity… shh…. 😉

Any answer we find will need custom development. I’m not a programmer; I can’t do it. The ideal solution would be a module that takes a snapshot that meets all our criteria and packages it up into a downloadable file. I’m looking into funding such a module, which would then be released back into the community under the GPL.

I talked to one developer I admire a great deal; he believed it would take 9-12 weeks and cost $10,000, which is WAY beyond what I could raise. I suspect he missed some easier options (such as modifying one of the solutions above). If you think you can do it — or can make any suggestions — I’d love to hear them!

Will Drupal 7 fulfill Dries’ wishes?

In preparing a “Drupal 7: New Features” video series for lynda.com, I decided to go waaaay back to when we were just starting to plan Drupal 7. Lo and behold, Dries wrote a blog post in February 2008, a few weeks before Drupal 6 was released, with a list of features he wanted to see in Drupal 7.

Now we’re pretty darn close to Drupal 7’s release. How’re we doing? I think we can break down his 11 points into three categories: Done, Sort Of Done, and Not Done. (Special thanks to chx (Károly Négyesi) for providing some details via IRC.)

Done

  • Usability improvements comprise the most-visible changes. The intense work of many people resulted in great advances, with Acquia‘s funding of Mark Boulton Design providing strong direction.
  • Custom content types in core: Win! Most of Content Construction Kit (CCK) is now part of Drupal 7, although that popular module will continue to be available for some functions that didn’t get into core.
  • Automatic upgrade functionality: This is a HUGE win, making Drupal more accessible to people without the knowledge or access to make direct changes on their web server.
  • Better internal APIs: I’m not a qualified to talk about these from first-hand knowledge, but chx and Heine gave two convincing examples: the new database layer, which allows Drupal to connect to any database, with the appropriate driver; and stream wrappers, which let Drupal treat remote files as though they’re local.

Sort Of Done

  • Better media handling: Media handling in Drupal 6 stank, and there’s no denying that it’s a lot better in Drupal 7. Before, you had to add several contributed modules — CCK, ImageField, ImageAPI, FileField, and ImageCache — to do the most mundane tasks. Those have all been incorporated into Drupal 7 to some extent, with intelligent defaults. Further, the built-in Article content type includes space for a single graphic. However, it’s a far cry from the sort of media handling that would be possible with a true WYSIWYG editor that allows you to place as much media as you want, wherever you want it.
  • Better external APIs (import/export, web services): This is another area that I’m unqualified to talk about directly. chx says this “deserves a tick, too” because of such matters as delivery callback. But I haven’t heard much else about this point, and welcome clarifications.
  • Better tools to structure/organize content show up in the improved user interface. For example, clicking “Content” in the toolbar takes you straight to a list of content on your site, whereas that took at least two clicks in Drupal 6. Other changes, such as fields in core, affect content management. But there’s nothing really groundbreaking here.
  • Better performance: As Dries stated at DrupalCon San Francisco (and was reported elsewhere), Drupal 7 is actually slower than Drupal 6. On the other hand, changes to caching and storage make it far more scalable, so perhaps for large sites performance is “better”.

Not Done

  • WYSIWYG editor: Not there, damn it. A great loss for newbies. Use the WYSIWYG module and a compatible client-side editor instead.
  • ???

    • Improved node access system. I haven’t seen any evidence of this. Could anyone comment?

    Quick and Dirty DrupalCon schedule in iCal format

    “Scratch your own itch,” they say. When I couldn’t find a version of the DrupalCon session schedule in iCal format, I converted the Excel schedule created by Lullabot‘s Kent Bye. How? Using Drupal, of course!

    First, the good stuff: here’s the iCal file; here’s the raw text file.

    As with most migrations, this was an iterative process. I tried it once, failed, tried again, failed. Rinse, lather, repeat. For the curious, here’s how it went down:

    1. Prepare the Excel file for import. Many changes were necessary. For example, the original Excel file gives the date in one row, then lists all the sessions for that day below it. Since each row would become a node, the date information had to be in every row.
    2. Save it as a tab-delimited file. Munge that file further. Excel put a quotation mark around every field that contained certain punctuation. If not removed, those extraneous quotation marks would be visible in the final product.
    3. Create a custom content type and calendar (with iCal feed) to hold the information in Drupal. Karen Stevenson‘s excellent Date and Calendar modules made this easy, particularly by using the “Date Tools” module that comes with the former. (Both are part of Acquia Drupal.)
    4. Import via the Node Import module. This module required a patch to correctly import dates.
    5. Enable and edit the Calendar view as needed.
    6. View the calendar and test exports in iCal. We’re really close now! This is where flaws in the process became obvious: For example, I had exported early morning times as “9:45” instead of “09:45”, causing such events to fail. That meant going back to Step 1 to change how the data was stored in the Excel file.
    7. When ready, edit the iCal export with a text editor. The export “HTMLified” title text, so that “&” came out like “& amp;”.
    8. Publish, accept the adulation of a grateful nation. 😉

    Note that this calendar, like the Excel file it came from, only includes session starting times: It doesn’t say how long sessions last. I take no responsibility for errors or omissions. Caveat lector. And alas, it doesn’t include many of the non-session events, such as exhibit hall hours or (sob!) parties. Just follow the throngs of excited Drupalistas for those. See you there!

    Map of cheap eats near DrupalCon San Francisco


    View Good cheapish eats near DrupalCon SF 2010 in a larger map

    I once heard that San Francisco has so many restaurants that the entire population could eat out and there would still be empty seats. That’s probably apocryphal, but it does have an embarrassment of gastronomic riches. The other truth about San Francisco is that it’s expensive, so eating lunch for under $8 can be a challenge — especially near a touristy area such as Moscone Convention Center.

    But I lived there for 17 years before moving to Ohio last April and, being a cheap-ass, have collected a few favorites. They’re in an annotated short list in this Google Map, “Good cheapish eats near DrupalCon SF 2010”. In brief:

      Jollibee (4th Street at Howard) is the fastest and cheapest.

      Sushi Club is surprisingly fast and cheap, and has take-out.

      Tu Lan is the best for the money, but a bit far.

    To add your own favorites, log into your Google account, click “My Maps”, then click the Edit button. (Thanks to Shawn DeArmond for the tip.) Please (a) give your own marks a distinctive icon, (b) keep it limited to under-$8 lunch places within a 15-minute walk of the convention center, and (c) don’t touch anyone else’s marks.

    Need a suggestion at the con? Text me at 415-317-1805 and I’ll do my best to help.

    This con feels like it’s shaping up to be a real ground-breaker. I can’t wait!

    Online seminar, 29 March: “Setting Up, Customizing Drupal”

    I’m pleased to announce that I’ll be teaching my first live telecourse on Monday, 29 March, “Setting Up, Customizing Drupal“, for Environments for Humans. My three-hour course is in the morning, with Sheena Donnelly teaching “Drupal Theme Building” in the afternoon.


    Most Drupal people know me for my Lynda.com video courses. I’m no stranger to live teaching: One of my first jobs was teaching secretaries how to use Radio Shack TRS-80 (!) computers when I was 16. (Yes, I’m that old. 😉 ) I presented at a lot of tech conferences during the boom, and later taught real estate courses for City College of San Francisco and a private company.

    But I’d put off teaching Drupal courses live. I fell into a trap a lot of folks in the Drupal community are in: Because so many of us are highly technical developers and sysadmins, I figured the market for beginner’s courses wasn’t that big. The success of Drupal Essential Training gave me an inkling that it’s bigger than I thought; the entry of such companies as Lullabot into the field, and live training by such excellent video providers as Sean Effel (DrupalTherapy) convinced me. So when Environments for Humans’ Christopher Schmitt approached me with a specific proposal, it was easy to say “yes”.

    Watch for another blog post before the date — including a way to win two free tickets. And I’ll try to report on how it went afterwards. Spread the word!

    Preparing for the huddled masses from Drupal’s success

    A recent CNet article notes that such shops as AF83 have been turning away business because they can’t keep up with demand. That’s a familiar story to many of us, including me: Drupal is just growing and growing, and we’re reaping the benefits and challenges.

    But consider the other side of that coin, expressed by the article’s title: “Need a job? Learn Drupal.” If the message gets through, the Drupal community will experience a wave of people driven by practical matters of employment. A few minutes in Drupaldom’s current hangouts — IRC, drupal.org, mailing lists — predicts how such an influx will clash with the existing culture.

    Not that the the Drupal world isn’t already commercial and entrepreneurial — it is, in large part thanks to pioneering companies like Chapter Three* and Dries’ own openness to commerce. But the three badges of Drupal honor today are that you (1) you code, (2) you work on GPL projects, and (3) you’re active in “the community”. Few people responding to the call of this article — or of the business community at large — will meet these criteria. Let’s look at each separately.

    • New immigrants will not be coders. Coders were necessary to Drupal as hunter/trappers were to U.S. expansion. And, like trappers, they’re not as important as they used to be. After food sources are secure, people need banking, commerce, clothing, entertainment. These are institutions that pioneers are not equipped to provide.

      Obviously, trapping isn’t as important a skill now as it was in 1800. We still need food and warm clothing, so the functions formerly served by trappers are now served by others. Trappers can be angry at how they — the people who built this country! — have been pushed aside. (Old westerns are full of such grizzled characters.) The smart ones will get off their laurels and adapt to inevitable change.

      New Drupal workers will be in public relations, finance, advertising, distribution, sales, business relations, and content. They’ll think inheritancy and encapsulation are about wills and pills. They’ll fail to recognize coding intelligence, because they’re not optimized for such wisdom. In my experience, coders repay that ignorance with a vengeance, failing to recognize the intelligence of those “soft” skills even more. But they’ll make Drupal’s banks, markets, stores, and bars run — regardless of how you feel about them.

    • New immigrants will not work on — or care about — GPL projects. They’re here for a job, not a philosophy. The first ones will become educated about open source because they’ll have to be in order to get along with the community. But peer pressure will shrink as the pool of Drupal users grows. We’ve already seen this in (for example) the Linux world: How many users understand their operating system’s origin or license? 1%? How many contribute back to the project? 0.001%, maybe.

      Which leads to a hard question: Does Open Source Matter? On some level, yes, and I spent a good part of the late ’90s expounding the position that it does. But for the people building a career based on using Drupal? No, it doesn’t. They hope that Drupal remains strong, and perhaps have a vague idea that volunteers are behind it. Because they’re not coders, they won’t have any connection to those volunteers — unless the Drupal project changes in ways that make it easier for them to get involved.

      That, of course, has been a topic of much discussion. The Drupal.org redesign will help, but it’s only a drop in the bucket. Ultimately no amount effort will entice the majority of new Drupal users to get involved.

    • New immigrants will not be in “the community”. This will be the hardest blow to Drupalistas who have been with the project since Dries was a jongetje. It strikes at the real reason that people contribute their efforts to Drupal, or any cooperative project: Because they like the people as much as the subject.

      When a group is small, members feel they can know everybody, and problems can be solved via IM. Even if they don’t know everybody, they feel they can at least trust others, and that they’ll share common beliefs.

      But growth engenders diversity. I remember being part of a pretty insular bisexual activist community in the early ’90s, all working together for the recognition and dignity of Our Sort. We started interacting with some counterparts from another city and found them… tacky. Suspicious. Poor representatives of what we thought We were. We had gone beyond our tribe, and not liked what we saw.

      So it will be with Drupal. One thing that’s surprised me is how little we hear of Drupal being used for right-wing political sites. Will our community, with such left-wing support businesses as Development Seed and Chapter Three prominent among us, trumpet their success as well?

    So — the contrast between “old guard” and “new school” may sound harsh, but it’s actually cause for celebration. If Drupal does in fact attract such people — who don’t code, who aren’t GPL-savvy, and who aren’t community members — it’ll be a sure sign that it’s escaped its corral into a larger world. And as we can take advantage of their skills, the circle will continue to be ever-widening.

    * Say, who were the first Drupal service companies? I’m assuming Chapter Three was one of them because of its leadership’s involvement in Deanspace.

    Drupal runs three times as many top sites as the next CMS

    Here’s a statistic I haven’t seen bandied about much. Drupal runs three times as many of the Alexa 10,000 top sites as the next CMS, according to backendbattles.com.

    This figure was extracted using Wappalyzer. It’s not perfect: The Onion doesn’t show up as a Drupal site, for example, probably because it runs an old or heavily hacked version.

    It’s nice to have this statistic at hand when Drupal supporters feel disheartened by popularity comparisons to Joomla. There are many ways to be successful; capturing the attention of the world’s biggest sites is a pretty good one.

    Having said that: WordPress is found on nearly three times as many big sites as Drupal. (Backendbattles.com categorizes it as “blog software” rather than a CMS, so it doesn’t show up in the comparison.)

    What the Drupal 7 release date means

    Regular readers know that I’ve been working on a Drupal 7 book for beginners. We — meaning Peachpit Press and myself — are now faced with a decision. We could release it before, after, or at the same time as Drupal 7’s release. Each option has its pitfalls. Release it too early, and it might not match the final Drupal 7 software. Too late, and we could lose the “first mover advantage” to another book.

    Whatever our decision, we have to provide some date for potential distributors, booksellers, and customers. So we boldly decided we’d try to release it at the same time as Drupal 7 itself — and announced the 24 January 2010 date you currently see on Amazon.

    Webchick, when asked when Drupal 7 will be released, always says “When it’s ready”. Neither she nor co-maintainer Dries will set a date at this point, and for good reason: Neither of them are in control of when “ready” will be. Of course they could release it any time they like — in an unready state. That would be bad for everyone who relies on Drupal, wants to switch to Drupal, has built a business around Drupal, who teaches or writes about Drupal… in short, bad for everybody. So their silence is as it should be.

    But we, like IT professionals around the globe, still have to make decisions. In our case, we have to guess at Drupal 7’s release date a few months in advance if we’re going to hit that goal of simultaneous release. (Book publishing takes time!) And the sooner we make the decision, the better.

    I’d personally love to announce the availability of Drupal 7: Visual QuickStart Guide on the same day as Drupal 7’s own release. But I’m nagged by unknowns. What would it mean if it came out early? What if it came out after a similar book? Which situation is worse?

    What do you think?

    My beginner’s Drupal 7 book: What’s missing?

    I’ve been busy writing Drupal 7: Visual QuickStart Guide for Peachpit Press over the last couple of months. I’m pleased to say that all the main chapters are done, and most of them are already available for preview on Safari Books Online. (I’ve given the table of contents below.)

    Now it’s time to write the appendices, and I’m not sure what would be most useful. We’re thinking:

    • Extending Drupal, including a list of the most popular modules, and whether they’re expected to be available for D7 (thanks to the #D7CX project)
    • Differences between D6 and D7
    • Interacting with the Drupal community
    Other ideas?

    Here’s what the book contains so far:

    Chapter 1. Getting Drupal Up and Running

    • Fulfilling Drupal’s Requirements
    • Downloading and Unpacking Drupal
    • Creating the MySQL Database Using phpMyAdmin
    • Installing Drupal

    Chapter 2. Establishing Your Drupal Site

    • Performing Common Post-Installation Tasks
    • Giving Your Site Its Identity
    • Selecting a Visual Theme
    • Monitoring Your Drupal Site
    • Packaging Your Drupal Site

    Chapter 3. Creating and Managing Content

    • Gaining More Control of Individual Nodes
    • Creating Other Types of Content
    • Finding, Editing, and Deleting Content

    Chapter 4. Customizing Content

    • Defining Custom Types of Content
    • Putting Images and Styled Text in Content

    Chapter 5. Making Content Interactive

    • Enabling Interactive Content Types
    • Categorizing Content with Taxonomies
    • Mastering Text Formats

    Chapter 6. Improving Access to Content

    • Making Content Searchable
    • Directing Traffic with Menus
    • Laying Out Your Site with Blocks

    Chapter 7. Wrangling Users

    • Managing User Accounts
    • Controlling How Users Interact with Their Accounts
    • Defining User Roles and Permissions
    • Building and Protecting User Community

    Chapter 8. Customizing Drupal’s Look and Feel

    • Creating a New Theme
    • Changing Theme Graphics and Typography with CSS

    Drupaceous!

    I’m sure I’m not the first to discover this, but…

    An online dictionary search for “Drupal” says it’s a synonym for “drupaceous”: that is, “resembling, related to… [or] producing drupes“. A drupe is a fruit whose seed is covered by a tough endocarp, like the red peaches you see here.

    Juicy!