Training and Development for Drupal


One off lessons and demi-trainings, usually via blog.

Drupaltherapy gets married, uses Views and Feed API

Drupaltherapy has been on the back burner for a good couple of months while I prepared to get hitched on September 12, 2009. It was a nice affair, held at an outdoor education and retreat center equipped with canoes, kayaks, archery, zip lines, kickball fields, square dances, and a whole bunch of other things that make weekend weddings fun for family and friends.

What is making us very happy right now is our use of Drupal as the platform for our wedding website and the use of some specific modules that are doing some cool things for us, too.

We asked guests to share their photos from the weekend using Flickr and our sanctioned wedding tag. We are using Feed API to pull down incoming Flickr posts and create nodes based on each new item, following the steps in my Feed API screencast, and then leveraging Views to make a neat display.

Flickr already provides nice photostream displays and I suppose guests could just look to Flickr to see the collection of tagged photos, but we wanted to draw our family and friends to a central place where we could control more of their experience ourselves. So, to replicate some of the Flickr features we slapped in a Views Slideshow, a recipe also found in one of my screencasts.

We also tried to harness Twitter for something useful wedding-wise, and the best we could come up with is more Feed API tricks to get similarly tagged tweets into one place. We thought that our friends could possibly communicate with Twitter through our site, so we built a little interface that pulls down tagged tweets into nodes with Feed API and also gave anonymous users the ability create nodes direct through our site.

The only people who used this were the two of us and on occasional luddite family member, so it didn't go according to plan.

There probably are a bunch of tricks that I could have pulled to make this move smoother, but yeah, I my head was in other places. I did want to put it out there that many of the features found in Drupal and in some contrib modules really go a long way for nailing down the basics of a wedding site and I would be happy to talk to anyone who wants to try it out. Connect with us on the Weddings Group and we can talk there.

Anyway, you'll be seeing more of Drupaltherapy now that the big day has come and gone, starting promptly with a new set of Drupal training sessions in San Francisco on not just one day, but two!.

National Park Service gets trained, learns to fly!

I've just finished leading a week of training in Flagstaff, Arizona, for a variety of National Park Service staff from parks all over the country. They have plans to deploy a number of Drupal based sites to operate several different virtual learning centers from each of their parks.

One of the neat things about training NPS technology professionals is that they each come packaged with a cool background in biological sciences and experience of service within the parks. One of the trainees, now leading a technology front in the Olympic Peninsula region in Washington not only lead technology and IT teams, but also researched Mediterranean tortoises for a decade. Pretty neat.

One of the more fun portions of the training week, apart from the awesomeness of the classroom time, was taking a side trip to the Grand Canyon with 10 park service employees. These new Drupal trainees used fresh air and space to practice their new ninja Drupal skills, including flight and weightlessness (as seen above).

After loosely throwing around terms like "drinking the Drupal Kool-Aid," one of them (we don't know who) made an attempt at designing an alcoholic beverage named "The Drupal". It contained vodka and blue curacao and is served in a teardrop shaped glass. Its measurement of success is written on this trainee's face (seen below). read more » turns 500,000!

One half meeellion nodes...

Someone out there must have noticed that hit its 500,000th node on June 23, 2009. That's a half million drops in the community pool that makes this project so excellent. The lucky winner is seanr with a module release.

It looks like is ramming through about 1000 posts a day. At this rate a plus the exponential growth of this community, there is no telling how soon we'll hit that one million mark. We just crossed the 250,000 node mark 14 months ago. I'll make a suggestion that someone start a pool for the date of the one millionth node.

I'll cast the first vote for Sept 25, 2010. Yeah, that's soon, but mark my words.

GMap + Location Screencast

FAIL (the browser should render some flash content, not this).

If you like this screencast, you can show it by pitching in to a special fundraising effort. (And here's why.)

Drupal can store and display geographic information through the use of the contributed modules called GMap and Location, part of the geocoding module stack known as Mapadelic. Together they form the foundation of building rich maps using Google's map service.

This screencast covers the basic setup required to produce your first Google mapped nodes and display all your nodes on one big map.

Prior experience with Drupal 6 core will help you follow along with this lesson, especially in the area of enabling and configuring modules and customizing content types.

Training Session Followup from Drupalcon DC

I had the pleasure of arranging for four individuals to present on the topic of Drupal oriented training at Drupalcon on March 7, 2009, in Washington DC. Barry Madore from Advantage Labs, Alex Urevick-Ackelsberg of Zivtech, Lee Hunter from the Drupal Doc Team, and myself from Drupaltherapy, all had about 15 minutes to weigh in on our experiences building building curriculum and training for the different wedges of the Drupal community. All of our presenters' notes are written up through their blogs, now linked from the session page on

My goals for the session were to provide some resources to the community to develop more Drupal training opportunities. There is a gradient of Drupal knowledge with both ends of the spectrum expanding. Our training opportunities should expand proportionally with the base of new learners entering the community.

It's such a broad spectrum but only a small scope of training has really been cultivated. I work and thrive in the entry level learning realm because I saw this as the area with the greatest need. I've been building a very successful model teaching concepts and best practices to new users and I've come to type cast them into a few general categories.

There are people that don't intend to ever use Drupal but need to know enough to understand its potential, like executive directors scouting the software to determine if it's right for their organization. There are people who have just adopted Drupal and have to acquire a new skill set before starting a project. There are organizational, educational, and business staff who found themselves using newly deployed Drupal web applications and need to learn only a tiny portion of Drupal to perform their jobs. And finally there are also small scale developers and/or web hobbyists who roll out a few small projects each year.

One of the points I wanted to drive home is what the process of Drupal skill assessment could look like. I make a point to interview new training clients to determine the amount of Drupal knowledge they have and how they learned it. Many times this includes determining what knowledge a client has to unlearn.

I don't have a linear process. Measuring a person's understanding of Drupal has not been, so far, a system of checking boxes or circling numbers. There aren't many other benchmarks set outside of Drupal that can describe their potential existing knowledge. People with a high degree of PHP knowledge believe they know a lot about Drupal, people with no development experience outside of their Flickr, Twitter, and Facebook accounts all believe they know almost nothing about Drupal - and neither scenario is necessarily true. Drupal is also a moving target that changes all the time - CCK is easy to understand, as an example, but how can we evaluate the potential for a learner to understand future changes in the project, like the Fields API.

It makes a lot of sense to first evaluate a learner's goals. This can tell you a lot especially if a learner is mid-project or task. Then once you understand the goals, you can determine how close to those goals the learner is already. And then build a training based on reinforcing concepts they already grasp and closing the remaining gaps.

I have a basic curriculum that covers the most fundamental concepts of the Drupal project, and I can reshape however a client needs. This comes as a result of answering requests for training in the same things over and over. I recommended in this Drupalcon session that consultants and development shops being to cultivate their own training programs based on the work they do, especially if their clients come from similar flavors of business. There is not only potential to serve the community knowledge void, but also the opportunity to maintain a recurring training program that add value and to their development work. The way I see it, keeping training as an afterthought is missing out on a lot of opportunities.

At some point in the Drupal learning process, after trainees hit a very specific point in the curve, every single one of them needs to branch or fork out in some specialized learning direction and meeting those needs becomes more difficult. That point comes right after grasping core and a handful of the really popular contributed modules. Here is where the other presenters picked up the thread.

Following my comments, Barry Madore of Advantage labs described their Drupal "study hall" mentoring programs in Minneapolis.

Alex Urevick Ackelsberg discussed his recent experience with training members of his fast growing Drupal development shop Zivtech.

Lee Hunter batted clean up with a discussion on developing documentation for training, particularly the difference between code-driven documentation versus doc-driven code.

There were several really good questions and comments to follow the discussion. Some great suggestions were made to aggregate our training curriculum into central places, and to develop standard Drupal certification programs (like we discussed in Szeged last year).

Unfortunately, we were one of the 9 sessions out of 100+ that did not get videotaped for the web. It may have been conspiracy, but its more likely that they put resources into the concurrent Fields API session happening in the room next to us.

Oh well.

Drupalcon Tweets from Friday as Wordle

Ditto from yesterday, these are the tweets from Drupalcon DC from the day-until-now. Pretty neat. Find it in full size here.

Thursday Drupalcon tweets as Wordle

Wrapping up today at Drupalcon by pushing 12 hours of tweets tagged with #drupalcon into Wordle. I did have to reduce the instances of "drupalcon" and "2009-03-05" in order to make the other words large enough to be legible, but this is the only processing I did of the tweets themselves. Turned out a pretty sweet image and to get it in a big format then just click.

Reviewing: Drupal 6 Site Builder Solutions

I've just read Drupal 6 Site Builder Solutions by Mark Noble and think it's got a lot of good things going on. This book, like a lot of Drupal books out there, presents some basic methods for installing and setting up a Drupal website but what it does differently is look at every tutorial and example through the lens of a small business.

In fact, the whole book is tutorial after tutorial of setting up Drupal with this same small business in mind. The example business is described as a restaurant with a well known chef, with specific clientele, particular menu, etc. The whole book is a great example in assessing the needs of this business and then working out Drupal solutions to get there. Granted, I don't know think there are many famous chefs are out there building their own websites, but this is besides the point.

I've got a background in technology training, including training for Drupal, and I am definitely sensitive to the prospective reader's learning needs. Technical books can sometimes advertise themselves to the wrong audience and leave some new learners in the dust. But, I'm happy to say that this one passes my learner sensors without any difficult issues.

Like a lot of the books coming from Packt Publishing, the preface lays down some assumptions on who the book is intended to help and what tools readers will need to follow along at home. The author's got a pretty good workflow for configuring a newly installed Drupal website, and moves from basic to advanced at a appropriate pace. The path through the Drupal principles is, for the most part, clear and well designed. The lessons were concise and easy to grasp.

There were only a few parts where I though some principles were presented out of order, like right in Chapter 2 there is a small segment on installing and enabling new modules smack in the middle of a bigger section on creating pages. But these diversions aren't terribly distracting and do manage to inform the task at hand for first time readers.

Some of the chapters and topics don't get the depth that they deserve and have the chance to leave a reader stranded. Chapter 9, for example, deals with the ecommerce package known as Ubercart, but is very seriously abbreviated. This topic, and ecommerce in general, is one that probably requires a whole additional book to fully teach and grasp and there is at least one Drupal ecommerce book on the market right now.

All told, the book reads just as advertised and makes good on its promise of "building powerful web site features for your business." If anyone is looking for a book with great practical examples and very accessible scenarios, then this would be my recommendation.

If you are looking to buy this book, I suggest you look for it first on the Drupal Books page. Buying books through the affiliate links on that page will give back some small amount of your purchase to the Drupal Association, a caretaker organization for the Drupal project and brand:

Date + Calendar Screencast (Drupal 6)

FAIL (the browser should render some flash content, not this).

(If you are looking for Date + Calendar instructions for Drupal 7, look here.)

If you like this screencast, you can show it by pitching in to a special fundraising effort. (And here's why.)

Here is a fast screencast covering the Date and Calendar modules for Drupal 6. This recipe illustrates one way to let your users post their own events (like parties, appointments, meetups, etc) that include date information stored in a field. Then you can see how to display these dates on a traditional calendar layout with all the events sorted into the correct days. read more »

A "pretty good" review for Drupal for Education and E-Learning

I've just read Bill Fitzgerald's Drupal for Education and E-Learning, available from Packt Publishing. I'm writing this from and educator's point of view - that is as both a traditional classroom teacher guy and as a Drupal trainer.

It's a great book that covers the methods for adding blogs, forums, podcasts, and videos to a learning environment using Drupal as a platform. Those who have already decided that Drupal is a good choice for education will get good instruction - those on the edge might be persuaded to choose Drupal for their programs. Drupal offers a lot features out of the box, and even more with contributed modules, and the lessons in this book cover them squarely.

The author makes each lesson concise and digestible and has a well developed arc and learning curve throughout the book. Teaching Drupal in building blocks is key. The technical examples are all spot on and really show off the capacity and flexibility of Drupal. I am confident that readers will grasp the author's tutorials and be in a great place to roll with it as their learning continues. I can also appreciate the last chapter which lays out options for readers to learn more with free resources that already exist. read more »

Most Recent Screencast

See video

Support the Association