You are hereDrupalCon - Friday Code Sprint

DrupalCon - Friday Code Sprint

  • strict warning: Non-static method view::load() should not be called statically in /home/yd51llube7rk/public_html/sites/all/modules/views/views.module on line 879.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/yd51llube7rk/public_html/sites/all/modules/views/handlers/ on line 0.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/yd51llube7rk/public_html/sites/all/modules/views/handlers/ on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/yd51llube7rk/public_html/sites/all/modules/views/plugins/ on line 0.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/yd51llube7rk/public_html/sites/all/modules/views/plugins/ on line 0.
  • strict warning: Non-static method view::load() should not be called statically in /home/yd51llube7rk/public_html/sites/all/modules/views/views.module on line 879.

By Brian - Posted on 25 September 2010

Thursday marked the end of DrupalCon CPH proper, but there was an optional "Code Sprint" on Friday for those who were interested.  The idea was to get a whole bunch of developers together to help propel Drupal 7 closer to launch-readiness.  There were 25-ish Critical Issues that needed to be resolved before it could go to Beta.

At the start of the week, to be honest I really didn't plan on going.  I had Friday and Saturday to do whatever I wanted before my flight back to Calgary on Sunday morning, and since it was my first time in Europe I was intent on spending both of them exploring Copenhagen.  Additionally, I had zero experience with Drupal 7, and didn't think I would be able to contribute meaningfully.

That was the start of the week.  By the end of the week, my interest in Drupal 7 had soared, and I was infused with enthusiasm and a new appreciation of how important community contribution is to Drupal's current and future success.  I had also been fortunate enough to talk to Dries Buytaert personally for a bit, and also to Angela "webchick" Byron (who I learned is a fellow Canuck!), who convinced me I could still be useful despite my technical ignorance of Drupal 7.

As a result of all this, I was now determined to contribute to the Drupal 7 Code Sprint.  Now, Code Sprint is a bit of a misnomer, a large portion of it is actually devoted to improving documentation, or organized testing efforts.  But I wasn't interested in that. :)  I decided if I was giving up a day of freeform city exploring for this, I was damn well going to get my hands into some code.  But I had never so much as even looked at any Drupal 7 code before, so I knew I had some learning to do if I wanted to be remotely useful in a coding capaciity.

So the night before the sprint, I stayed up late (which was a pretty constant occurrence all week due to jet lag and other factors) to download Drupal 7 and play with it.  Once I got the latest development snapshot up and running, I went to the Drupal 7 Critical Issue Queue and looked for something that I might be able to help with.

The one I ended up deciding on, was a bug where activating new users was not sending them emails.  Another user, "reglogge", had already done a lot of work pinpointing where the problem lay, but did not have a solution for it.  Additionally, others were having trouble reproducing it.

So I went to work.  I was able to reproduce the problem (it only happened from the User Edit page, not the main Users Admin page), and after a couple attempts I had what seemed like a workable fix.  I did not have things setup properly on my laptop to be able to submit proper CVS patches though, so I posted my code on the thread with the intention of turning it into a proper patch the next day at the code sprint, and went to sleep.

The next morning I got to the code sprint, and indicated that I had a potential fix for a critical bug.  Soon I was working with a small group interested in helping resolve the issue.  I had to spend some time getting CVS setup before I could contribute patches, so I went about doing that.  While I was engaged with that, "reglogge" had turned my code into a patch, and it promptly proceeded to fail about 23 automated tests. Looks like my solution wasn't so workable after all.  I immediately rewrote a much more "hands off" solution, that changed as little code as possible to fix the bug in question.

So my new attempt did fix the bug, and also passed all 23,000 of the automated tests, but it didn't feel like a "complete" solution, more of a special case workaround.  I wanted to refine it into a better version that resolved the underlying root problem better.

Anyway in the end I was beaten to it.  Two other developers submitted alternate solutions, both which attempted to fix the real root problem better.  I helped test the new patches, and tried to help co-ordinate efforts among the developers.  One of the patches failed some tests, the other passed them all, and that's the one we ended up using.  So in the end, none of my code made it into the final fix.  But, I did feel very honoured to be mentioned in the CVS commit message (yes, yes, I'm a super nerd).

After this bug was resolved, myself and a couple others tried to tackle an upgrade path bug.  It was proving somewhat troublesome to get the bug to show up when upgrading simple sites, so we decided to try upgrading, a fairly complicated site, which I happened to have a full copy of on my laptop.

Lo and behold, we encountered the problem we were hunting for immediately... and then never again, all day long, despite hours of trying to reproduce it.  So that was frustrating, but we did manage to get the bug knocked off the critical list anyway, since it seemed to be a rare Firefox only problem, that didn't actually prevent the upgrade from completing.

So in the end I contributed to removing two criticals from the bug list, I was pretty happy that I had been able to help.  At the end of the night I said my goodbyes to a bunch of people I had met during the week and/or that day, and made my way back to the hotel to collapse, finally able to look forward to sleeping in the next morning.

Anonymous's picture

This is fascinating, publish more usually!

Brian's picture

Thanks for the encouragement! I really have been meaning to, I swear... ;)

I've still been meaning to cover sightseeing in Copenhagen, DrupalCamp Alberta, the Northwest Pacific Drupal Summit, a bunch of photography, and the upcoming DrupalCon Chicago.

I need to clone myself, and lock one of me in a room with my blog.

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account, used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options


  • RIP Michael "Commander Sinclair" O'Hare. That's 5 actors from Babylon 5 passed away now... tragically, all by age 60 or (much!) younger :(
    11 years 21 weeks ago
  • @humantorch leave a second bottle to confound him. And if not, it will at least slow him down
    11 years 22 weeks ago
  • GLOBAL BACON SHORTAGE. You may now panic.
    11 years 22 weeks ago
  • ERH MER GERD EN! (to the cadence of "Armageddon"). Coined and trademarked
    11 years 22 weeks ago
  • @sowrey one of the few articles I've seen that discusses the legal realities in play: (even that is "third hand" tho)
    11 years 23 weeks ago
  • @sowrey why would Google allow it? For 3 years they've been able to point to Android having built-in turn-by-turn nav, which iPhone lacks
    11 years 23 weeks ago
  • @sowrey even if Google would LET them renew it, it would still forbid turn-by-turn navigation
    11 years 23 weeks ago
  • @sowrey I read on Slashdot yesterday that yes, the original license runs out this year. Don't have a source for that tho
    11 years 23 weeks ago
  • @sowrey again, the GMaps licensing terms predate all the recent iOS vs Android crap. Those terms made this inevitable at some point
    11 years 23 weeks ago
  • @WebDevMorgan interesting... I understand Google couldn't offer turn-by-turn on Android until they had full control of their own map DB too
    11 years 23 weeks ago