Well, all this weekend's adventures seem to have paid off pretty well; I'm back now from DrupalCamp Austin and I thought I'd go ahead and review some of the things I took away from it all.

Find your niche

I hadn't expected to get a lot out of the first day's keynote, Building a Successful Drupal Business; after all, UNT really isn't in the business of building Drupal sites for profit. However, it turned out to be pretty interesting after all; the speaker, Ben Finklea, spent a lot of the time discussing the importance of finding your niche as a business…rather than trying to be everything to everyone, it's better to be the company that does x.

Now, even though UNT isn't really selling websites to private clients, I thought this had some interesting applications. For starters, the office I work in (Central Web Support) has really done a lot in the past few years to position itself as the campus's source of Drupal expertise; I think that's been helpful to a lot of our users. Beyond that, however, I think we've all got a pretty significant interest in making university site-building better, not just for us but for others.

There was a Birds-of-a-Feather session later on about Using Drupal in Higher Ed where we spent some time with folks in similar situations; seems as though everyone trying to do university web building faces similar challenges to what we've gone through at UNT. It made us think that maybe one way for us to serve our "niche" would be to sponsor some sort of clearinghouse site for that topic, so that folks can start to share strategies outside of their own silos. If you know of such a site that already exists, let me know; we may never get around to putting it together ourselves, but I think it would be beneficial.

JQuery UI

There was also a very informative session on using the JQuery UI to build better user interfaces. I'm hoping the slides show up online at some point, because there were lots of things I wanted to try out, and I didn't take very good notes.

Panels 3

Saturday afternoon in the Volacci room was all about the Drupal Panels module. Adrian and I actually only made it to the second of these sessions, but I found it pretty interesting. For instance, I've never tried using panels to override a node edit form; that would be extremely useful in one of the projects I'm working on at work right now. Gonna have to spend some time looking closer at panels, I think.

Drupal in the cloud

The Sunday morning keynote, Drupal in the Cloud, was pretty interesting to me, but not necessarily because it had anything to do with what I do at UNT. Our office handles all the university's web hosting directly, and for policy reasons we don't typically utilize cloud services at all.

This blog, on the other hand, is entirely self-hosted in "the cloud," as it's running on a SliceHost instance. So I learned some useful tips for that, even if it wasn't particularly helpful for work.

Our talk

As I mentioned previously, I got to co-present a talk with my co-worker Adrian Rollett about some tools that help make it easier to version, package and deploy Drupal functionality, from simple features all the way up to complete, polished distributions. I think it went well, though I probably could have benefitted from this advice prior to putting the show together …I always rely too much on everything being written down in my slides, and I think it showed. But people were excited about the subject matter, and there were lots of questions and positive tweets. Some of the latter:

Kind of fun to watch those go by during the presentation, too; since we were tag-teaming, whoever wasn't presenting got to post useful links for the crowd, and read any feedback people were tweeting.

I mentioned that we got some questions; actually, there were a few we couldn't quite answer on the spot, so I'm hoping to do some further research on them:

  • If the features module can't yet export something, it's possible to manually add it to your exported feature by implementing hook_enable(). However, if you later use features' "revert" command to restore the feature to its original state, how do you ensure that the stuff in your hook_enable() gets properly reverted too? (via @msonnabaum)
  • Although it's not currently possible to use the standard drush dl command to pull modules from arbitrary, non-drupal.org repositories, one audience member wondered if it would be possible to add this functionality via similar functionality in drush make.

There were more questions I'd like to research further, but I'm having trouble remembering. I'll try to post them here later once I do remember them, and hopefully have some answers soon.

Update: The slides for our presentation are now publicly available at http://www.scribd.com/doc/22671613/Automating-Drupal-Deployment-with-Drush-Make-and-Features.

A new car!

Throughout all this, Jamie was out with her brother and sister-in-law, who live in the Austin area. Since our car would no longer get us back to Dallas, she spent most of the time at car dealers, trying to find us a good replacement. Saturday evening I went out to the dealership, test drove the one she liked (a Nissan Rogue), and then we went ahead and bought it. Easiest car buying experience I've ever had, if you don't count the whole stranded-for-an-hour-on-the-side-of-the-road part :)

Meanwhile, the ailing Camaro is slated for adoption by my father-in-law, who is already the co-owner anyway; in my mind, this is a pretty good deal—he gets an awesome car to fix up, and we still get to drive it from time to time. It's a 35th anniversary edition Camaro, the last edition they made before Bumblebee; Jamie drove it off the showroom floor back in 2002, and we'd been hoping to be able to keep it around long enough to see it become a classic. This way, we kind of still can. All in all, a pretty happy ending to a rather harrowing experience.