This site is archived.

Site architect

Messaging and Notifications frameworks

Jose Reyero's picture
Submitted by Jose Reyero on Tue, 07/15/2008 - 00:32.

Session recording

Co-presenters: 
Placement
Session time: 
08/30/2008 - 09:00 - 08/30/2008 - 10:30

Overview

Messaging and Notifications are two complete frameworks for handling subscriptions, notifications about site events, or simply sending out messages using any kind of delivery method. The goal of this presentation is to show the new developments we've been building on top of these frameworks and the new and exciting possibilities that have happened in just the past couple of months since the first beta was introduced at DrupalCon Boston.

Background

Your Drupal site is generating all kinds of mail for all kinds of reasons: You have giant announcement list, a few dozen group discussions, automated content notifications, send-to-friend messages, petitions and postcards.
Now there is the Messaging framework that attempts to abstract all the needs of other modules regarding the sending of user messages, adding also a centralized way to manage all your message templates, filtering, and delivery settings. The Messaging framework accepts different kinds of plug-ins for different sending methods, like different email modules (mimemail, phpmailer), SMS, web notifications, etc..
The Notifications framework, which in turn uses Messaging as the delivery layer, attempts to simplify building subscriptions-like systems in Drupal. It is a collection of modules that provide a core set of notification types and developers API for building specialized user interfaces, use multiple message delivery methods (including email, sms and IM) and developing custom subscription types.

Agenda

* Moving beyond 'e-mail only'; let the users decide how to interact with your site.
* Enabling round-trip email discussions for any content type or topic
* The Messaging Framework - More than just email, IM & SMS plugins.
* Building on the Messaging framework: free message templating and sending for other modules
* Extending the framework with your own modules or distribution types
* Notifications modules - How to configure & use subscriptions and notifications.
* Integration example: Organic Groups now using the Notifications framework
* Real life usage: Some examples of live sites using this solution.

Goals

* Show you we can move beyond the mail only paradigm to sending and receiving messages through different methods.
* Raise awareness about new and exciting possibilities for user interaction or why just sending emails is not enough nowadays.
* Let other developers know how they can build on this framework and abstract message sending from their modules.
* Overview for site builders of how to set up a full featured subscriptions/notifications solution
* Present the latest developments built on these two frameworks and some new plug-in modules

Resources

http://drupal.org/project/messaging
http://drupal.org/project/notifications
http://www.developmentseed.org/tags/messaging

The Panels API: Diving Down the Rabbit Hole

sdboyer's picture
Submitted by sdboyer on Thu, 07/10/2008 - 00:20.

Session recording

Placement
Session time: 
08/30/2008 - 13:30 - 08/30/2008 - 14:30

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.

Building Facebook Applications using Drupal

Dave Cohen's picture
Submitted by Dave Cohen on Mon, 07/07/2008 - 20:05.

Session recording

Placement
Session time: 
08/28/2008 - 11:00 - 08/28/2008 - 12:00

Overview

The Facebook Platform allows anyone to create applications which tightly integrate with the Facebook.com website. These Applications can write content to a Facebook user's Profile, News Feed, and also Canvas Pages. This content can be as rich and complex as any website, so Drupal is a natural choice for developing on this platform.

This session will introduce the Drupal for Facebook project, and the best ways to use it. We will include a demo of one or more live Facebook Applications powered by Drupal and show some of the basic configuration behind them. And we'll discuss some of the differences of developing for Canvas Pages versus regular web pages.

Agenda

* Brief introduction to the Facebook API
* Brief introduction to Drupal for Facebook
* Demo of live Facebook Application
* Behind the scenes configuration of that Application
* Canvas Pages (FBML) vs. HTML
* Question and Answer

Goals

This session will give a basic understanding of the Facebook Platform for those new to it. We'll talk about why one might make a Facebook Application a part of a Drupal-powered website; or why one might build a Facebook App from scratch using Drupal.

We'll also demonstrate how the Drupal for Facebook modules work. Those familiar with Drupal will leave with a sense of how easy (or difficult) it will be to configure one of these applications.

Resources

* Facebook Platform
* Drupal for Facebook project
* Drupal for Facebook canvas pages
* Drupal for Facebook HTML pages

Slides
http://www.drupalforfacebook.org/book/export/s5/1074

Drupal Databases: The Next Generation

Crell's picture
Submitted by Crell on Sat, 07/05/2008 - 19:49.

Session recording

Placement
Session time: 
08/29/2008 - 09:00 - 08/29/2008 - 10:30

Overview

Drupal 7 will feature a newly rewritten database layer providing improved database abstraction, portability, and scalability features. This session will cover the thinking and architecture behind the new layer, with an eye toward understanding how it fits into the larger scheme of high-performance Drupal sites. There will be some discussion of code, as well as words of advice for others looking to revamp one of Drupal's core systems.

There will be some code in this session, but you should not need to be a hard-core coder to follow it. This session will also serve as a lead-in to this code track session, which is aimed more at programmers.

Agenda

* Database abstraction: Why it's hard and even an unsolvable problem.
* The old Drupal approach, and why it's not good.
* The new Drupal approach, and why it's awesome.
* Leveraging the database on your own deployments.
* Request for feedback on some of the more big-iron-targeted parts of the new feature set.
* Recommendations for other core developers on how to (not) revamp Drupal subsystems.

Goals

After attending this session, you should have a good idea of ways to leverage the new, modernized database system for your own sites as well as how to go about making major changes to Drupal's infrastructure.

Resources

Knowing the basics of SQL servers before attending would be a good idea, for context.

Page serving and rendering (XHTML/XML/JSON, etc.) - now and Drupal 7

pwolanin's picture
Submitted by pwolanin on Thu, 07/03/2008 - 23:29.

Session recording

Placement
Session time: 
08/29/2008 - 16:00 - 08/29/2008 - 16:45

Overview

This session will discuss how Drupal finds and renders pages. In other words, how a Drupal path (like node/4) is used to deliver a page to your screen. This will be a high level discussion, but with some reference to implementation details.

Agenda

  • Overview of the menu system architecture
  • The flow from request to page rendering in Drupal 6
  • Page rendering in Drupal 7
  • Alternative page renderers - e.g. XML and JSON
  • What we've enabled, what's left to do

Goals

This session should give the participant an overview of how these central Drupal systems work in Drupal 6, and how they may change in Drupal 7. We will focus on how page rendering may change, and what other advances those changes enable.

Resources

It would be helpful to have a basic familiarity with how pages are defined using Drupal 6 hook_menu, and what a Drupal path is.

Usability enhancements for Drupal hierarchies (menu links and taxonomy)

pwolanin's picture
Submitted by pwolanin on Thu, 07/03/2008 - 22:41.
Co-presenters: 
Placement
Session time: 
08/29/2008 - 15:00 - 08/29/2008 - 15:45

Overview

The navigation menu, breadcrumb links, primary links, etc are important for users to be able to navigate your site. Is the way they work in Drupal 6 optimal for usability? Are there better default behaviors we could build for Drupal 7? Could we better accommodate non-standard browsers (e.g. screenreaders)

Agenda

* Fixes up to now (e.g. http://drupal.org/node/270917)
* Default markup
* Your suggestions and input!

Goals

This session will focus on Drupal core, not on contributed modules which can alter or enhance the built-in menus and taxonomy.

By identifying usability problems and possible fixes, this session will hopefully result in some fixes being identified to be addressed in core.

Resources

You should have used a Drupal 6 installation and thought about how you navigate using menus and taxonomy, and how you arrange or assign menu links and taxonomy terms.

If possible, think about "scalable menu parent choosers" and hierarchical select widgets. See: http://drupal.org/node/191360

Install profiles in D7 core and contrib

catch's picture
Submitted by catch on Thu, 07/03/2008 - 22:27.
Co-presenters: 

Usability testing at the University of Minnesota and University of Baltimore suggested that new Drupal users would benefit from more example content in default installations. There are also technical limitations to install profiles which have prevented their widespread adoption in contrib.

This workshop will examine the existing 'default' installation profile, the 'minimum' installation profile (if it's committed by then), and discuss additions to these and other possible profiles for core (single user blog etc.)

The session will also discuss the current limitations of install profiles for developers, and look at alternative mechanisms ('packages', 'install profiles as modules').

Resources:
More defaults in the default install profile: http://groups.drupal.org/node/11691
RFC:Installation profiles as modules: http://groups.drupal.org/node/11548

Dos and Don'ts for Designing in Drupal

demet's picture
Submitted by demet on Thu, 07/03/2008 - 00:25.

Session recording

Placement
Session time: 
08/27/2008 - 11:00 - 08/27/2008 - 12:00

Overview

This session will focus on strategic tips and tricks for creating visually stunning and highly functional Drupal sites in collaboration with creative partners and colleagues. We will discuss various dos and don’ts associated with designing for Drupal and building custom Drupal themes.

Agenda

* What best practices should you follow when designing for Drupal or building Drupal themes?
* How to communicate with in-house and external design teams when building sites in Drupal
* What’s a good process workflow for building Drupal themes?
* What things can you do to make your life easier when developing Drupal sites? What things will make your life more difficult?

Goals

The goal of this session will be to help people involved in Drupal theme development and/or creating designs for Drupal sites understand the unique challenges of the system and learn how to develop a good workflow and set of best practices that will enable them to create sites that work and look their very best.

Drupal Search: Where are we? Where are we going?

robertDouglass's picture
Submitted by robertDouglass on Wed, 07/02/2008 - 19:08.

Session recording

Placement
Session time: 
08/28/2008 - 09:00 - 08/28/2008 - 10:30

Overview

Google has shown us that search matters. Drupal's core search has strengths as well as weaknesses. What are they and how are the weaknesses being addressed? What new search options have emerged, and how does one evaluate them?

Agenda

* Core search in Drupal 7: What needs to be done?
* Minnesota Search Sprint: What got accomplished and where does it go from here?
* Xapian, Sphinx and ApacheSolr: With so many third-party options to choose from, how does one evaluate and decide?
* Search and Drupal.org: What special needs does Drupal.org have, and how can we improve things now and in the future?

Goals

Increase focus on improving core Drupal search. Increase awareness of alternative solutions. Increase awareness of different search features, such as faceted searching. Encourage more collaboration amongst developers.

Resources

* http://drupal.org/project/apachesolr
* http://drupal.org/project/xapian
* http://www.sphinxsearch.com/
* http://groups.drupal.org/node/4102 (Search group on g.d.o.)

State of Drupal

Dries's picture
Submitted by Dries on Wed, 07/02/2008 - 09:47.

Session recording

Placement
Session time: 
08/27/2008 - 09:00 - 08/27/2008 - 10:30

An update on the State of Drupal.