This site is archived.

Intermediate

This code stinks!

Larry Garfield 14 June 2010
Type:  Not planned session

Code smells, how to spot them, and how to use them to write better code and spot bad code before it's too late.

"In computer programming, code smell is any symptom in the source code of a program that possibly indicates a deeper problem." --Wikipedia

Ever look at a piece of code and go "eeek!" but couldn't say exactly why? Code smells are ways to spot that sort of code and communicate it to others. They're signs that the code you're looking at will stink once it gets into production.

Apache Solr Search Mastery

Peter Wolanin 14 June 2010
Type:  Session in official program

Excited by the great power of Apache Solr search for Drupal and want to take things even further by learning how the Drupal module works and how to integrate with it and change its behavior?

This session is for those who are excited by the great power of Apache Solr search for Drupal and want to take things even further. Do you want take complete control over your search interface and offer more than the default features? Have you ever wondered what it takes to add data to your search index? Curious about defining facets, custom sorting, or making cool new widgets for filtering and faceting? Join us for a technical deep dive into the world of Solr search.

Additional Presenters:  Robert Douglass

How to do parallel processing and map/reduce with Gearman.

Giuseppe Maxia 14 June 2010
Type:  Not planned session

Parallel processing, in any programming language, is hard to achieve and easy to get wrong.
However, you can leverage a distributed client/server paradigm to create parallel processed tasks quite easily, with a scalable and fail-resistant system. With Gearman you can run tasks in parallel, no matter where they should be performed.

A common scenario in web development is a delay in serving a page, due to
the need of performing several unrelated operations in sequence.
Sequential development is the norm in every major programming language,
and, although parallel processing is possible, implementing it in your
application is often painful and results in complex and debug unfriendly code.
Enters Gearman, a distributed client/server framework, which can be easily
integrated in any programming language, including SQL (through a MySQL User
Defined Function), and makes parallel processing a trivial task. This

An introduction to Gearman

Giuseppe Maxia 14 June 2010
Type:  Not planned session

Gearman is a distributed client/server system that works across different operating systems, with different programming languages, in a scalable and fault-tolerant mode.
Add to it that it is incredibly easy to use, and you will wonder why you haven't used it yet.

In the age of ubiquitous connectivity, distributed servers have become
readily available and usable. Gearman, a friendly infrastructure for
distributed tasks, gives developers and DBAs a large degree of flexibility
in their applications. Using Gearman, developers can access libraries
written in multiple languages, even if they are different from the ones
used in their main application. DBAs will benefit from Gearman in their
daily tasks, by accessing external features from within the database server
itself. This session introduces Gearman principles and shows some simple

Running Hundreds of Sites - Scaling Drupal Horizontally

Dave Hall 14 June 2010
Type:  Not planned session

Drupal is increasingly the CMS of choice for large projects. The popularity of the platform means that developers and businesses need robust tools to manage their deployments. Last year Dave Hall developed, deployed and managed almost 2100 production Drupal 6 sites. During the presentation Dave will share the knowledge he has developed about scaling Drupal horizontally.

Drupal is increasingly the CMS of choice for large projects. The popularity of the platform means that developers and businesses need robust tools to manage their deployments.

Managing a handful of production Drupal sites is pretty straight forward. When you start deploying or trying to manage hundreds or even thousands of sites, things get complicated very quickly. Dave Hall will explain how he has used Aegir and Drupal to deploy and manage thousands of production websites.

Debugging Drupal: Hands-on techniques

Randy Fay 12 June 2010
Type:  Session in official program

(Here is the presentation)
[Update: Several people asked for a writeup on how to run a catchall Apache virtualhost]

Debugging is fun and profitable if you have the right strategies, techniques, and tools in hand. Successful debugging includes strategies that will make you successful, techniques that let you pinpoint the problem, and tools that make you productive.This session will cover all three, and then as a bonus will show you how to set up the free Eclipse IDE for step debugging in Drupal on any platform.

(Here is the presentation)
[Update: Several people asked for a writeup on how to run a catchall Apache virtualhost]

There are bugs in every piece of software, and Drupal is no exception, and your site is no exception either. You just have to be prepared to deal with the bugs. Learn effective strategies to approach them, handy techniques to find them, and get your tools set up and mastered.

Drupal 7 Dynamic Forms with AJAX and #states

Randy Fay 12 June 2010
Type:  Not planned session

Drupal 7 has vastly improved dynamic forms capability, and oh-so-much easier for the developer.
This session will enable you to use dynamic AJAX forms (which allow parts of the form to be rebuilt without a page load, giving your visitors an improved experience) and the new #states feature, which allows parts of a form to be shown/hidden/changed based on other parts.

Drupal 7 has vastly improved dynamic forms capability, and oh-so-much easier for the developer.

This session will enable you to use dynamic AJAX forms (which allow parts of the form to be rebuilt without a page load, giving your visitors an improved experience), and the new #states feature, which allows parts of a form to be shown/hidden/changed based on other parts.

Who is this for? Any developer who wants to build forms using the From API. This will be accessible to anybody who has ever seen the Drupal Form API, and there is no Javascript involved at all.

This will cover:

Views Examples: Using Arguments and Relationships

Michelle Lauer 11 June 2010
Type:  Not planned session

I will demonstrate a systematic approach to building all views and show examples of using arguments and relationships.

Views are a powerful way to display specific subsets of your content. From a simple list of all nodes in a single content type to a complex collection of related information, each step will be explained so you can easily repeat the strategy in your own views.

I will demonstrate a systematic approach to building all views and show examples of using arguments and relationships.

Topics
• Systematic way to create ALL views in the GUI
• What are arguments and how to use them
• What are relationships and how to use them
      • Discussion of CCK node reference

Teaching Drupal

Type:  Session in official program

You know how to use Drupal but do you know how to teach others to use it? We'll define a method for showing clients how to use the tools we build without freaking them out.

You know how to use Drupal. You know how to write code, build a theme, and SEO a site. But do you know how to teach others to use Drupal? For every site we create there are clients who must use it, many don't know a node from a block. After this session, you will be able to introduce clients to Drupal without freaking them out.

We'll cover:

<

ul>

  • Defining "need to know" and emphasizing main concepts
  • Thinking like a user, talking like a mentor
  • Using normal words with a sprinkling of Drupalese
  • Code Your First Module

    Type:  Not planned session

    Yes, you can! We'll learn the basics of module development and create a simple example.

    Yes, you can! With three basic files, a clever module name, and a basic understanding of Drupal hooks, we'll create a simple module. If you know what a PHP variable and function is but have never done custom Drupal development - this session is for you. We'll cover the most important thing to know: where to look it up!

    We may cover (depending on time and how much fun we are having):

    • The 3 basic files
    • A few basic hooks
    • Handy function calls you'll use often
    • A database query
    • Forms
    • A few fun facts and a pop quiz