Overview
Panels2 is a powerful system for organizing and marshaling drupal sites, but the API has a steep learning curve. This session is about breaking the API down into manageable pieces. So, if you've ever wanted to:
- 'Panelize' your modules, like what og_panels has done,
- Extend Panels by writing new plugins that add new pane types, new styles, new layouts, new contexts, etc.,
- Get an authoritative overview of all the ways your modules hook into and take advantage of the Panels API,
- Toss some of your Panels-implementing ideas out and get feedback on them right on the spot,
then this may be the session for you! We'll divide the 90 minutes into two parts:
In the first half, Sam Boyer (sdboyer) will provide a fast-but-structured overview of how the Panels API works, and where your module can plug in.
In the second half, participants will be free to ask questions about techniques and approaches to implementing the Panels API; Sam (and/or other participants) will respond with comments & suggestions on how to bend Panels to your particular module's need.
Agenda
- Provide and quickly run through handouts that overview the Panels API. Lots of space for notes!
- Quick overview (with visuals) of how the Panels API handles editing and rendering.
- Overview of the general logic behind the Panels plugin system. We'll also cover panels-specific hooks.
- Open it up for questions.
- When we're down to 5 minutes, Sam will stop the action and record any questions that haven't yet been answered; we'll do our best to answer those questions in public & online later on.
Goals
Panels is a complicated beast; trying to cover the API in detail would be an exercise in futility. Instead, this session should provide participants with a framework for approach Panels in a productive way. Each half of the session should do that in a different way:
- The first half will provide a working understanding of Panels' various moving parts, and when and where you can hook in.
- The second half will provide concrete examples of how people are thinking of implementing Panels, and Sam's answers will suggest how to go about approaching each of those ideas.
Ideally, the combination of the two should provide all participants with a decent grounding in how to 'Panelize' drupal.
Resources
The only thing people need to bring is IDEAS! The second half will crash and burn if people don't bring big thoughts on how to implement Panels in new and different ways.
Important Note: this session is primarily geared towards developers writing modules that are or will be kept in the official Drupal CVS repository. If you have client-specific Panels needs that are unlikely to be genericized for use by the whole drupal community, please find another venue to raise those questions.