This site is archived.
Abstract: 

More time doing repetitive tasks while building a Drupal site means less time to push the envelope. This is a story about how we got out of this infinite loop and started spending our time more wisely in Drupal through the use of "features". This presentation will be split between a brief time-elapsed history of the problem, a step-by-step demo of packaging a feature in code, and a demo/discussion of how features and Spaces can change how you think about Drupal site architecture altogether.

Presenters: 

Ian Ward
Young Hahn
Robert Soden

More time doing repetitive tasks in Drupal means less time to push the envelope. It's also easy to get sick of doing the same thing over and over. This is a story about how we got out of this infinite loop and started spending our time more wisely in Drupal.

This presentation will be split between a brief time-elapsed history of the problem, a step-by-step demo of packaging a feature in code, and a demo/discussion of how features and Spaces can change how you think about Drupal site architecture altogether.

A. The problem

A 3 minute time-elapsed back-story to bring everyone up to speed on the problem

If you build a lot of Drupal sites then you know how to do some tasks with your eyes closed. Here's one example:

Recipe for a blog

  • Create a blog content type
  • Add some fields, like a subtitle, imagefield, etc.
  • Add a freetagging vocabulary to it
  • Create a main view for the blog with some supporting blocks like a tag cloud and archive block
  • Glue everything together with a panel or turning on blocks with the right block visibility rules
  • Do some custom themeing

B. The demo: How to speed up site building

A walk through of how we speed up site building and what the tool belt looks like

Part 1: From database to code

Drupal stores lots of its configuration in the database. In fact, for most modules Drupal stores almost all of its configuration in the database. We'll look at the key module that breaks this tradition and implements one of the most powerful concepts in Drupal today: Views and its normal/default/overridden (we'll call this NDO) framework.

Part 2: How to take advantage of code definitions

Inspired by Views we spent nearly a year refining a module that handles much of the "glue" work in site building: Context. We'll show you how to take your views, export them to code. Then we'll show you how to take your glue elements -- node types, menus and block configurations and export them to code using Context.

Part 3: The CRUD

We'll show you what parts of Drupal don't export so cleanly -- instead you need to script their creation. We'll examine which modules you'll need to script and could get out of the CRUD business and into the happy land of NDO.

C. Epilogue

Neat features and the power of context + spaces

Part 1. Neat features we've developed with all our new-found spare time

We got ourselves out of the infinite loop. What did we spend all that quality time on? Thinking more about packageable, prefabricated features of course.

Part 2. Context's best kept secret

Many people don't understand why context gets us so excited. At first, it may seem like some kind of block visibility/theming/usability module. In fact, it's more than that -- it's a clear definition of where a feature starts and stops that Drupal can understand. We'll show you how we leveraged this idea to make any feature something that users can turn on, off, and customize along different facets of a website. We call these facets Spaces.

Audience
Site builders, project managers, engineers. This presentation will present a problem everyone faces, getting very technical at points, but with an overall message anyone who builds or manages the builds of Drupal sites will understand.

Goals
Present one method of speeding up Drupal site building and generate background and fuel for a BOF discussion to take place with others solving or trying to solve the same problems.

Take aways
How to build Drupal sites faster and concrete examples of how to build off of the context and spaces modules.

Speakers
Young Hahn (http://www.developmentseed.org/team/young-hahn)
Robert Soden (http://www.developmentseed.org/team/robert-soden)
Ian Ward (http://www.developmentseed.org/team/ian-ward)

PreviewAttachmentSize
Presentation slides1.32 MB
6 Comments

This design and coding work itself is great. But the level of preparation and execution of the presentation was the best I've seen in a while. Thanks.

I really want to see that!
See you in DC in a few days.

This sounds great!

This looks like a great session, looking forward to learning more about Context and Spaces and how you have used them to package and reuse features (especially across multiple sites.)

See you in DC!