DrupalCon

My DrupalCon San Fransciso session: Grok Drupal (7) Theming

Drupal theming is incredibly powerful, flexible, dynamic and granular, but it can be a bit of a challenge to understand without knowing the fundamentals.

The Way Drupal Theming Was

When I started Drupal theming in 2004, it was all a bit overwhelming. Back then, the core theme engine was something called Xtemplate, and it gave the impression to the n00b themer of being a great big mess. When you looked at the page template, it was one big blob of markup and logic, and it was very hard to figure out to change just about anything. What's more, it seemed to be very brittle: change something and you got the white screen of death.

And thus life was for the themer through Drupal 4.5 and the beginnings of 4.6.

New Drupal Theming Power

Then, in 2005, came the PHPTemplate theme engine, thanks to Adrian Rossouw (now with Development Seed), and the heavens opened up.

Suddenly (well, not suddenly, as it took a lot of work) Drupal templating had a structural logic: a nested system that simplified the clutter, gave us defined variables to work with, and provided the basis for extending the system. This was really really cool — so cool that it immediately became the theme engine of choise, and, with Drupal 4.7, it became the theme engine for Drupal core.

I was so excited about it, I did my first Drupal conference presentation on it, at OSCMS 2007 at the Yahoo! campus in Sunnyvale. (It was part of a larger topic of overriding display upon which I collaborated with Greg Knaddison and Ezra Barnett Gildesgame, now of Growing Venture Solutions. The PDF of my slides are available here, though they're pretty outdated now.)

Since then the Drupal theming system has evolved and improved. There are a lot of nifty techniques, tricks, best practices that are available to the themer. What's essential is having a good understanding of the underlying architecture, because that's how you can figure out where to look, how to go about making the changes you want to make the theme yours.

No PHP knowledge is required ... beyond knowing not to muck with what's between the <?PHP ... ?> tags. Of course, knowing some PHP can help. But you can also pick up the basics as you go, if you want to delve into the coded bits.

Learning Drupal Theming in 2010

My session proposed for DrupalCon SF on Drupal theming basics brings a comprehensive look at the Drupal theming system and how the front-end developer new to Drupal can take charge of the output by taking advantage of what Drupal gives you.

You won't come out an expert — that would be a ridiculous promise — but you will come out able to start rocking your own themes. You will have a solid understanding how the Drupal theme is structured, how the various templates work together, how to define regions, how to add your own targeted CSS files and scripts, use of subthemes, some good base themes to work from, how to do custom overrides of obscure, quirky or persnickety output using preprocess ... and you'll grok theming in such a way that even if you don't know how to do something, you'll know how to go about figuring it out, where to look, what to change, etc.

And because we're about to enter the age of Drupal 7, this presentation will be about these things for Drupal 7 (with some notes on how things have changed from Drupal 6). So this session could also be of interest to the experienced Drupal themer who hasn't had a chance to delve much into Drupal 7 yet.

Session voting is now open for DrupalCon SF, so if you think this session sounds helpful to you, or would be of use to the several hundred people new to Drupal who are expected to attend, please vote for my session, "Grok Drupal (7) Theming".

Thanks!

12 ways how not to "do" a conference

This was the garden outside of DrupalCon Paris
Montparnasse
DrupalCon main room
DrupalCon before Dries' presentation
DrupalCon Paris 2009
Gathering for the DrupalCon Paris photo

Having just returned from DrupalCon Paris 2009 with mixed feelings as to how I forged my own experience there, I thought I'd put down some thoughts on conference attendance and participation — what (not) to do.

  1. Don't minimize the jet lag factor.

    I had an 8-hour shift in going to Paris, and my first day there after touching down around 7am was pretty much lost in the fog. The second day was really my first day, and that would have been better spent having to myself to just settle in, check out my hotel neighborhood, find decent food, orient myself as to where the conference venue was, etc. As it was, I had to run off to the conference for my first day of meetings and such. I should have arrived a day earlier.

  2. Don't stay at a hotel beyond walking distance of the venue, if possible.

    My hotel was about 2 miles from the conference venue, which turned out to be a manageable walking distance. I'm not sure I would want to have more than a 40 minute walk every day, so I peg the limit at 2 miles. But walking is great!! What did I gain from walking? I got to see and experience Paris during my "commute" to and from the conference. I had no tourism time, so this turned out to be a daily pleasure, even when it was raining. And on the 2 or 3 occasions where I needed to cab it for time, it was a short jaunt. (On the other hand, when I stayed in Barcelona, I was 40 minutes away by train, and that was a royal pain. It worked out because I had plenty of food and drink in my hotel area, and the conference was in a rather barrenly industrial part of town.)

  3. Don't upgrade critical laptop software the day before leaving.

    I upgraded to Snow Leopard the day before, and I thought I was all set. Testing revealed no apparent problems that were critical. However, once in Paris I discovered that the slideshow I created in Keynote for looping on the pingVision sponsor's monitor at the venue would not export properly to Quicktime. (See related post, linked below.) I spent an entire day struggling with this. A day lost. Big #fail on my part. Never again.

  4. Don't eat the hotel food.

    Look, do you eat at any hotel restaurants where you live? Enough said.

  5. Don't bring the 17" laptop, no matter how much you love it.

    My back is killing me from carrying not one full-sized MacBoo Pro, but two — one to play the looping slideshow. Today I'm practically paralyzed with back pain. Next time, it's a netbook (or the rumored Apple touchpad) or just a smartphone.

  6. Don't figure you'll be able to meet up with someone later.

    When you see someone you want to talk to, stop and talk. Right then. Don't wait. Of the half dozen or so people I ran into when I was intending to do something else and we promised to talk later, I talked with none of them later. The event may be a week long, but that is over quite suddenly. Talk to your friends, acquaintances, colleagues and other people you want to meet up with whenever you can. Be spontaneous!

  7. Don't blow off the parties, no matter how tired you are.

    Some of the best conversations I had last week were at the "brown bag" party that just kind of happened on the Left Bank. The restaurant designated for meeting was too expensive, but that didn't prevent a fun party in the plaza right there. You couldn't know that in advance, either. In the past, I've been one to choose rest or work over socializing in the evenings of conferences, but that's been my loss. I don't particularly like loud bars and despise crowded meet markets, but there's nothing like conversation over coffees or beers or wine or a fabulous meal!

  8. Don't forget about global data roaming.

    I bought a 50MB plan that more than covered my email and Twitter needs for the week on my iPhone. However, I noticed that when you sync your iPhone to iTunes, your global data gets turned on, even if you had it turned off. And if you had not planned ahead with a global data plan for the month, you could find yourself in for some surprising and onerous charges.

  9. Don't get too wrapped up in your own shit.

    I don't know about you, but there's always stuff going on that demands my attention. Scores of "real" emails every day. Text messages. Phone messages. Project management issues. I let myself spend too much office-style time on those things, which prevented me from seeing far too many sessions. This is the biggest #fail on my part. You're there at the conference to meet up with people, connect with friends, learn what they're up to and discover new things. Your own stuff will be there after the session. Go to the effing session already!

  10. Don't leave too early.

    Some may consider leaving early to be fashionable, like leaving a party. Some may consider leaving early to be expedient, figuring there's little of interest at the end of a conference. I left too early because I got my dates mixed up. I ended up missing the code sprint on the last day. If you've never been to a Drupal sprint, then you're missing out. At DrupalCon DC, it was my favorite day where I finally got to interact with others and even work on some templating code. Missing out on all that in Paris was a major bummer for me.

  11. Don't neglect learning which is your airline's terminal.

    United's website did not tell me which terminal their flights departed from. United's reminder emails did not tell me either. So when I got to Charles De Gaulle Airport, I did not know where to go. The taxi driver either did not know or took my ignorance as an opportunity to inconvenience another foreigner, and dropped me at Terminal 2. Apparently the managers of that airport did not feel that identifying airlines on their maps was necessary. That airport is pretty confusing when you don't know what you're looking for. A helpful person at an information counter explained to me that my taxi driver had dropped me at the opposite end of the airport from where I needed to be. 30 minutes later I finally got to the check-in counter. Next time, I will not be so complacent.

  12. Don't forget about the post-con blues.

    It happens to me every time. I get down after the event, after riding a week on all that energy and excitement. And when I get down, I run through my regrets -- the people I didn't meet, the dumb things I said, the food I shouldn't have eaten.... The blues are blue enough without all that extra baggage. Which is why I'm writing this blog post. I want to savor the joys, and not get distracted by regrets. Therefore: these notes, mostly to myself, for next time.

I'm glad I didn't manage to fail on all these counts this past week, but I really need to work on my conference attendance planning and not just my conference presentation planning. I will do better at DrupalCon San Francisco!

Do you have any other conference attendance suggestions?

When your hotel is in Cambridge

math forumulae

...you might expect to see in the hotel a bedspread like this. Kate told me immediately that she could define each one. Of course I felt like a mental mouse.

So here's a challenge: What do these formulae mean? (And John and Rad, you can answer only one -- give everyone else a chance!)

Quite an auspicious way to kick off a week of Drupal, I'd say.

Get yer yayas out! DrupalCon propsals deadline approaches

Drupal developers, designers, administrators and users, the time is now to submit your session proposals for DrupalCon Boston 2008.

There also are some discounted hotel rooms available, but the pricing is available only until February 18th.

Are you going to Boston? If you're not sure, consider this: You will be with nearly 1000 Drupal aficionados, including many luminaries in our Drupal community. If you have any interest and even just a smidge of passion for Drupal, and if prior DrupalCons are any indication, you will come away with a real buzz, with new knowledge about all sorts of things Drupal, with new business and social contacts, and perhaps a few new lifelong friends. For me, it's fun matching Drupal handles and faces, and wonderful to hear the voices behind what for most of us are just typed words in IRC, emails and forums.

I went to OSCMS 2007 and DrupalCon Barcelona 2007, and both times I came away with a real high. DrupalCon Boston 2008 stands to be as big as both of those combined, and with the Drupal 6 launch coming any day now, this is going to be the Drupal event not to miss!

Hope to see you there!

¡Bon dia des Barcelona! (Things I would have Twittered if I had had the time.)

The street festival -- wow!
The DrupalCon Barcelona banner
The common room
Jeff Robbins and Nate Haug of Lullabot
Dries Buytaert, "The State of Drupal"
Quiet street
Bands, puppets, lots of visual and aural noise
The floats sprayed fireworks on everyone
A float driver
Streets packed
Child drummer

Sunday night, 8:35pm
foundnd passport that has been missing for several months.

Sunday night, 8:35:05pm
realized that I can now go to DrupalCon Barcelona 2007.

Sunday night, 8:36pm
opened up Orbitz, Expedia and Travelocity to look up airfares....

Sunday night, 8:42pm
agonizing over how much they've gone up.

Sunday night, 11:38pm
bought round-trip plane ticket.

Sunday night, 11:47pm
realized that I am indeed going to Barcelona. The usual pre-travel anxiety is setting in. Ack!

Monday, 10:57am
trying to do all the things that I would have taken a week to do, had I had a week before leaving.

Monday, 5:00pm
managed to cover the entire todo list. now going for essential manicure/pedicure.

Monday, 5:05pm
Reveling in the foot bath and massage.

Monday, 6:12pm
got home and had a glass of wine.

Monday, 7:23pm
started packing.

Tuesday, 12:35am
stopped packing. (Not finished, but somewhat close. I'm terrible at packing.)

Tuesday, 4:45am
got up and showered

Tuesday, 8:05am
got through Denver International Airport security. Not much of a crowd but we had to walk all the zigs and zags of the line. Disneyland.

Tuesday, 8:45am
sat down for a Wolfgang Puck pizza. Just about the earliest I've ever eaten a fresh-baked pizza!

Tuesday, 10:45am
Wheels up.

Tuesday, 3:45pm
Landed in Philly.

Tuesday, 4:10pm
Walked a mile through the airport to the international terminal. Thankfully all behind security.

Tuesday, 4:30pm
Airline agent okayed my first-class upgrade request. Now $500 poorer.

Tuesday, 6:17pm
Taking my seat in first class. A glass of champagne and four feet of "legroom" ... Not regretting those $500 one bit!

Tuesday, 7:05pm
Plane still has not taken off. Apparently a radio is defective.

Tuesday, 7:20pm
All passengers were offloaded from the plane. We're told we can get $10 off for "dinner" at McDonald's down another terminal.

Tuesday, 7:45pm
Stopped at a restaurant after walking a mile. Ordered a wine and salmon dinner.

Tuesday, 8:30pm
Airline has changed estimated departure from 9:30pm to 10:30pm.

Tuesday, 8:32pm
Airline worker just announced that they may not be able to fix the plane and have to cancel the flight.

Tuesday, 8:36pm
The plane has been fixed. Everyone is crushing back onto the plane.

Tuesday, 9:15pm
Plane is getting in line for take-off.

Tuesday, 9:40pm
Wheels up.

Tuesday, 10:15pm
Looking forward to more wine and filet dinner.

Wednesday, 1:00am
Reclined almost flat. Going to sleep now.

Wednesday, 11:55am
Touchdown in Barcelona.

Wednesday, 12:35pm
Wow! Passport check was fast, my bag came around the conveyor quickly, and customs just ignored me as I walked by. Getting a cab.

Wednesday, 12:50pm
A taxi driver has grabbed my bag out of my hand. I guess he's going to drive me where I'm going.

Wednesday, 1:45pm
Despite the address and Google Map printout of the destination, the driver is lost.

Wednesday, 2:10pm
Driving up and down streets, I saw the DrupalCon sign. The driver stopped in the middle of the narrow street. I've arrived!

Wednesday, 2:15pm
Realized I am seriously jet-lagged.