Technology

The story of the Drupal 7 core help update

17 comments

This one's all Drupal folks, cause that's pretty much all I've done for the last two and a half weeks. This is what happened when I asked the question, "Is there some reason we don't just fix it all?" I did not know then what I was getting myself into...

A small inconsistency

It all started in late summer, when I was testing some Drupal 7 core patches for moving fields and image handling into core, and at some point clicked my way into the Help pages. There was a blatant typo on the Node module help, and then a change in language that needed to be made, so on August 1st, 2009 I created an issue for it.

Then someone posted a patch to update the text. And Emma Jane Hogbin posted another...and then she and I started talking on IRC about how it would be much better to have some more clear formatting that could be applied across the board, fans of consistency that we are.  And we went back and forth for a while making little improvements. Thanks to having learned how to apply and create patches several months back, I had just enough experience to make changes and roll new patches.

The patch was marked RTBC (reviewed and tested by the community). Yay! But wait... then Angie, who is the Drupal 7 core maintainer saw the issue (as she is the one who does final reviews of issues marked RTBC before they are committed to the core codebase). And she was like WHOA, this is a major change! A good change, but a major one, which would need to be applied across the board to all the core modules (and eventually all the contributed modules). She also made us aware that if we wanted to make such an overarching change that we would need to be able to prove a higher level of discussion and consensus on the issue and then complete the change in time for the string freeze deadline.

A much bigger task at hand

Various documentation team members went back and for for a while about whether the new standard would be supported, and kept updating the patch getting closer and closer to a format we were happy with. By now it was the end of October, and the patch was finally set back to RTBC. This is when it popped back up on Angie's radar, who was like (paraphrasing)... "So, you guys haven't really addressed the question of whether you are going to make a massive across the board change here." Oh, right, that.

A new patch was created that reverted the format updates, and just updated the text to match Drupal 7 functionality. There was nothing wrong with this patch, and it could have just been applied and nothing else said about it.

But I didn't feel right about it... So I thought to myself, is there an actual reason that we are not making this massive change? It's not exactly challenging, it's just a lot of grunt work. And at the end of it, we would have some much more helpful and readable help references for the core modules in Drupal 7 rather than the difficult to read and horribly out of date information that was currently on the help pages.

Accepting the challenge

I posted back on the issue and asked this very question, and said that I thought it was really important to improve the help. Jennifer Hodgdon, who was another initial supporter, started a thread on the Documentation team mailing list, and it turned out that people agreed on one thing: the help text sucked and we ought to fix it. Happy birthday to me, on November 13th, 18 days before the Drupal 7 string freeze deadline, we made the final decision to overhaul the help pages, and Jennifer posted the template for the change.

Since Jennifer is a more experienced member of the Documentation team, as well as a much more advanced programmer than me, she got us off on the right foot and lead the charge for the first half, with the agreement that when she was going to be away for most of the homestretch I would take over and steer the ship. We'd been working well together and I felt like I was competent enough (and had enough other support available) to take on this responsibility.

The standard was signed off on, and on November 20th (ten days to the deadline), a list of modules was posted so people could start signing up for which updates they would take on. And then the real work began. And oh my...was there a lot of it.

Nose to the grindstone

I had no idea starting this out how much there really was to do. I was only thinking about the template change. But there was also a major need to update the content of the text, and those changes had to be reviewed and tweaked, and reviewed and tweaked some more. And then some more... I learned more about Drupal, the contribution workflow, and writing docs in PHP in that week and a half, than probably in the previous six months. Slowly but surely, myself and the others who were helping out got into a groove, and started cranking out some great updated help text patches. I got a couple of hours of "fun hour" at work to work away at this, but otherwise it was all afterhours; it basically devoured my free-time for almost two weeks.

Maybe it was the timing with American Thanksgiving, or having Jennifer away (thank goodness she was back for about a day and a half before the deadline!), but we definitely lost some momentum after the first five or six days. Feeling a certain level of responsibility, I basically crammed like a crazyperson most evenings and all through the final weekend, reviewing and updating patches. Thankfully a couple other dedicated people stuck with it, tag teaming on patches and reviews. Yes, I totally burnt myself out, but with the help of those great people who stuck it out, we miraculously got all of the patches for the 39 help texts done (44 if you count the Field submodules), updated to Drupal 7 content-wise, reviewed until within an inch of their lives, and marked RTBC (many of them already committed) by the December 1st, 2009 deadline.

The result?

Here is an example of the old help text for the node module:

And here is the updated version:

It might not look like much, but particularly for new site admins, and even more so with some of the more complicated modules, this is going to provide a truly useful resource (rather than a slightly confusing bunch of text that mainly just forces people to click through to the handbook). It was one of those highly neglected and unloved parts of Drupal, and it makes me extremely happy that is got a little much-needed love. On top of that, the first one of my help patches that was committed was my FIRST CORE PATCH! In Drupal-land, this is a momentous event, and I was thrilled to see that two of the others who were helping out both had their first core patches shortly after me while working on this.

(For anyone interested, the help doc standard is here, the main thread for the issue is here and there are several more branched off of it, all tagged with d7help.)

What I learned

This can be summed up in three points.

  1. How much work really goes into Drupal. This was the most time I'd ever spent actually working on Drupal (core), not online documentation, not event organizing. I had done some patch reviews before, but this was the most concentrated amount of time spent in the issue queue, and on IRC, working away alongside all of the developers who have also been cramming for this deadline. Countless hours and energy by people around the world goes into making this an amazing open-source web platform. It's pretty mind-blowing to see how it all comes together.
  2. Technical skills. I can now roll patches in my sleep. The whole process of tracking issues, downloading and applying patches, reviewing and making changes, and posting updates is something I now am completely comfortable with. I also learned some basic PHP coding, and also some of the associated coding standards that the Drupal development community uses. Prior to this, I could at best cut and past PHP into the right place. Now I am beginning to cross the line from memorizing to actually understanding what I am looking at. That is a huge accomplishment for someone who three short years ago was finishing off a Masters in Health Geography, and looking at her first CSS code.
  3. A few determined people can make a big change. The crazy part of this was that despite having to gather a lot of feedback and get consensus on the change, it was really just a handful of dedicated people who made this come to fruition. Several people helped out with reviews, but I have to give extra-special props to the people who did the bulk of the work with me: Jennifer Hodgdon (aka. jhodgdon) from Poplarware, Lisa Rex (aka. lisarex) who is a Freelancer specializing in usability, and Boris Doesborg (aka. batigolix) who from what I could gather works at Erasmus Hogeschool in Brussels. Last but not least Drupal 7 core maintainer, Angie Byron (aka. webchick) from Lullabot, who by golly is one of the most patient and dedicated people I know. Angie fielded a ton of questions about module functionality and what should or shouldn't be included, as well as doing a ton of final reviews and giving great, useful feedback to everyone who was working on this. We never would have made it without her help, and it was great fun some of those late nights on IRC.

All in all, a great learning experience, a great result, and my goodness am I glad it's done (at least until issues start turning up for contrib modules)!

Bien sur, c’est l’automne

2 comments

And.... the busiest of months has come to an end. Exhales.

October was a great if not overbooked month. Between BarCamp Vancouver, the Drupal 7 Conrib Sprint, and the big PNW Drupal Summit in Seattle last weekend, I had only one weekend off the entire month (on which there was also Drupal Camp Portland, but I decided that would be pushing it).  I made up for the past month in a big way this weekend, going out to socialize only once (last night for Halloween), sleeping in till 10am both mornings, doing laundry, cleaning my bathroom, cooking, reading, chatting with my folks on the phone, and generally being a homebody.

The PNW Drupal Summit in Seattle last weekend was something I'd been looking forward to for quite a while. My coworker Shawn and I drove down a day early, and Shiraz (another one of our coworkers who lives on the island) took the ferry over and met us that night. We managed to do a little exploring of the Pioneer Square area Friday, where I bought a bunch of cool books, and drove through Capitol Hill and up the waterfront before tiring out and going back to the hotel for naps. Everyone else arrived by bus or train Friday night; we had quite the crew amassed over the weekend, with 5 people from AB, 2 others who have been doing contract work with us, and then my friend Katherine who works at another company and has been a conference roomie before.

Seattle fall leaves

It was great catching up with the Seattle crew, as well as lots of people who I'd met at previous Camps and Cons, and also getting to know some new people. It's such a great group, I never tire of hanging out with everyone from the PNW plus a few others who came in from Idaho, and even Montana.  I learned a few new things including, a new (to me) tool for managing content deployment using Deploy module [slides/vid here], and my Agile project management/development BOF was actually one of the highlights of the weekend for me. It was well attended, and there were some really great conversations and sharing of experiences from other PM's and devs who have been (or want to start) using Agile methods. I think that the session may have been videotaped, and am crossing my fingers that footage will surface at some point! Thanks again a million to the great Drupallers in Seattle for all their hard work making that come together.

Agile BOF

To abruptly change topics, I got this crazy white pumpkin to carve last night (the photo Rachael took really shows how white it was); I thought it was some strange tough inedible gourd, but it really was this fantastic pumpkin. Probably some kind of heirloom variety, as it had not had all the amazing squash-iness bred out of it. Very thick and meaty, huge seeds, and so orange inside that my hands were completely stained after I was done.  Rachael and Boris used some of it for soup, so I am hoping that it was as tasty as it was entertaining (I hate to waste them, even if they are just grown to be decorative veggies).  It was a quiet Halloween, but I think that's ok. I am up for some quiet times.

magic white pumpkin

ps. For the record, I still think daylight savings is bunk. Saskatchewan has it right (disclaimer: I am biased).

pps. People I know are raising money for cancer research, and you should donate!

  • Jo Biggar (my friend's brother) is going to cut off his amazing dreadlocks, which he's been growing for nearly a decade to reach his goal of raising $10,000 - he's over 2/3 to his goal, so help him out!
  • Also today marks the first day of Movember (ie. the month where boys grow 'staches to raise money for prostate cancer), and my coworker Shawn is participating - you can pledge on his mo growing here (if the link doesn't work, go to http://ca.movember.com/ and search for "Shawn Price").

It is the 21st century, it is the 21st century.

No comments

This blog post comes to you in two parts: 1) Drupal 2) Everything else

Drupal7 Codesprint

This weekend was the Drupal7 Contrib Upgrade Sprint that Károly Négyesi (aka chx) organized at the NowPublic offices. I spent a good part of yesterday there, helped out with coaching the one beginner who turned up to learn some of the tools for helping out in the community.  Otherwise, after a bit of a rough start, the devs all hunkered down and have been making some Drupal magic, upgrading super important things like Views, Panels, database stuff, and various other bits and pieces of modules and themes.

A good number of people came in from out of town and they've all been working  their butts off.  Sam Boyer came in from Chicago and was working on panels, Jakob Perry was up from Bellingham (I think?) and was working with some others to get Coder module functional for D7. David Strauss was in from Austin, TX, and I think he was working on some DBTNG stuff (?), and Josh Brauer came up from Idaho and Amye Scavarda (who I'd met at the Project Management BOF in DC) was in from Portland as well... I lost track what everyone was doing (and ended up staying home today thanks to a tummyache) but trust me you want to thank your lucky starts there are all these amazing dedicated people around.

Highfives to all the Vancouverites who came out and helped and showed their support! Rick, Dale, Katherine, Francis, Hubert, Richard, Catherine, and a brave "newb" (more new to the community than new to development) Chris.  And also to the others who joined remotely, Damien Tournoud, Dmitri G., Larry Garfield, Daniel Wehne, and Mike Prasuhn spent the better part of their weekends helping out from their respective homes.  I'm sure others stopped in that I missed, but I just feel like it's the least I can do to say a collective thanks to everyone who spends so much of their time and energy keeping this ship afloat.  Open source communities are a pretty amazing thing when you think about it, it just gives me the warm fuzzies.

D7 contrib sprint

Everything Else

Had a great Thanksgiving dinner last weekend, with a few friends and a lot of strangers out in East Van.  Makes me happy knowing the kinds of people in my life are the kind where a mish-mash of their friends can turn up at a dinner party, many who know only one or two people there, and chit chat all evening and have a great time. There were several people who worked in urban planning, resource management, non-profits, tech, and social media, so there was a lot of really passionate, interesting conversations.

I've been on holiday this past week, recharging in order to get through the end of the month, October has been crazy packed full of tech events... the final one being the Pacific Northwest Drupal Summit which is in Seattle at the end of the month.  I'm excited and trying to keep my energy up so I don't totally burn out before getting through it!  One of my coworkers gave me some advice recently about prioritizing and energy levels, suggesting that maybe I ought to be a little more selfish (in a taking care of my self way, not a being a jerk way) about my priorities and not overdo it when it comes to extracurricular (ie. non-work) commitments.

That is a really hard thing for me to accept, there is so much that I want to do all of the time, and the reality is that I never have enough energy, and that is quite likely not going to change.  I realize maybe I haven't quite struck the optimal balance yet, but I can say with relative certainty that my life is always going to involve pushing myself, since I'm not willing to give up doing the things that keep me happy and keep me feeling motivated. It's more of refining exactly how much I can and should push myself so that I still get to do stuff that I want to, but don't feel totally drained all the time.  It sounds easy enough, but as anyone who deals with ongoing health challenges knows, it's not just that simple.

 I've no idea what I am talking about.  I'm trapped in this body and can't get out.
- Radiohead "Bodysnatchers"

I'd love to hear how you all balance your personal/health needs with your work and extracurricular passions if you feel like giving a little feedback.

BarCamp Vancouver 2009 (and a few other tidbits)

3 comments

Lots of things to catch up on...

BarCamp Vancouver 2009

BarCamp was this weekend - I was so-so on it last year, it was still fun, but not many sessions really did it for me, so I came in with relatively low expectations, thinking that maybe I'd just been to too many Camps and Cons now for them to still inspire and interest me...  I am happy to report that I actually had a superb time, and am not too old and jaded to enjoy these events. :-)  The organizers did a great job (thanks a bunch, you are all awesome) and everything went off flawlessly.  Enjoyed the sessions I went to, and there were many more I wish I could have made it to (most sessions are listed here, some have notes/slides).

stephanie vacher's design session

I loved Stephanie's Design Charette session, where we did a brainstorming session to design something that would help solve the problem of pedestrians (especially those who are homeless and for whatever reason lacking caution when crossing) being hit in the DTES.  Our group decided to focus on visibility and proposed armbands with reflective/LED strips that activate when in the roadway to make people visible. I thought it would be good to also provide an incentive to wear (and not lose) the armband by having local companies sponsor some services for those wearing it - ie. free coffee, food, etc. for people with them. (We couldn't present the full idea because of time constraints.) (In case you're wondering what a "wicked problem" is, from the photo, see wikipedia)

boris and mark's session "Frustration vs. Passion: Life As A Catalyst & What To Do About It"

The discussion session led by Boris about potential new coworking space/hackspace ventures was good too, as the community is still feeling the loss of Workspace. Looks like there are some interesting times ahead as W2 opens in the near future, Irwin filled us all in on what to expect. A new face in the community, Nick Molnar, also talked about the possibility of a larger hackspace. And of course, there's the ongoing discussion about Bootup Entrepreneurial Society opening up some kind of space that includes a cafe/coworking space. Notes (taken by Nick) for this session are here.

boris and mark's session "Frustration vs. Passion: Life As A Catalyst & What To Do About It"

Boris and Mark Busse's session on Balancing Frustration and Passion (notes taken by Jenny Lee Silver) was one of my favourites - I don't know how I've managed to go this long without properly meeting Mark, but he definitely had some enlightening opinions and experiences to share.  Boris encouraged me to talk about some of the struggles I've been having with the local Drupal user group, which because of Drupal being an open-source project and working on a do-ocracy type of structure (ie. there is no real leader, basically whoever wants to organize/contribute is free to take initiative to do so). I think partly because it's such an unfamiliar type of organizational structure for most people, there weren't a lot of solutions suggested, but some of the experiences people shared from different types of organizations definitely gave me some food for thought. It was the first time I'd spoken publicly about it, and that's a bit nerve wracking, but hopefully it will serve to open the door to more discussions about how to make the group awesome, and figure out how to get people to take the initiative to go for it and get more involved.

(As a sidenote, I discovered this video of David Strauss' great session at DrupalCamp Dallas on how to contribute to Drupal - it's a must watch for anyone who wants to get more involved in contributing to the Drupal project/community, and reviews a lot of etiquette and how-to's for using IRC, patch queues, etc.)

The pre-party Friday night was also fun and a great excuse to hang out with all those wonderful people I don't see nearly enough.  All in all, things were interesting enough that I didn't end up in the hallway track until about 4:30pm when I got too pooped to be a good listener, so I consider that a success!  There were lots of other great things going on, like Roland's bike/icecream out trip, a remote session about the impact of being in a choir, Rick's session on Vinyl, and Haig's session on design vs. code, so poke around the session list and hopefully some of the other stuff has been documented elsewhere (if you have links to blog posts on any of the other sessions please post in comments!)

Other stuff

My awesome coworkers surprised me with Ariane Appreciation Day last week, and boy did I feel appreciated (sorry for thwarting the first attempt, you did a great job of catching me off guard!) - they are rad, and I thank my lucky stars every day to be able to work on projects that excite and inspire me, with such fabulous and even more inspiring people.

upon discovery of what was inside

The little bits of the week that were not work/tech related gave me time to appreciate beautiful sunsets...

Beautiful flowers - this rose might have well been the best smelling one I've ever encountered, reminding me of rose-flavoured Turkish delights...

rose

And the beauty of a pile of freshly washed and folded laundry after putting it off way too long.

mmm clean clothes

ps. As if laundry couldn't get any better, I discovered during it that in addition to finally supporting an official podcast, the CBC's got a complete archive of seasons 1-6 of Wiretap posted now for your streaming pleasure (and any pods that weren't fully licensed to be released on podcast are streamable in their entirety).  I listened to about 6 or 7 episodes over the course of the afternoon while folding laundry, snacking, and basking in the glorious sunbeam that I get in the late afternoon on my couch in the winter.

DrupalCon DC

2 comments

(Written yesterday) I'm somewhere over western Alberta right now, on my way back home after spending a week in Washington DC for my second Drupalcon.  Just finished listening to DaveO's latest Postcards from Gravelley Beach, and an episode of White Coat, Black Art, and am onto some Radio 3 now.  Steve M. and (the other) Boris from 80Elements (who we share office space with) are on my flight too - we parted ways with Steve K and Katherine in Toronto, as they had a slightly later flight out than us.  It's fun traveling with people.  It's actually really fun traveling with people who are acquaintances, it only takes a few days for an acquaintance to turn into a new friend.

The conference itself was really great.  Different than last year, when I knew fewer people, and when everything seemed a lot more intense.  Intense because it was more new, but also because I was more of a stress case then.  This year I felt a lot more relaxed.

I went to some really interesting sessions - my favorites (so far, I still have many to watch on video) certainly reflect my PM brain.  At the top of my list are Addi's Documentation talk [video], Angie's session on what's coming up in Drupal 7 [video], the QA talk [video], and Konstantin's session on What's new in web development [video].  The PM BOF was pretty cool too - definitely some conversations to continue online.

I have to also give props to Adrian, who's session on Aegir [video] was extremely well attended and excited people a lot, and also to Audrey who was on a panel about SOLR search [video] and schooled me on distributed search it while she was prepping for the session.  Also, Konstantin, who's a star after, count 'em, FOUR sessions definitely gets an honourable mention for being on the forefront of a lot of cool web technology stuff. (See this page for all posted videos.)

I would say something about Boris' RDF talk [video], but it was at 9am and I slept through it...  I've heard that James Walker's Why I hate Drupal [video] was quite good (also at 9am), though I have yet to watch it.  Oh, and I have to add that meeting Courtney from Floatleft, was great - I think she'll be a joy to work with (again) hopefully in the not too distant future.

The only "party" I went to was on Thursday night.  Poor Katherine had to twist my and Audrey's arms to get us out, but I am so glad she did, as I had a great time!  It was at this odd hipster biker bar, and the most excellent live music.  We stayed through a couple groups - both great.  The event is a regular one Cakes and Kisses held the first Thursday of every month at Asylum in DC, and apparently it was the most well attended one they'd had.  It was a lot of fun... I may have to dig up some more stuff about the groups for another post.

Also a major highlight was the Sprint day on Saturday.  I spent the day at the Documentation Sprint, which was actually great fun.  With some help from Matthew O'Malley, Bruno de Bondt, and Andy Laken, I took on cleaning up and integrating comments on the Troubleshooting page for the WSOD (White Screen of Death).  I didn't really realize what I was getting myself into, as it was quite a mess.  But it's a page that I'm pretty sure gets a lot of use, so I feel like it was a worthy project - I am going to finish rolling in the rest of the comments at some point in the next week or so, and then will have to find someone to review it for technical accuracy before giving it the stamp of approval.

Big thumbs up for all the Doc Sprint "cat herders" and of course to Addi who is full of awesome for being the lead editor and organizer of all things Drupal documentation.  Which reminds me, congrats to Addi on getting one of the Knight Foundation grants!  Some of her grant will fund her being able to travel and do Doc Sprints at DrupalCamps in other cities, so if you think documentation is fun, you should contact her and get her to come hang out!

Aside from the conference, DC was a really fun city to spend a week.  Katherine, Audrey, and I stayed in a basement apartment in one of the old row houses in the Dupont Circle area.  We weren't sure about it the first night, but it ended up being the perfect place to stay - good proximity to the Con, and just a really great little neighbourhood.  Especially with the freakish weather, which started off as a snowstorm the day we arrived, and ended with 3 days of 20C+ weather, it was lovely sitting outside the last couple days and enjoying some fresh air.

Saturday night after the sprint, a bunch of us went out for dinner on one of the patios near our place, and just chilled.  Olly from Squamish was out for the week and made it for dinner before heading out yesterday back home.  Scott and Smath (aka. Sam, who I finally got to meet!), and Rok and Allan from NowPublic were also there.  Finally Boris, and Audrey and Katherine rounded out the bunch.  Steve K. was sleeping at our place, still recovering from the food poisoning/flu he'd gotten the night before, poor guy!

Sat night dinner

After that, I bid Scott and Smath farewell, hopefully they'll be back in Vancouver in a couple months, and then some of us walked over to the Whitehouse.  By then I was thoroughly exhausted and we headed home for the night.

Sunday we had a final day for sightseeing, and Boris, Katherine, Steve and I went over to Lincoln Memorial, and the Korean and Vietnam war memorials, and took lots of pictures.  After walking around in the crazy heat and humidity, and after a long week, we were all tuckered out and went back to our place and laid low for the rest of the afternoon, mostly computering.  I sat out on the stoop for a while reading in the 20 degree weather, which was really lovely.

Lovely is really the word to describe the week.  Lovely people, a lovely neighbourhood, (mostly) lovely weather...  And even though I felt crappy a couple days, I had a lovely time.  I certainly feel more like I've had a holiday than been at a web development conference, but I guess that's partly the beauty of Drupal.  With that, I should say a ginormous thank-you to the people at Dev Seed, and all the volunteers in DC who made the Con such a success.

All my best photos from the week and the full set are on Flickr.  Hope to see everyone in September, I'll do my darndest to make it!  Till next time...

Sweet nerdiness

1 comment

Big thank-yous to the amazing BarCamp organizers! A great time, as usual...particularly liked Darren and Julie's (much too short!) talk about being a laptop bedouin, and all the geeking out over RDF and the Semantic Web. Was lovely to see everyone, although as usual I felt like there just wasn't enough time to chat with everyone I wanted to...next time! What better way to finish a week that started off crappy but ended off happy.

  1. Lovely people
  2. Geeking out
  3. Sunshine
  4. Finally having more energy and not feeling super sick, wheee!!!
  5. After last night, my apartment is the cleanest it's been in a couple months
  6. Monday crash course in project management (thanks Scott!)
  7. The new Death Cab album
  8. Feeling excited about work
  9. Making progress on this really hard Bach piano piece I've been learning
  10. Do I even have to say it?
Syndicate content
Powered by Drupal, an open source content management system