Drupal Under the Hood
|Time:||10:30 - 12:15|
|Day:||Thursday 21 January 2010|
|Location:||Civic Suites 1 and 2 (Town Hall)|
|Wiki Page:||Drupal Under the Hood|
Drupal is an extensible content management system and web application framework, distributed under the GPL. Among the hundreds of thousands of websites it powers are open source projects such as http://www.ubuntu.com/, universities such as http://media.mit.edu/, non-profit organizations such as http://www.linuxfoundation.org/, and media sites such as http://www.popsci.com/. It also boasts a thriving development community with thousands of contributors.
This talk will provide both an architectural overview of Drupal, and detailed discussion of the nuts and bolts of how Drupal solves some of the common problems that all developers building web-based applications need to solve. The focus will be on Drupal version 7.
The talk will begin with some broad-strokes overview information about Drupal and its roles as a content management system, content management framework, and community. We'll also discuss its overall architecture layers, and where Drupal fits into the overall the LAMP stack.
We'll then introduce "Drupalese" in a practical way, by dissecting an existing site and breaking it down into Drupal concepts like nodes, blocks, menus, taxonomy, views, and fields. Attendees will learn how to take complex wireframes and designs and translate them to Drupal's building blocks.
Finally, we'll dive into the deep end of Drupal's various subsystems:
- Walk through the lifecycle of a Drupal page request, including Drupal's the REST-based URL router system, its role- and permission-based access control system, and theme layer.
- Demonstrate Drupal's "hook" system; the key to customizing and extending Drupal to do things it was never originally intended to do.
- Explain Drupal's PDO-based database abstraction layer and Schema API and how they allow Drupal to work on databases ranging from SQLite to Oracle.
- Discuss Drupal's tools for creating the application's content and data model and user-facing forms to auto-populate it: the node system, and the Field API.
- Highlight Drupal's form API, how it ensures security of incoming POST data, and how it can be extended to include custom validation and submission routines.
- Showcase Drupal's theme system, which allows any of its XHTML output to be completely overridden so you can make Drupal sites that don't look anything like Drupal sites.
- Highlight other interesting Drupal subsystems and "contributed" modules such as Views, a graphical query generator, Actions, chainable snippets of code that can be attached to system events, and Drupal's internationalization/localization features.
Angela Byron got her start as an open source contributor in 2005 as a Google Summer of Code student for the Drupal project. Since then, she has gone on to become completely obsessed with all things Drupal: she was appointed core committer and development lead for Drupal 7, sits on the Board of Directors for the Drupal Association, was the lead author of the O'Reilly book Using Drupal, and was awarded the 2008 Google-O'Reilly Open Source Award for Best Contributor. Her work in the Drupal project includes development, code review, testing/quality assurance, user experience, documentation, and general cat herding.
Her day job is a senior web architect at Lullabot, an open source consulting and training company that specializes in Drupal, and has helped develop sites for clients such as MTV UK and Sony BMG Records. She is based in Montréal, Québec, Canada. Her idea of the perfect day involves helping a new contributor to learn the ropes and become as obsessed about open source as she is.