At 3:30 pm on Wednesday March 5 I'll be presenting with Jeff Miccolis on some of the ideas that have been circulating around the Development Seed office on how to tackle the simple but elusive concept of context in Drupal. We'll tackle the topic in classic academic style: define the scope of the problem, review the relevant literature (i.e. we'll look at the code of some seminal modules), look at an exemplary case study (Managing News), and then show how context can help you make a more usable Drupal site.
Here is a brief outline:
What is context? (Context is arg(0) ... or is it?)
We'll discuss common use cases for a context system, describe the existing "informal" context system in Drupal (i.e. everyone's doing it already), and propose a working definition for a more formal context system. We'll also look at several modules that are already attempting to capture the idea of context in their inner workings.
How we got here - Managing News (Or why we needed one hack to rule them all.)
Applications have a higher standard for context awareness and smooth workflow. We'll discuss why Managing News needs a formalized context system, and how it works.
Ok, what about my site? (A tutorial on improving a blog/drupal site using context)
We'll show you how to take a standard Drupal site employing some of the most common building blocks (blocks, views, panels, menus) and improve its usability using a context system. We'll also touch briefly on hook_nodeapi and hook_form_alter as opportune places to hook into a context system.
Context Silo'ing (Turning an OG Drupal site into a set of city-states)
We'll take the well-known super module Organic Groups and show how it can be leveraged to turn each group into an isolated self-sufficient island. We'll talk about the difficulty of keeping a context alive, and show how one very clever Spaniard figured out a hack to make it all work out.
You can check out the slides from the presentation here.