A Paradigm for Reusable Drupal Features
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.
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.
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.
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.
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.
How to build Drupal sites faster and concrete examples of how to build off of the context and spaces modules.
|Presentation slides||1.32 MB|