Views for Developers; An Architectural Overview

Views is an immensely powerful and extensible system. It can be used to solve a wide range of problems and present many different types of displays; More than what most people realise, even after working with Views for considerable time.

This session will demonstrate some advanced but poorly-understood features of Views, such as grouping, "count" and "group by" queries, summary views, non-standard pagers and attached-views.

This session will cover an architectural overview of Views 3's classes, and how to extend it's object-oriented code to present data in alternate formats (the "view" in "MVC"), allow Views to understand and filter data in a specific way (controller) and to access alternate data sources (model).

A demonstration of extending views in code will follow. Attendees should be familiar with building and editing Views, although it is not necessary that they consider themselves "advanced" in this area.

Views is an immensely powerful and extensible system. It can be used to solve a wide range of problems and present many different types of displays; More than what most people realise, even after working with Views for considerable time.

This session will demonstrate some advanced but poorly-understood features of Views, such as grouping, "count" and "group by" queries, summary views, non-standard pagers and attached-views.

This session will cover an architectural overview of Views 3's classes, and how to extend it's object-oriented code to present data in alternate formats (the "view" in "MVC"), allow Views to understand and filter data in a specific way (controller) and to access alternate data sources (model).

A demonstration of extending views in code will follow. Attendees should be familiar with building and editing Views, although it is not necessary that they consider themselves "advanced" in this area.

For the second code-oriented part of the session, it is also assumed that attendees are familiar with object-oriented terminology and the OO concepts of objects, classes and inheritance.

This session is inspired by Larry Garfield's "Views for Developers" and "Views to the next level" sessions at past DrupalCons and Drupal camps.

This session was presented at DrupalCon Denver. Here are the slides.

Notes for track chairs: This session takes one hour to cover both parts, but 1.5 hours is recommended to dive deeper into code in the second part. The first part can be done alone in 45 minutes. If a code-oriented session is preferred the first part can be done in less time.

I have done this for Drupal 7 in the past but will update material for Drupal 8 if appropriate. I.e. If Drupal 8 and Views are sufficiently stable and documented in time.

Schedule info
Status: 
Proposed
Session Info
Speaker(s): 
Track: 
Coding + Development
Experience level: 
Advanced

Comments

Please and yes. I look forward to an opportunity to learn advanced topics of the Views module.