This site is archived.

Handler objects: A proposal

Crell's picture
Submitted by Crell on Tue, 07/22/2008 - 18:26.

Session recording

Attached files

Placement
Session time: 
08/28/2008 - 16:00 - 08/28/2008 - 16:45
Conference booklet summary and bio
Article for conference booklet: 
Currently, Drupal is extensible through modules, which implement hooks. Hooks are great, hooks are wonderful, but they're only one form of extensibility. There are other ways to extend a system that Drupal does not support. Handlers are a proposed model that run parallel to hooks to offer a new kind of extensibility. An evolution of concepts currently used in Views and Panels, this module aims to give other modules an easy way to make themselves even more extensible and customizable, and makes code easier to unit test to boot. This session will discuss Handlers and solicit feedback.
Bios for conference booklet: 
Larry Garfield is the Senior Lead of Programming Services at Palantir.net, a Drupal consulting firm in Chicago, USA. He has been developing PHP for nearly a decade and has been actively involved in Drupal since 2005. He currently serves on the Drupal Association Board of Directors and spearheaded the Drupal 7 database overhaul, among other projects. Larry was also a founding organizer of the GoPHP5 effort.

Overview

Drupal is very modular "horizontally". You can add modules that inject themselves all over the place to add to the workflow of the page request. However, too many subsystems are inter-related, making it very difficult to separate out and modify one part of the system. Drupal is simply not as modular as it could be, nor as it needs to be.

Better separation between systems would allow for more rapid development, easier testing, greater flexibility, and at least 23% more awesome per square meter.

This hybrid lecture/brainstorm session will examine one proposal for further modularity, Handler objects. Working module code will be included.

Agenda

* Discuss the benefits and limitations of Drupal's hook architecture.
* Introduce a new extension mechanism, handler objects.
* Demonstrate existing uses for handler objects, including inspiration from Views and Panels.
* Discuss a broader vision for where Handler objects could go to transform Drupal.
* Open discussion.

Goals

This session is essentially a meat-space RFC. If all goes well, attendees will come away with lots of new ideas and the presenter will come away with lots of feedback. Best case, we'll have an awesome new roadmap for Drupal architecture. Worst case, attendees will get to see a nifty new module they can use.

Resources

Handlers as discussed in this session are an evolution of the concept documented in this article, after further discussion with other Drupal gurus. Familiarity with that writeup is encouraged, but not required.

The module is now available if you want to look it over before the session!

sdboyer's picture

I think your estimates are

I think your estimates are erroneous. Handlers are likely to result in at least 37% more awesomeness per square meter.

But seriously - YES. YES, we need handlers!

Pasqualle's picture

this will be a great session

+2

Ryan's picture

I'm only attending if Larry

I'm only attending if Larry wears the hat in his pic... ; )