Opensource Flexible Content Management System (CMS)

DrupalCon Keynote - Luke Wroblewski - Mobile First

LukewMobile First (Video) (Download PDF)

  1. Growth
  2. Constraints
  3. Capabilities

Other Presentations by Luke

Growth story

  • 371,000 babies born each day
  • 378,000 Iphone, IOS 562,000 devices per day
  • 700,000 Android 
  • 1.5 million devices activated each day

Drupalcon session - Drush 5.0 command line utility


By Moshie Weitzman, 

Drush 5.0 will be released today 

Shell alias

In help: angle brakets represent required, square brakets mean option


Drush now has a windows installer sponsered by Microsoft

Drush has a usage traking, uncomment lines to send to mogo lab

Drush Make

by Johnath Headstrom

Drush Make – package manager for your Drupal sites, like a shopping list of all the modules, themes and even patches. D rush Make is now part of Drush core.

Improvements to Drush make, better unit tesed, refactored to use pmdownload, uses cached copies of downloads locally.

Auto completion

Auto-completion press tab to see options, if no options press tab twice

To enable copy to /etc/bash/completion.d

Built-in Dev Web Server

Drush 5 has its own built in dev web server, to start it on port 8089 type:

drush rs :8089/ --user=1

arguments include : [name of the site] IP:port/path --core=[commerce_kickstart]

This requires PHP CGI. PHP 5.4 comes with its own webserver

Quick Drupal

To build a throw away site use the command quick drupal

drush qd -y

Queue Command

Mark from Aquia

The queue commands in Drupal 7

Added a default que runner to Drush



by Bevan Rudge

Section 1:Anatomy of a View, Custom markup, field concatenation, fields as links, summary view 

You can combine fields and put a wrapper around them.

You can use the fields fences module to control wrappers around fields

Filters can be and/or.

Contextfual filters are in the first and/or group

Results summary (displaying 1-7 of 7)

Aggregate/count Other->aggregation: yes, Adds aggregation to filters and sorts

Alternative pagers: group by date or by letter (glossary mode of a contextual filter)

Views_linkarea module for adding links

Section 2: Add new and custom features



Real World Performance Drupal

First ask questions about what is slow and take notes on what they say.

Define goals:

Goal 800 ms latency 50/50 logged in users

Step away from the client, and assume they lied to us and that they have never been to the site.

Step 1 - you need a net console like Firebug

Take some notes on what the page times are like

front page - 8 seconds

gallery - 23 seconds

article - 12 seconds

favorities - 13 seconds

It is temping to turn on devel and see what sql query is slow, but don't stay at the overview level.

Display the query time, 

Display the query log

Go back and display the front page


Use the slow log tool kit pt-query-digest just point it to a slow log.  

Set the sloq query time to 1 second

Copy the text of the top 3 slow queries

Viewslightpager module will remove the count for the pager

Seperate a combined view into two seperate views


Now use Xdebug to check PHP

Just add it to web root

Try to connect to memcache with telnet and the port, if you cannot connect.

Check to see if memcache is running, yes.

Is the firewall running, yes but none of the addresses match memcache


http://localhost:888 my web site


Build Mobile Apps for Drupal Sites

What are the choices?

Native application - requires skills


Allows you to put your app on the IOS and Android Markets where you can sell

You can have offline content by putting it in a www folder

Setup services 3 on Drupal 7 to get freah content

Out of the box it comes with plugins for camera, maps, contacts,

Use the Drupal Module MAG (Mobile App Generator)

Generate your application

Install the Android SDK

Install PhoneGap

You can use PhoneGAP with the cloud build.

You can add HTML to the app to allow you to take a picture and upload it to your site.

Some tips and Tricks

Do the development in the brower with web-kit, test and debug in the browser, test on each device.

Make sure you test it without being on a private network.

Jeff Wood githup site with Drupal project that will use the camera.



Drupal Panels Presentation

Panels is a layout manager written by Earl Miles

Panelizer - Panel nodes on steroids

Panopoly - Distribution based on Panels currently in Beta

New in Panels

  • Redesigned the IPE (In place editor)
  • Can change pane styles
  • Pane Locking


  • Like panel nodes but with context
  • For any node, user, taxonomy term, by bundle with defaults that can be picked by the editor.
  • Can now give panels to content users

BEAN (Block Entites aren't Nodes)

Can make it so that users can just edit one field of an entity without getting overwelmed by the edit for all the fields.

Entity Revision Scheduler - You can edit a revision that will be hidden until it is scheduled to be published.

Panopoly - Drupal Distribution

More than just panels comes with WYSIWYG.




Drupal Webform 3

By Nathan Haug from Lullabot

Overview of Webform

A node will get an extra tab for Webform

Table shows everything, download lets you get a CSV

You can Webform enable any content type, some will enable the page content type.

Multiple page forms

User editable email templates

Save as Draft and Resume

Total and per user submission limits

Tons of APIs for hacking

Rules integration with Webform is good

Very New Features

HTML5 frendly features like for entering an email

Number component (show the number keyboard)

Conditional Logic, based on an earlier value on page 1, then page 2 can show different stuff, there is a conditional module that allows same page conditionals

Download Range, only download new submissions

Form Builder Integration - works and is stable

5 Tips and Tricks

Node clone - Clone content (have an umpublished node webform to use as a template)

Node Export - Export on Dev and import on production

Options Element (key value pair UI that is friendly)

Use hidden fields - keep track of information, (for example: current url, for there is a bug on this page)

Hidden fields can be marked as secure so they are never sent to the browser

Use %get tokens to set default values


Drupal Translation

Update: I have created a step by step tutorial to add translation to a Drupal 7 site

Questions to ask when planning a site that is to be translated

  • What parts of the site will be translated 
  • Just the navigation 
  • Also the Static content (mixed mode) content that is not translated would just show in english
  • Choose to show or hide content that is not translated
  • Is the language is related to the region, for example if the currency and format options
  • Translation workflow, does content always start out as english
  • Does Drupal have fairly complete translations for the UI
  • What will be the default language for the site, (this is used as the language fall back for the site)
  • How will the language affect the design of the site.  Some languages take more space.
  • Do you fonts support all the languages you are using

Translating the User Interface

Select the varibles you would like to translate: site, slogan...

To translate these Varibles you must go to the site configuration page and select the language to provide the translation for.

Add Translations from the Translation interface page


Dries Buytaert Keynote Drupalcon Denver 2012

DriesBWin the hearts and minds (Video)

Innovation examples, cat duster, baby duster, noodle hair shield.
Cool companies like Palm and others have failed to innovate, Drupal must innovate.
Drupal 7 grew 2.5 times faster than Drupal 6 to 100,000 sites, there are now more drupal 7 sites than drupal 6.
Kodak invented digital photography, but they were unwilling to move away from their core analog business.