Data Import, Deployment Slides From DrupalCamp Seattle

Error message

  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /usr/www/users/gdd/heyrocker/includes/
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /usr/www/users/gdd/heyrocker/includes/

This weekend I gave two talks at DrupalCamp Seattle. The first discussed some data import code I used at The Seattle Times while converting our old systems to Drupal. The second talk was a repeat of the deployment talk I gave at DrupalCamp Vancouver, with one new slide covering the just-released Database Scripts module.

The deployment talk went well and generated a lot of discussion as always. I left the talk thinking I still had a lot of work to do in terms of figuring things out, but the next day my brain found the links between a lot of different data points and I had one of those lightbulb moments you always hear about. Hopefully there will be some fruits of that in the coming weeks (unless it turns out I'm totally off-base which is entirely possible.)

The data import talk seemed to go over well, but I wasn't as happy about it personally. It was very code-heavy, and as such I think it would have made for a better blog post than a presentation. I would probably also tweak it a bit in tone, making it more clear that this is how I solved a single problem that worked for me. I think people came in expecting more of an overview or definitive session. However I did get a couple really good nuggets of information from the crowd which is awesome. I love talks that turn into a conversation, rather than someone standing at the front dispensing wisdom.

All the code and slides from the talks are attached below in a dizzying array of formats. The code from the data import talk is one script containing all the snippets from the slides rolled up into a self-contained piece of code. The sample XML I used is in there as well. At the end of the talk I showed a piece of code I've used to create CCK imagefields on the fly from remote images, but I hadn't made a slide for it. This functionality is also included in the code. There is a README in the text file which you should look at if you want to run this. It's for Drupal 5 and requires CCK and Imagefield.

Thanks to the DrupalCamp organization team - Gregory Heller, Robin Barre, Jennifer Hodgdon, Jared Stoneberg, John Walling, and the rest I've undoubtedly forgotten. Special thanks to the video team of Kirk, Jared, and Dave, who got session videos up in record time! View them now!

Creative Commons License
DrupalCamp Seattle - Drupal Staging & Deployment slides, and Data Import slides by Greg Dunlap is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

I wrote two chapters of this book - Drupal 7 Module Development and I co-wrote it with Matt Butcher, Larry Garfield, Matt Farina, Ken Rickard, and John Wilkins. Go buy a copy!
I am the owner of the configuration management initiative for Drupal 8. You can follow this work at the dashboard on

I used to work at NodeOne in Stockholm, Sweden. NodeOne is the largest pure Drupal consultancy in Europe. They have built websites for clients like IKEA, SFBio, and Möbler. If you need some work done get in touch!