Drupalcon

DrupalCon Chicago: Best Practices

I had a great time in Chicago, at my first-ever DrupalCon! Several sessions I attended confirmed to me that we’re using many cutting-edge development practices for Drupal development at OpenSourcery already; it’s nice to hear some of the brightest minds in the business tell you things you already know. Fortunately, I wasn’t able to get too full of myself, because every time I thought, “Yeah, that’s cool, but I already knew that,” there would be a few extra details mentioned that I hadn’t thought of on my own—the icing on the Drupal Best Practices cake. Three examples I’d like to share came from the Advanced Features session, a Design Secrets BOF, and the Advanced Drush session.

Tagged as: Drupal, Drupalcon, Drupalcon Chicago

Drupalcon Chicago: Snowman, Small Core and Butler

Drupalcon Chicago introduced the core developer track (Core Conversations) as a parallel track to the normal, broader tracks. Because of this, and a series of compelling BOFs, I spent comparatively little time in the main session halls during the conference. Below I cover some of the topics and discussions that got me excited about Drupal 8 and the direction of our community.

Butler

There was a core conversation about Butler, but unfortunately, there is no video (oddly, no video from Copenhagen either), or slides from what I can find. The initiative was also mentioned by Dries during his keynote presentation as one of the goals for Drupal 8. The overarching idea is for core to provide a unified context system, coupled with a better plugin system. This will allow, among other things, better rendering of non-HTML pages, faster rendering for HTML (eg, small portions of a page can be rendered), and allow for better web-services support. The project can be followed on Drupal Groups, and there is code available for Drupal 7 in contrib.

Snowman

The idea behind Snowman is to build something with Drupal core that does something. Whether the goal is a gateway drug, an on-ramp to contrib, or a canary for determining what can be axed from Drupal core, depends on who (and when) you talk to. Nonetheless, I think the idea is a good one. During the core conversation, it was mentioned that this could be dangerous, because something can always be built better using contrib. So if Drupal is packaged as the definitive Foodie Club site, for example, it could potentially do damage to Drupal's image since it wouldn't be as polished as a site that took advantage of contrib. The proposed solution to this concern would be to direct the new user, via content in the installation profile, towards groups or categories of modules that could quickly be used to further enhance the site.

Small core, and Drupal as a framework

My favorite session was a discussion between Moshe, Eaton and Irakli, moderated by Eric Gundersen. While the video isn't too exciting (no slides, but the audio is good), the discussion is fantastic. Moshe explained that his vision for Drupal core would be to follow something similar to the Ubuntu project, where core itself might be hidden away for developers ('drop' perhaps), and the Drupal.org homepage would direct users to any number of flavors (distributions with a purpose). These distributions would be free to move at an independent pace from core, always targeting the latest stable release. Related to this, Eaton explains his then-named Tsunami initiative (since renamed Snowman, and explained above) as a sort of canary that could be used to define what constitutes the core of Drupal.

Portland invades Chicago, and other favorites

With over 30 Portlanders in Chicago for the conference, this represented more than 1% of the total conference attendees. Additionally, during the git phase next presentation, 5 out of the 11 people thanked on-stage hail from Portland and the surrounding area. The Portland Drupal community is indeed flourishing!

Eaton comparing Drupal to platypodes and broader ecosystems was one of the best sessions I made it to, and is well worth watching if you missed it.

Tagged as: Drupal, Drupalcon, Drupalcon Chicago

Drupalcon Copenhagen wrap-up

Drupalcon Copenhagen group photo

I've recently returned from an amazing time at Drupalcon Copenhagen, and wanted to highlight some of my favorite sessions, events, and departing thoughts (this also serves as preparation for the impossible task of summarizing such an epic and comprehensive conference in 15 minutes for this week's Portland Drupal group). While I can't cover them all, the complete list of videos from Drupalcon Copenhagen can be found here.

Jeremy Keith and the Design of HTML 5

Jeremy Keith, not only touched on the core functionality and concepts of HTML 5, but also spent a great deal of time focusing on the history and reasoning behind the design.

Organic Groups in Drupal 7

This session sets a new bar for presentations, not just at Drupalcons, but for conference presentations in general. Amitai Burstein managed to map the complexities of international relations to the new flexibility of groups in Drupal 7, in a witty and hilarious manner.

UPDATE: Amitaibu has an alternate version of the presentation video that shows his introduction a bit better.

Mapping with OpenLayers

If you haven't been following the development of this Drupal mapping solution, this session is a good place to catch up. The presentation did an excellent job of detailing the creation of complex maps, that are based on views and are fully exportable.

For every site, a .make file

Find out how using Drush make to build sites encourages developers to contribute back patches, rather than running monolithic and duplicative code repositories. Unfortunately, as of this writing, the video is not available on archive.org. Once it is, it is well worth a watch. In the meantime, Jeff Miccolis has this related blog post.

Drupal 7 and beyond

Angie Byron's session provides a nice, friendly overview of some of the major, user-facing changes that Drupal 7 will bring. For a more behind-the-scenes view, Damien Tournoud highlights some of the lesser-known features (video) such as job queues and the fine-grained caching options available. Larry Garfield covers some goals for Drupal 8 (but first, of course, let's get Drupal 7 done).

Speaking of which, the 2 code sprints (the first after the Core Developer Summit, the second after the conference), saw the critical issue queue drop to 13 at one point, but then, with the additional attention of developers, it bounced back up to around 25, and is currently hovering at 29. There's even a site to see what these numbers might mean for a release date for Drupal 7.

Awesomesauce

Thanks to Morten DK and Mikkeller, this Drupalcon had its very own beer, known as Awesomesauce. It was quite delicious, and free most every night at the Foobar.

Tagged as: Drupal, Drupalcon

DrupalCon San Francisco, departing thoughts

I have just returned from DrupalCon San Francisco 2010, the largest DrupalCon ever. With over 3000 attending, and $72,000 worth of coffee consumed, it was a very lively event. Thanks to the awesome work of those organizing, nearly all of the sessions now have high quality video available on the DrupalCon site, and on Archive.org. Below are the sessions that really left an impression on me regarding the future direction of Drupal.

Advanced Drush

While there is no video for this as of this writing, the highlight here was the sudo drush make-me-a-sandwich moment (as well as the Drush core-cli command).
Drush: make-me-a-sandwich

The Heart of Open Atrium: Context, PURL and Spaces

While we've been using context on most projects for quite some time, the work presented here around the spaces presets has me itching to try integrating them into some upcoming projects.

Page render drill down in Drupal 7

The page rendering system in Drupal 7 waits much later in the process to transform structured data into the relevant output format (which is typically HTML). Practically speaking, what this allows for is hook_page_alter, which has access to the contents of the entire page, in a structured array. Two highlights:

  • The block module will no longer be a required module in Drupal 7. Rather, it is simply an optional UI for placing blocks in the page. This means that the Context module in Drupal 7 won't have to implement weird workarounds to steal block placement from the block module (and as such, should work seamlessly with the i18n module).
  • Instead of only having to caching options (page and block level), any part of the page can be cached. Furthermore, by using the query string and qrguments as the cache key, these caching mechanisms can work with content that is under access control.

PubSubHubbub to the rescue-- Real-time feeds and the future of social networks

This talk wasn't specific to Drupal (yet anyway), but rather, provides a sort of roadmap to the future of Drupal and the social web. By combining 4 rather new protocols (PubSubHubbub, WebFinger, ActivityStreams and Salmon), Brett Slatkin of Google walks through the potential for realtime feeds being used to contect people like never before.

It would be very powerful if any Drupal site out there were capable of sharing, in real time, at the level Brett outlines in this talk. The Feeds module is already capable of consuming PubSubHubbub, and support for ActivityStreams have a little momentum. Salmon and WebFinger, as well as publishing to hubs for PubSubHubbub are the pieces that need to be filled in.

Drupal 7 and the State of Drupal

At Dries' keynote, he showed a best case scenario (June 2010), a worst case scenario (October 2010), and an ideal scenario (lock the 3000 attendees in until it was released at the conference) for the Drupal 7 release.

While we already missed the ideal scenario, the progress made on critical bugs at the conference has the community working at a velocity that should come in closer to the best case scenario. Over the course of the week, thanks to the awesome gatherings at the chx coder lounge, the number of critical bugs dropped from 114 to 94 as of this writing.

Tagged as: Drupal, Drupalcon, DrupalCon San Francisco

Content Delivery for the Masses

I attended several sessions at Drupalcon on performance and scalability. One common thread was the need to offload static files to dedicated servers or a content delivery network (CDN). The use of a CDN is also part of the well-known YSlow test for measuring front-end performance. With CDN providers getting cheaper by the day, content delivery is not just for big media companies anymore! A bit more explanation is required to understand why this is complicated in Drupal, and what's being done about it. As a bonus — I'll share a trick for getting a useful chunk of your files on a CDN in less than 3 minutes.

Tagged as: CDN, content delivery, Drupal, Drupalcon, performance

Drupalcon Highlights: Performance, Testing, Kittens

First, if you aren't at Druaplcon this year, recordings of most (all?) off the sessions are available online! I've even bookmarked several that I couldn't attend, but want to watch later.

Here are some highlights:

Tagged as: Drupal, Drupalcon, fake kittens, performance, pifr, Test-driven development

Day one DrupalCon 2009, Washington DC Done.

The session I was most excited to see at this conference happened to be on the very first day, "Training: Boosting our raw capacity to provide Drupal training". It turns out, as OpenSourcery Training and Quality Assurance, I was drawn to pow wow with the presenters after we ran over time.

Barry Madore, Sean Effel, Lee Hunter, and Alex Urevick-Ackelsberg each gave a short talk, followed by panel Q&A, around the different styles of training they employ and their varied methods for improving the trainings through feedback. The training perspectives varied from speakers dealing with training drupal users every single day, to training a drupal development and sales team in how to work well with the drupal community. I will focus more here on the end-user.

One of the more potentially obvious take-aways from the talk was something I've seen folks miss the mark on: know your audience. When we start building tools to be used to understand the product the end-user has, we can lose sight of the user's goals. What is most important to the user of the software is nearly never the shiny piece of code, or a loving explanation of why it is fantastic. The exact function of the code or application may also be missing the mark of what a user really wants to know. They want to know how to use the system everyday. Your users really don't want to know how they can hack the code, but how they can interface with it without fear.

That which we are thinking about as software devs has already been invented and re-invented by teachers. The art is assessing knowledge, and then creating education and curriculum from that assessment. What we need is practice as educators, and the same education principles apply to drupal as apply to any other classroom. How much do they know? What else do they need to know? What might need to be un-learned? Are there different learners in the same group? Those questions get you close to having an assessment on which to found your curriculum.

Again, looking to the educators on curriculum, we should start by covering the concepts in the best logical order. That might not be in numerical sequence, but probably by associated concepts. One of the best parts of creating a plan like this is the exposition of concepts. This can increase confidence in knowing the right answer before a user would need to push a button. The last piece is, of course, cementing the lesson. Repetition is excellent to get you used to a new pattern of thought. Having 2 shorter trainings with time between is more effective than having a single day long training.

My hope is to bring fearlessness to software users through education. With the right tools, the hardest problems look easy. What is the worst we could do, break it? That'd be sweet!

Tagged as: Documentation, Drupal, Drupalcon, Drupalcon DC, training

OpenSourcery at DrupalCon DC

This week, the Drupal team is out in Washington, DC for DrupalCon - an unconference for Drupal lovers getting together to share knowledge, exciting developments in the field, better practices, and actually meet face to face.
We're just back from the pre-parties and discussing the session topics, expect posts from me, Jonathan, Dylan and Stacy about what we're excited about, people we've met and good discussion.

Tagged as: conferences, Drupal, Drupalcon

Drupalcon: Life, The Universe, and Everything

LifeThe UniverseEverything

I made it back from Hungary last Friday, and am only now starting to convince my body that it really isn't 9 hours later than it is. After Drupalcon, I managed to make it out to Eger, for castles and a valley of wine cellars (thanks for the recommendation Chrys). Following Eger I returned to Budapest to explore more castles, a Cold-war-era statue park, and some labyrinths all made possible by some of the best public transit I've experienced.

Being back, and having had a bit of time to process all that I took in at Drupalcon, I wanted to do a bit of a review of some of the highlights. For most of the talks I mention below, there are either slides, video or both available here.

The venue and organization

Babel fish t-shirtThe venue itself was very nice. Spacious and airy, it was the perfect place for Drupal geeks from all over the world to congregate and talk about, well, Drupal. Also, many thanks to all the volunteers and the Hungary Drupal community that made Szeged a reality.

I know where my towel isI can't talk about the venue and the organization of the event without at least mentioning the Hitchhiker's Guide to the Galaxy theme. I won't go into too much detail, as the pictures do that, but suffice to say I thought it was awesome and thorough (42+ languages, a babelfish, don't panic and the certainty of knowing where one's towel is).

The State of Drupal

Dries, while opening the conference with his State of Drupal talk, hit on many aspects of the future of Drupal.  One highlight was the idea of embracing RDF, which not only makes for richer content, but addresses the problem of importing and exporting for Drupal in an application-independent manner. Another very interesting point was that most Drupal developers feel they are best at HTML, and by the same token, want to learn about HTML the least. That's good I suppose...

Drupal 7 preview

Many of the sessions I attended provided a very exciting preview of Drupal 7, and I came away with high hopes for the new version.

Larry Garfield proposed the idea of getting handlers into core. My favorite example of why this might be useful was about the idea of swapping out default file handling, for say, a file handler that sends all images to Flickr, and all videos to YouTube, but behaves normally for everything else. To do this without handlers, one would need to either hack core (oh noes), hack image and video modules, or write a custom module. With handlers, the modules can simply be concerned with the Drupal API, thus making this sort of behavior module-independent. Essentially, handlers are one of the last steps towards making Drupal completely customizable without hacking core (thus saving kittens).

The very next day, Larry gave an overview of the new database layer that landed, which takes advantage of PHP's PDO abstraction layer, shortly before Drupalcon. The short of it is that the new abstraction layer looks awesome. The dynamic query builder will take the place of complicated string concatenation and pattern matching that plagues certain hooks and modules today. The new layer also provides—out of the box, so-to-speak—the ability to support master/slave replication and transactions, to name a few. Also, since this is all object-oriented, simple (but fragile) INSERT statements are no longer directly coded into modules. Instead, inserts and updates are built up using placeholders, and can be reused. Finally, the new db_merge() function will make checking for an existing record (in order to determine if an INSERT or an UPDATE is needed) a thing of the past.

Barry Jaspan gave a talk on the Field API that will hopefully be landing in Drupal core for 7 (ie, CCK in core). However, the field API isn't just about moving the CCK module's functionality into Drupal. Along the way, the code will be transformed into a real API (so that the creation and modification of fields is no longer dependant on a form submission). Another key change is the idea that fields will be attachable to anything, not just nodes. During the talk, field definitions looked to be custom classes, which seemed very clean and extendible. It was later rumored around the halls that this idea had been scrapped, but I'm unable to find any hard evidence indicating one way or another.

Peter Wolanin discussed the idea of page rendering being capable of outputting many different formats in Drupal 7. The central idea of the talk was to move page rendering to a later stage in the process, so that data can be rendered as, for example, JSON, XML or XHTML, depending on any number of factors. The only way to currently change format, is to either pre-empt the rendering level (by exiting the script early) or to re-render data, which is inefficient at best. Needless to say, this would be a welcome change.

And finally, the new file handling patch continues to get closer to RTBC.

So long, and thanks for all the fish

That's all I have time for now, although there were many other very exciting and informative sessions/BoFs (I saw a demo of the progress being made with the Geo module, as well as the work Development Seed is doing with Mapnik, and am very excited about the future of mapping and Drupal).

Drupal bicycle

Tagged as: Drupal, Drupalcon, Drupalcon Szeged

Leaving for Drupalcon

Drupalcon SzegedTomorrow I fly to Budapest by way of Frankfurt as I start making my way towards Drupalcon in Szeged. Brian will be joining me in Szeged closer to the start of the conference. I'll have several days to take in the sites of Budapest (the funicular railway to Buda Castle looks awesome), then catch a train south to Szeged. I'm looking forward to meeting so many Drupal people all in one place, and the sessions are looking fantastic.

I'm particularly excited about the Awesome Testing Party, not only due to the free pancakes, but also, writing tests is a whole lot of fun, and they're critical for a solid Drupal core, and a more feature-rich development cycle.  It also looks like there should be several excellent sessions on the state of GIS, mapping and Drupal (A Roadmap for Mapping: GIS on Drupal in 2008 and Beyond, Simple Mapping Mashups with Drupal, and Mapping with Drupal and Mapnik just to name a few). And of course, no Drupal gathering would be complete without a session about Awesomeness and Drupal.

I'll be posting updates frequently from Drupalcon. Also, if you'll be in Budapest prior to Drupalcon and are interested in any pre-Drupalcon activities, drop me a comment here, or contact me directly.

Tagged as: Drupal, Drupalcon, Drupalcon Szeged

OpenSourcerers at Drupalcon

While the rest of us stand enviously put, CEO Brian Jamison and lead Drupal developer Jonathan Hedstrom pack their respective bags and transform into international men of open source mystery and mastery. Both will parlay their "business" trips into personal adventures, but we expect them to enjoy the stay, hobnob with the likes of Dries Buytaert and Kieran Lal, and return with plenty of new ideas.

They leave Portland with happy news on the home front. OpenSourcery's newest Drupal developer, Dylan Wilder-Tack, is making the most of his new position. His transition has been seamless and his work spotless. We only wish he could crawl into Jonathan's suitcase (we're talking Dr. Who level of comfort, TARDIS-like in its ability to expand for our intrepid Dylan) and travel to Szeged.

And look for some very exciting Drupal partnerships in the near future, bringing OpenSourcery together with some of our favorite nonprofit and developer groups both in Portland and nationally.

Bon voyage, gentlemen. And pirítós!

Tagged as: Drupal, Drupalcon, Drupalcon Szeged, Szeged

Syndicate content