Drupalcon: Day One

Well, day one has come and gone. Christina is in bed beside me asleep and feeling more toward the better side of things. She's been sick since last night, unfortunately, most likely due to the disrupted schedule and lack of good food and enough water. Nik gave her a cocktail of medicines that have been helping. Smile Hopefully she'll feel up to a tour we will take tomorrow of La Sagrada Familia... which is incredible! I'll post pictures later of the place lit up at night. Onto some details about the conference...

The venue for the Drupalcon is amazing. (See the first picture below for a happy shot of the banner they hung for us!) It's an old factory that's been converted into a hi-tech convention center. I'm sure the brick and cement walls do wonders for the wireless network reception... but it works and it's nice. And there's free food for lunch. Wink Overall it's about a 30-40 minute metro/tram ride from our apartment. It was fun seeing more and more Drupallers as we got closer and then entering geek heaven when we got off the tram at Cornelia Center. The organizers couldn't have picked a better place.

The day started off with a quick introductory session followed by a nearly on time first session. I'll have to post a pic of the swag we got, but it was all incredibly cool and useful (a public transit map, a lens/LCD cleaner, a MySQL cheat sheet, and Lullabot buttons!). We also got cool Drupalcon shirts that you can bet I'll be sporting in the Ubercart office. Cool

I attended The Observer session by Moshe Weitzman and Barry Jaspan. (I met them earlier at the family gathering at Moshe's which was much fun - and also informative!) The wireless wasn't working for a while, so there was plenty of question and answer time which proved quite fruitful. I learned about the great solution they setup for publishing content at The Observer, including their edition nodes and ability to preview editions for certain days in the future (or I suppose in the past) so their editors can preview an edition before it gets published. They talked a little about the process of communicating with a client and stressed the importance of wireframes and design documents being received up front. Obviously, you can't wait till the whole site is done to start theming, but they would have preferred to wait a little longer on this particular project. The also gave a quick plug for Advomatic hosting for any looking for a good host.

Next I made it to Simon's session on the state of e-commerce. He provided a great birds' eye view of the project, covering the main bases for a wide set of modules. There's just sooo much to cover, but his slides were concise and his info about upcoming features for version 4 was quite exciting. I'd be lying if I said I didn't imagine how I might implement some of the stuff in Ubercart. Wink They'll have PDF invoice generation, a recurring payments API (I think has existed for a while, but the question comes up often in the Ubercart forums), and product features which will be "integratable" with actions for workflow stuff. We've really got to define actions for Ubercart. I mean, we're practically doing it already w/ our own hooks... it should be a piece of cake to define them as events. (Oh bother... I always mix up the actions/events terminology.) I also realized I was doing something silly with the checkout pane/order pane APIs and may try to correct the problem when I return. It would be something along the lines of adding _validate and _submit functions to the checkout process instead of including that code in the checkout pane callback... that would allow me to simplify the checkout pane API even more and be more consistent with the Forms API. I'll chew on it...

Lunch was good. It was baguettes, cheese, some weird green mass filled fried thing, and other finger foods. I ate it outside with a guy named Joe Golden from Vermont. We chatted a bit about his work and a bit about Ubercart when Olav and his fellow German Friedrich (sorry if that's spelled wrong Sad ) joined us. Olav wrote a VAT module for Ubercart... and get this. He and Friedrich co-authored a German Drupal development book and included a chapter on setting up a store in Drupal... using Ubercart. I was totally pumped to find out about it and wish I could've talked to him more. I hope to see him in an Ubercart session. Although I met him a little later in the day, I also found by accident Aymerick from France (and the Ubercart forums). He's contributed role product and expirable product modules to Ubercart, and I hope to see him again, too.

I also ran into Jeff Robbins from Lullabot and had a good chat with him about his recent improvements to Contemplate (better UI, file exports to put templates in a sites/all/contemplate directory, and more). I got to fill him in a little on Ubercart and toss around some general excitement about Drupal development and the Drupalcon. Perhaps some day we can get on a Podcast to share a little more. Remember... Lullabot loves you. (Will post a picture of the proof later. Wink )

After lunch I caught the Forms API 3 session. Here I learned a little about the upcoming changes to the Forms API for Drupal 6. It's exciting stuff that will affect every Ubercart module, but it won't be too bad to update. Image buttons are now in core. Also, individual buttons can now have validate and submit handlers, and you can embed data on buttons to pass through the form in the new $form_state array. $form_id and $form_values are no more, but their old contents and new info will be sent in the state variable. Multi-step forms have also been improved, which will be a big plus for Lyle who's been struggling with them in Drupal 5 for taxes forms. There is also no more returning of a URL for redirection... you simply set it in the $form_state array, which is good for affecting the redirect with hook_form_alter() I suppose. His was a great session to sit in on, and it ended with Ewoks dancing on the screen.

After that I caught the Drupal College session, which was a small presentation and then brainstorming session on an official Drupal training course. The idea is for it to last a little longer and include company partnerships. There's still more thinking to be done, but it sounds exciting. I wish it'd been around when I was just graduating... I won't be attending myself, but I would be interested in doing mentoring and training with the guys if it ever materializes. I wish them all the best!

I didn't attend a final session but chose to hop online for a few minutes... bad attendee. But I did get the opportunity to meet other developers, including Alan from NowPublic. I got to gush to J.R. from Hawaii (now living in Barcelona) for a while about Ubercart, and this is also when I hooked up with Aymerick. I'm sure there will be plenty more to tell... Afterwards, we all headed back to the apartment, hung around for a while, and went out for a quick bite to eat. Turns out when I went to pay for my hamburguesas there was a 5 EUR bill on the ground that the waiter handed me to pay him with. Well... I did, and I ended up making 1 EUR back just to eat at his restaurant! How about that! In Barcelona, you can get paid for Drupalling and paid for eating. }:)

Made it to the apartment

Well, Christina and I did arrive in Barcelona in one piece yesterday afternoon. We landed right on time around 2:30 PM and had an adventurous time making it to our apartment. It took us a lot of question asking, map reading, and confusion, but we were able to take a train to the metro (subway) which had a stop at La Sagrada Familia near our apartment. (The cathedral is incredible!)

We eventually got in after an hour or so of waiting around. Apparently there was some miscommunication w/ the rental company. Tongue It's a nice place with a lot of handy stores close by (restaurants, grocery store, pharmacy, etc.). We hooked up with two of the other roomies (Balazs from Budapest, Hungary and Philippe from Paris, France) and had an excursion to Moshe Weitzman's apartment for a little meet and greet with Drupallers and their non-geeky partners. There we got to hang out with Moshe and his wife and Simon (e-commerce) and his wife. Barry Jaspan showed up a little later, along with another couple (Dan and Amy I believe), the woman half of which Christina was supposed to hang out with today.

We got to bed sometime around 11 PM local time after very little sleep on the airplane. I was actually planning on waiting up for Nik and Shakur from the U.K. to show up, but I fell right asleep almost as soon as I got horizontal. Basically... we were wiped out. Now it's actually today, and I'm typing from a connection room in the Drupalcon venue. I'll be posting a little more about that in a minute if I get chance. Just wanted to send out a quick note to tell you all... we made it! Lol

Session outlines posted

Well, after many hours of typing away, I've finally finished the three session outlines. I posted them over at Ubercart.org and think a link from here will suffice. I'd appreciate any feedback on the outlines and content covered, especially if I'm leaving out something important! Now I just need to finalize the demo servers and I'm outta here. Cool

Click here for the thread with the outlines.

Coming to a Drupalcon near you...

That's right... Ubercart has been slated for not just one session at this year's Drupalcon in Barcelona but three. I suppose we're only doing three because I am not superhuman (after all). The sessions will each target different audiences and are outlined below:

  • Ubercart.org Shop Talk - This session is really a presentation on the Ubercart website, the community hub that is supporting the Ubercart project. I've made plenty of mistakes along the way and am hoping to show others the scars so they can learn from my (bad) example. I strongly believe that Ubercart's growing success in due to the fact that we run a distinct community site separate from Drupal.org, but that may hurt us in the long run as we forfeit greater exposure on the developer community. We still have much to learn and aren't out of ideas by any stretch of the imagination!
  • Hello Ubercart! - This session is an introduction to Ubercart and its features. It will be aimed at the evaluator interested in seeing what Ubercart can really do. Most folks dropping in will know little more of Ubercart other than the name and a vague idea of what it does. The plan here is to walk through an install and a store setup to give people a good idea of Ubercart's core features and direction for the future. I also want to introduce attendees to Ubercart.org so they know where to go to find support, post bugs, find contributions, and check out other Ubercart sites.
  • Ubercart Development - This session is an introduction to developing modules for Ubercart. I'll work real hard to get attendees up to speed on the development process and explain our basic goals and desires for the future. I really hope to recruit other folks during this time by getting them interested in the project. I believe it's worth anyone's investment and can name a half dozen people out there making money off my freely distributed project right now!

So, there you have it. I've never been to Drupalcon, so it seems like an awful lot to take on my first go round. However, you don't fly to Spain every day, so I may as well take advantage of the time! I love public speaking, particularly about subjects I really enjoy (Bible, Christina, Drupal). This really is the perfect opportunity, and it couldn't be possible if it weren't for my uber-generous boss (Andy) sending me. I hope to make it worth his while and bring back so many code secrets he'll have to keep me under guard to make sure I'm not kidnapped by the Commies to work on their websites.

I hope to use this blog to report on the conference, so feel free to check back more often next week while it's going on. Christina and I just bought a nice little digital camera with the last of our wedding money, so expect to see some pretty pictures (of things in Spain, not just of my wife).

And now... it's back to work on the sessions.