Why SXSW Interactive is good for business

SXSW is just about to start. In fact, it’s already started: SXSWedu, a relatively new offshoot of the SXSW mega-brand — kicked off yesterday, stretching the overall event to a full two weeks. That’s fourteen days of sessions, workshops, parties, and business cards. Piles of business cards. Fistfuls of business cards bursting from your pockets and spilling onto the beer-soaked floor of a temporarily rebranded bar on Sixth Street. (Never happened to me, obviously…)

Like many attendees — and even more Austin locals — I think SXSW Interactive has gotten too big and unwieldy over the last several years. With so many competing sessions and speakers, it’s getting hard to find concrete meaning and value in the conference.

But, there is an immediate value for local businesses in having the international interactive community come to us. It’s incredibly cheap and convenient for locals: we simply have to buy a badge and don’t have to bother with any travel logistics.

We are lucky to have SXSW. It does more than any other event to enhance Austin’s reputation as a hub for technology, film, and music. It’s the only event with such a strong focus on technology on an international scale. Even better, SXSW helps make Austin “cool”: Each year, attendees leave our city knowing that Austin is filled with smart, innovative, and laid-back people who know how to have a good time.

The “cool” factor is a huge benefit when we start conversations with potential new clients. The majority of our clients aren’t local, but as soon as they hear we’re from Austin, they have positive impressions from what they have read about the city or fond memories of past trips here during SXSW. The conference has certainly helped the city immensely in getting the hip reputation on a global scale.

To leverage the massive growth of SXSW, I suggest that local businesses host a specialized event to get the most out of the conference. People are attending the conference to learn about new technology, network within their industry and to hear well known thought-leaders. The more specialized an event is the better to get the ideal targeted audience. Plus the common narrowed interest gives attendees an automatic connection to each other, and lends to the notion that people gravitate towards the familiar. Every year we host a Drupal event and have a focused set of attendees that drive business for us.

If a local business hasn’t planned on hosting an event this year, they are unfortunately out of luck. However, there is still plenty of time to plan individual SXSW itineraries to make sure you hit the appropriate industry events. A simple search on the SXSW website, Eventbrite, Twitter, or plain ol’ Google will bring up hundreds of SXSW events. Among those there are events focused on just about every single industry. Many are open to the public, so even if you didn’t splurge for a badge, you can still attend quite a few to network and learn.

For those who aren’t planners, simply head downtown and take a walk around the Convention Center and Sixth Street. Pop in crowded restaurants and bars, start some conversations, and pass out your business cards. Piles of business cards. Fistfuls of business cards… You get the idea.

There’s nothing to lose — and a lot to gain — when the world comes to Austin for these unconventional two weeks every March.

Photo credit: johnmcnicholas on Flickr.

Jekyll event schedule

Screenshot of DrupalCamp Austin schedule

While working on the DrupalCamp Austin schedule, I was surprised to find that there weren’t any Jekyll templates or plugins available for event schedules. Since it was relatively simple to put one together I want to share some code we generated in the process of hosting the event.

Like many community-driven conferences, DrupalCamp Austin is a multi-day, multi-track event with lunch breaks, keynotes, and evening events like parties. These templates were built to easily handle all of that, so if your event is similar they will probably work for you. Read on for a breakdown of our Jekyll event schedule.


Very little is required in _config.yml file. Simply add pretty permalinks and your individual session pages will be generated at the appropriate locations for internal linking between schedule and detail pages.

permalinks: pretty

Post format

Jekyll posts all start with a date stamp: YYYY-MM-DD, but we treated the filenames slightly different than a normal Jekyll post. By adding some extra numbers related to session times, we can control the order of sessions all happening on one day. Although this is strictly alphabetization and not in any way specifying the time of a Jekyll post, it produces the correct time-based sorting when every session is named with this convention.


Looking inside a session, we have a pretty basic setup. If you’re familiar with Jekyll at all, you know about YAML Front Matter. Here are the required properties for scheduled sessions:

title: Session title
category: session
published: true
accepted: true
date: 2013-06-22 9:00am

Some are obvious; on a real site we’ll need to categorize or display different types of content and to make this demo have drop-in functionality you need title, category, and published. The other two are specific to our schedule.

  • accepted is a flag that is useful for events with community-submitted content, allowing you to distinguish which sessions you have accepted for inclusion on the schedule. For our event, it’s possible to have a published session submission that is not included on the schedule. Your event may have different rules so feel free to ignore this.
  • date specifies when the session starts, including the time. This property should be considered the canonical source of the session’s time. The filename is merely an ordering mechanism, and the timestamp described previously is not included in the “post date” internal to Jekyll.

Schedule templates


This is a full Jekyll page, and it prints the entire schedule using this block of code. The only notable thing is the posts are reversed, meaning the schedule will display sessions oldest first, since the default is like a blog with newest posts first.

{% for post in site.categories.session reversed %}
    {% capture day %}{{ | date: "%A" }}{% endcapture %}
    {% if day == 'Saturday' %}
        {% include schedule-day.html %}
    {% endif %}
{% endfor %}

If you have a multi-day event, just duplicate this loop for each day. Our demo code has two days but one is commented out.


This template holds most of the important logic for rendering the schedule:

{% if == 'full' and post.accepted == true %}
    {% include session-full.html %}
{% elsif post.accepted == true %}
    {% capture slot %}{% cycle 'begin', 'skip', 'end' %}{% endcapture %}
    {% if slot == 'begin' %}
        <section class="slot">
            <h3 class="time">{{ | date: "%I:%M%p" | downcase }}</h3>
    {% endif %}
    {% include session.html %}
    {% if slot == 'end' %}
    {% endif %}
{% endif %}

To create time slots that accomodate any number of tracks, we used a rotating variable via the {% cycle %} tag. Cycle does exactly what you might think and cycles through a list of values supplied by the developer. You can add as many as you want, for example if you want to make our three-track schedule only two tracks, remove the skip value, four tracks would require two instances of skip, and so on.

The markup that opens and closes each time slot is output only when the cycle tag says to. By placing cycle in the room-specific conditional (instead of near the top of the template), ‘full’ slots aren’t counted by cycle and the loop logic stays simple while still accommodating an unpredictable number of full-width slots.


This template is pretty straightforward, but check out the data attributes. The template takes the YAML values from each post and converts them to a more predictable format for use by CSS/JS. This is accomplished with a few Liquid filters to remove white space and force lowercase. A little further down I’ll discuss some neat uses of data attributes as opposed to classes.

<article class="session"
  data-room="{{ | downcase | replace:' ','-' }}"
  data-track="{{ post.track | downcase | replace:' ','-' }}"
  data-difficulty="{{ post.difficulty | downcase | replace:' ','-' }}">

Singularity and Breakpoint

CSS can obviously be accomplished however you want, but we’re fans of Singularity for grids and Breakpoint for media query management. I’ve provided some barebones CSS to make the schedule function, and beyond that it makes no assumptions. It’s ready for your design.

For the schedule layout we have a responsive grid with one breakpoint: one column until everything can fit, then we switch to a fluid, asymmetric 4-column grid with columns having ratios of 2/3/3/3. Here’s the entire layout in 20 lines:

// breakpoints
$sched-cols: 820px;
// grid settings
$grids: 1;
$gutters: 1/4;
$grids: add-grid(2 3 3 3 at $sched-cols);
// schedule layout
.schedule {, section.slot {clear: both; }
  @include breakpoint($sched-cols) {
    h3.time { @include grid-span(1,1); }
    [data-room="room-1"] { @include grid-span(1,2); }
    [data-room="room-2"] { @include grid-span(1,3); }
    [data-room="room-3"] { @include grid-span(1,4); }
    .full { @include grid-span(3,2); }

Singularity’s grid-span mixin is pretty slick. First of all it knows about our grid inside the breakpoint mixin due to the definition up top. Second, the syntax is very clean and quick to comprehend. The two arguments are column-span and position. For example: grid-span(1,1) is a single column starting at the first column, grid-span(1,4) is the last column of our grid, and grid-span(3,2) spans 3 columns starting at the 2nd column. See an expanded, commented version of this stylesheet on GitHub.

Data attributes for use by CSS and JS

However you choose to accomplish your layout, I recommend using the data attributes to position each session under the correct heading. Relying on data attributes instead of nth-child() or another markup-specific selector means you don’t have to worry about the exact order that Jekyll outputs the schedule, because the session just falls under the correct heading. This may not sound like a big deal, but renaming files just to accommodate schedule changes is annoying… trust me! Our room headings use data attributes as well, allowing everything to be controlled by a single selector.

It’s also more convenient to use data attributes if you want to write any sort of JS to enhance the schedule. DrupalCamp Austin’s track filters run off of the data-track attribute, allowing you to filter out chunks of the schedule you might not be interested in. Example:

Animated GIF showing DrupalCamp Austin schedule filters in action

Demo and code

That’s what you were looking for anyway, right? I hope you enjoyed the walkthrough, but the real action is in the GitHub repo. Pick our code apart and feel free to suggest improvements!

Although it’s possible to turn this into a plugin, I chose not to. Part of the appeal of small Jekyll sites is free hosting/deployment via GitHub Pages, which currently disallows the use of plugins. Providing templates instead of a plugin means that everyone including GitHub Pages users can make use of the files.

Basic jekyll-schedule demo
Code for jekyll-schedule

If a vanilla example isn’t quite compelling enough, check out the DrupalCamp Austin schedule, with a real design and some nice bells and whistles like sticky headers:

Branded demo
Code for DrupalCamp Austin

Countdown to SXSW 2013: Four Kitchens Session Proposals

The SXSW Interactive Conference continues to expand and cover a wider variety of topics every year. While this keeps the conference on the cutting edge of new technology, it also means that certain topics are lost, never to be resurrected again. In the last few years, topics about Drupal have been slim to none. However, the relevance of Drupal as a CMS is still as important as ever.

Four Kitchens has submitted 5 session proposals to SXSW, some of which are Drupal themed or centric. While we submitted some topics that are not Drupal related at all (which we would love for you to vote for too!), we also feel it’s important to make sure some of the more interesting work being done with Drupal is represented at the conference. Below, you can find Drupal (non Four Kitchens) talks for your consideration, as well as talks submitted by our Web Chefs.

We’d love to have the support of the Drupal community, not just for our panels, but also for the other brave souls who submitted a panel about Drupal!

Four Kitchens proposals:

  • Fun and Games with CSS3: Famous (or infamous) Web Chef Chris Ruppel shows you creative concepts you can achieve using CSS3, aimed to inspire you to push web browsers to their limit.
  • Work Sucks, But Your RFP Doesn’t Have To: Our fearless leader, Todd Nienkerk, co-hosts a panel with industry heavyweights like Joe Rinaldi (Happy Cog), Zach Chandler (Stanford), and independent consultant extraordinaire Crystal Williams. This panel is a continuation of the SXSW 2012 panel “OMG Your RFP is Killing Me,” which was met with great enthusiasm and has continued to spur the No RFPs movement.
  • Building Real-Time Web Apps with Drupal and Node.js: Web Chefs Michal Minecki and Joshua Wynn show you how we built web apps like our very own Drupal Poetry using Node.js, and of course, Drupal.
  • Getting the Most out of Your Agile Vendor: Web Chef / Scrum Master Andrew Gerdes shows you how to work best with an Agile Scrum shop. Joining Andrew are several Agile advocates such as Tim Hamilton (Astonish Designs), Danese Cooper (Bill and Melinda Gates Foundation), and Rob Purdie (IBM).
  • Time to Use a Grownup CMS: Why Drupal: It’s time to graduate to a big CMS, and Web Chef Ian Carrico wants to show you why Drupal is still the clear front-running CMS for sites of any needs. From a site for your startup, to big sites like The White House, come to learn what Drupal offers over other platforms.

Drupal-related proposals (non 4K):

Training the Web Chef Way

When the Four Kitchens’ team of web chefs develop a new training course, our guiding principle is: Provide a strong return on investment. You invest the time traveling to the training, attending, and afterwards, practicing the skills acquired. You also invest the energy and effort necessary to develop new skills. You place your trust in the trainers to guide you from where you are now to where you need to be. In return, we invest our time, energy, and best effort in creating training experiences that give you a stronger, more relevant, skillset and the confidence you need to apply it.

We also want you and the training to be the right match, building on your current skillset. Before the event, we send a very specific list of required skills, so that you can be certain that the training you purchased is right for you.

To ensure a valuable return on your investment, we develop our trainings with four essentials in mind.

  1. You leave with skills you need. We are interested in many things. The web chefs’ IRC chat room is a steady stream of links and memes. But when it comes to training, we make sure that the skills we teach are the ones you must have as a web professional. We want the skills you develop to increase your value in the marketplace.
  2. Hands-on experience, in class. Seeing is not doing. We know that the only way to develop a skill is to jump in and do it. We provide a safety net. We approach training as an obstacle course designed to build confidence. Instructions are given and then, you tackle the obstacle. We put the smaller obstacles first so that by the end, you are scaling big walls without breaking a sweat.
  3. Subject matter expertise AND training expertise. Many technical training courses fail because the trainers are not subject matter experts or the subject matter experts are not trainers. We develop trainings as a team, combining expertise in the subject with expertise in the art of training. The finished product is an intellectually satisfying, fun, and valuable day with the web chefs.
  4. Enjoyable, cooperative, encouraging. Training is a community experience. We create an environment where trainees can help each other, receive help from us, and participate in every discussion so that the group builds their skills in a cohesive, connected way. We also have a lot of fun.

Our next training is at DrupalCon Munich. Join us for Responsive Websites: Design and Build for All Devices. Also, keep an eye out for more trainings at BadCamp and DrupalCamp Austin.

Do you need personalized training for your team? Contact us for more information about we help teams become Drupal Experts.

Privacy Summit Austin: Recap

Four Kitchens was very happy to participate in the Application Developers Alliance Privacy Series in Austin on Monday night.

There were some really cool insights we learned, which you can find below. But most importantly, we’re very happy to see an organization educating developers on good practices regarding privacy policies.

The main idea behind this Privacy Series is to listen and educate developers, so that we can use that information to take it to policy makers.

Why is it important?
If left to their own accord, policy makers could make the wrong choice. Take this into consideration: if an application happens to have a misleading privacy policy, or if the application is deemed to violate user privacy, is it a civil or criminal offense?

We want to make sure we keep things civil, not criminal. And organizations like the Application Developers Alliance is making huge strides in making sure the law is fair for developers.

Check out our visual notes from the event below:
Notes from Privacy Summit

DrupalCamp Stanford

Four Kitchens is sponsoring DrupalCamp Stanford and web chef Diana Montalion Dupuis is in sunny Palo Alto to offer two sessions: Drupal for NonGeeks and Mad Skillz: Be the Best in the World.

  • On Friday, attendees who will never write a line of PHP code but need to understand how Drupal works can find out at the Drupal for NonGeeks session. This session will offer a high-level, conceptual understanding of the Drupal framework. The goal is to enable nonGeeks to make decisions about applying Drupal to their real world challenges and talk to developers (in their language).
  • On Saturday, attendees can join in on The Mad Skillz Self Assessment Experience at the Mad Skillz: Be the Best in the World session. They’ll also hear what top Drupal shops and in-house Drupal team leaders say are the “Most Important Traitz” their best developers possess. (Hint: it isn’t “ninja” anything.) Team builders and Drupal business or project owners will get a master list of skillz to use for team development plans, hiring assessments, and ideas for how to assess that “certain something” that top developers have in common.

If you’re at the Camp, come by a session and say, “Howdy.”

DrupalCon Denver sessions: Web Chef edition

It’s about that time again! Although it’s six months away DrupalCon Denver is ramping up, and session submissions are ready to be voted on by the wonderful Drupal community members. There are almost 600 submissions this year covering every aspect of design, development, mobile, and business strategy. Read on for the informational feasts prepared by the Web Chefs for Denver 2012:


Big Websites for Small Screens: Case Study

Zach Meyer (zachattack), Todd Nienkerk, Chris Ruppel (rupl)

ICANN is the organization responsible for coordinating global use of the domain name system (DNS). Due to the massive scale of their operations they serve users of all types, from feature phone users in Africa to iPad users in LA. This session will take you through Four Kitchens’ process of redesigning from static HTML to a responsive Drupal 7 website.

Lean, Mean, Responsive Machines

Chris Ruppel (rupl)

You’ve heard about responsive, mobile-first websites, and have probably built a few at this point. Mobile users have a short attention span, and they stay happy when sites load FAST. Heavy files, extra assets, and other inefficiencies can cause page loads to drag. Come to this session and learn how to keep your mobile users active without sacrificing the richness that desktop users expect.

Why you don’t need a responsive framework for mobile

Zach Meyer (zachattack)

Frameworks can help you rapidly prototype websites in mobile but they are also a crutch. To make a website responsive or have a fluid layout, flexible images and videos you don’t need a framework and sometimes it can be faster to produce without if you know what you are aiming for. Trying to understand what all the features are in a framework and which ones you really need to use for your project can be hard. Is the framework really meeting your needs or is it a swiss-army knife when all you need is a toothpick?

Wireframing for Every Screen

Aaron Stanush

In this session, we will explore the how the mobile era is changing the previously straightforward task of wireframing a website. When designers only have one instance of website (desktop) to wireframe, the layout is uniform. The header, content area, sidebar, and footer all remain static. But if you are designing a responsive website — one whose look and feel adapts depending whether you’re using a phone, laptop, or tablet — then these elements and especially the layout begin to diverge.

Coding and Development

Automated Performance Testing

Rob Ristroph (rgristroph)

Continuous Integration has become a standard part of the DevOps of many teams, and one component of that is usually automated testing of the code at a “stage” or “testing” point before it is released. Less common is automated performance testing, which is launching a load test at some point in the continuous integration process. While it is more common to monitor performance of the live site, it is rare to test it prior to making changes live.

PHP for NonProgrammers

Diana Dupuis (dianadupuis)

This is a friendly programming introduction for people new to coding. We’ll take a “Physics for Poets” approach to basic PHP concepts like variables, if/else statements, and functions. You’ll write some code, speak some geek, and start down the addictive path of programming logic. There’s also a geek quiz — in case you don’t know your Picards from your Kirks.

Feature Detection and Future-friendly Development

Chris Ruppel (rupl)

In an ever-increasing world of web browsers and mobile devices, how can we possibly keep track of all the front-end functionality on a website? It’s not enough to degrade gracefully; we must be future-friendly. Come to this session to learn about feature detection. It’s the only way to cut through this confusion and maintain a sane developer experience while actually improving user experience.

How Low Can You Go: Reducing Drupal’s Memory Footprint

Rob Ristroph (rgristroph)

Drupal 7 takes more memory per server thread than Drupal 6, reducing the number of threads that can be run on a given server, and raising the minimum requirements for a VPS. This impacts not only bottom-scraping hosting, but also “real” infrastructures, where process size is sometimes viewed as a necessary evil solved by buying RAM. Rob will offer comparisons of D6 versus D7 memory usage in various configurations, and a few simple attempts to reduce it, and benchmark results.

Zero-Downtime Releases For Big Websites: Case Study

Mark Theunissen

Big websites need big uptime. Do you need to keep a site up, even during code rollout and big database schema changes? If you’ve got the infrastructure, we have the method for you. We can show you techniques that maximize uptime with minimum disruption to your site. In addition, we will show how testing your switchover process regularly prepares you for real catastrophic events that may affect your datacenter.

A tale of two scrums: Agile from a developers perspective

Michal Minecki (mirzu)

Scrum and Agile are buzzwords that you seemingly can’t get away from. As a developer, if you haven’t run into them one way or another, you will. After working on two large scrum projects — SDG&E’s new website and The Economist — Mike has seen the good, the great, the bad, and the ugly. In this panel members of both teams will discuss their experiences and review what they loved, and what they hated. We’ll attempt to separate the fact from the sales pitch, the process from the ritual, and give you a view from the trenches.

Debugging Techniques for Drupal and LAMP

Rob Ristroph (rgristroph)

A general but scientific approach to debugging Drupal problems will be presented, followed by an overview of a variety of tools such as the Devel suite, krumo, xdebug, client side debugging such as Firebug and LiveHTTPHeaders.

DevOps in a multi-server environment

Elliott Foster (elliotttf)

Want to learn how to take the hassle out of managing a large Drupal deployment and an even bigger development team? Want to know how we do it at Four Kitchens? We’ll cover tools and best practices for setting up an infrastructure to manage large Drupal sites in multi-server environments.

Migrating Big, Multilingual Websites From Static HTML: Case Study

Mark Theunissen

Do you need to move a huge amount of inconsistent, legacy HTML files and associated documents into Drupal? Is the content in 14 different languages? We’ve done it, and we can show you how recent improvements to the fantastic Migrate module can process your old site with ease. This technique is not only useful for Migrations, but also for moving any static content into Drupal at any stage of a site’s lifetime.

Simple DevOps Using Jenkins

Rob Ristroph (rgristroph)

This presentation will cover a simple setup of a Jenkins (it can even run on your laptop), and a set of scripts will be demonstrated that enable a solid workflow. This will done live as much as possible; slides and screenshots will be a fallback. Electronic copy of the scripts and other files will be provided, so that attendees can modify and use them.

Poor Man’s Devops, Small Scale Continuous Integration

Michal Minecki (mirzu)

In this session we’ll show you how you can use some of the same tools we use to deploy to 30 servers to more reliably deploy your next little project. We’ll go over the high level ideas that make Continuous Integration work in big software development projects and see how these practices and tools scale down to small projects.

Nonprofit, Government & Education

Drupal Can Save Higher Ed Web Publishing

Dave Diers (thebruce)

Higher Education web publishing has big challenges: a diversity of technical needs and expertise; decentralized power and decision-making structures that exist in cooperation with (and sometimes in opposition to) governance committees; complicated institutionalized approval chains; regulatory and privacy issues; intellectual property concerns; and, increasingly, funding issues that impact IT staffing and support. In this session we’ll share experiences with Drupal at several large world-class educational institutions and dive into the benefits of multi-site Drupal web publishing for .edu organizations.

Drupal community

Mad Skillz: Be the Best in the World

Diana Dupuis (dianadupuis)

Are you a developer (themer, designer, site builder, sys admin) who wants to work on bigger, more complicated projects? Do you want to send your resume to top Drupal shops and get hired? Do you want to assess and approve your skills? If so, come to this session and take the Mad Skillz Quiz. You’ll also find out what top Drupal shops and in-house Drupal team leaders say are the “Most Important Skillz” their best developers possess. The answers will surprise you!

Business and strategy

Building a Dynamic Team

Diana Dupuis (dianadupuis)

A Drupal website is as effective, performant, and reliable as the team who builds it. Whether you need one developer or twenty, finding the right people is essential to a site’s success. What are the traits and skills to look for when hiring a Drupal developer? What can we learn from Drupal shops with years of experience building successful, and sometimes unsuccessful, Drupal development teams?

No RFPs! Why requests for proposal are bad for business (and how we can stop them)

Todd Nienkerk

In this panel, some of the world’s top Drupal business development professionals will speak to the RFP process and other options. The strengths and weaknesses of RFPs will be identified, and creative alternatives will be discussed. If you are writing an RFP, this is your wake-up call. If you are bidding, come learn about your options.

DrupalCamp Austin Training: Immerse Yourself in Drupal Expertise!

This year’s DrupalCamp Austin includes a dedicated training track, so you can immerse yourself in an weekend-long educational experience! Trainings will be given by world-class Drupalers on a variety of essential topics. Attendees add training sessions à la carte to their camp registration ticket, combining camp-style sessions with hands-on, dive-deeper training in subjects like site building, security, and responsive design.

Have you bought your ticket yet? Hurry! DrupalCamp Austin is only 18 days away and it will sell out. Register for the camp and then add a training (or two or three). Already registered? No worries, you can still add a training.

Register for DrupalCamp Austin (only $30!)
Enroll in Drupal training

Choose from:

Site Building with Drupal 7

This introductory one-day workshop touches on nearly every aspect of the core Drupal framework and covers many must-have modules. You’ll learn best practices from industry professionals and create a sustainable framework for managing your content. By the end of the day, you’ll have created a Drupal site that looks and functions much like any you’ll see on the web today.
Cost: $150.00
When: Full-day (8:30am–5:00pm)
Trainer(s): Jennifer Lampton

Introduction to Drupal Security for Coders

The training begins with a review of the most common kinds of vulnerabilities found in Drupal sites. We’ll then break them down and focus on the specific ways to address those problems in both site
configuration and code.
Cost: $75.00
When: Half-day, morning (8:30am–12:00pm)
Trainer(s): Greg Knaddison

PHP for Non-Programmers

This is a friendly programming introduction for people new to coding. We’ll take a “Physics for Poets” approach to basic PHP concepts like variables, if/else statements, Boolean logic, functions, and hooks. Participants will write code, read code, and have a clear understanding of how to continue practicing.
Cost: $75.00
When: Half-day, afternoon (1:30pm-5:00pm)
Trainer(s): Diana Montalion Dupuis

Responsive Drupal Theming and Design

Do your Drupal themes work on all devices, regardless of size or browser complexity? This hands-on, “You can do it” training session will teach you how to create and theme a responsive design in Drupal.
Cost: $150.00
When: Full-day (8:30am–5:00pm)
Trainer(s): Todd Nienkerk, Chris Ruppel

Site Building with Power Tools: Views and Panels

During our 1/2 day session, we’ll take Drupal 7 beyond the “out of the box” experience and dive into two of the most popular modules - Views and Panels. You’ll learn how to replace your homepage with a custom built page that grabs content from different areas of your site and then we’ll work together to build a site similar to without any coding! We’ll provide a workbook so you can practice this on your own after class. as well.
Cost: $75.00
When: Half-day, morning (8:30am–12:00pm)
Trainer(s): Rob Martin

Drupal 6 Search Engine Optimization

The earlier a site appears in the search results list, the more visitors it will receive from the search engine. Join Erik Wagner, Internet Marketing Manager at Volacci, as he provides a practical walk through showing you which modules to install, which settings to use, and dozens of the most closely guarded “tricks of the trade” to get your web site optimized, higher in the search engines, and more profitable. Volacci’s founder, Ben Finklea, is the author of Drupal 6 Search Engine Optimization.
Cost: $75.00
When: Half-day, afternoon (1:30pm-5:00pm)
Trainer(s): Erik Wagner

Stay classy, San Diego. Web chefs headed to SandCamp.

Web chefs Todd Nienkerk and Robert Ristroph will be making their way to San Diego this weekend to attend SandCamp 2011. If you happen to see them at the camp give them a high five, hug, or other socially appropriate display of affection.

Rob will be giving two presentations so you should check those out as well.

Debugging Techniques for Drupal
A general approach to debugging Drupal problems will be presented, followed by an overview of a variety of tools such as the Devel suite, krumo, xdebug, and client side debugging such as Firebug and LiveHTTPHeaders. In addition to debugging functionality, approaches to performance related problems will also be covered. Techniques that apply generally to all web applications or other PHP code will be noted, as well as tips on structured debugging that narrows down problems rather than random changes.

Introduction to GIT Version Control
Using Git for version control of Drupal projects and web sites will be introduced. All examples will be done using GUI tools, and arcane command line invocations will be avoided. The workflow presented will be as simple, without branching and merging. A goal of this talk is to convince developers and site builders that are not using version control that starting does not have a steep learning curve and using it does not come with a lot of overhead. People should be able to come away from this session able to start using Git with immediate payoff, and be able to interact with hosting systems that use version control for code promotion and continuous integration.

See the full schedule at

Photo credit: Paul Sapiano

Drupal 7 release party in Austin

After two and half years of the blood, sweat, and tears of hundreds of developers – Drupal 7’s release is merely days away. To mark the occasion, user groups from all over the world are celebrating as Drupalistas know best – with a party.

But we’re not the only ones – there are now more than 238 300 parties, in over 80 90 countries. This should be proof enough that Drupal enthusiasts all over the world are more than a litttle excited about January 7, 2011.

If you love Drupal and live in the Austin area, come join us the Boom Boom Room at Union Park from 6:30–9:30 PM. We’ll be talking about what’s new in D7, monitoring chatter and photos from other parties, Skyping with the NYC party, and toasting to the best version of Drupal yet.

Cost: Free!


When: Friday, 1/7/2011, 6:30-9:30 PM

Union Park - Boom Boom Room (map)
612 West 6th Street
Austin, TX 78701

What’s new in Drupal 7?

Partial list taken from


  • More secure implementation for scheduled tasks (cron.php).
  • More secure password system.
  • More secure log-in system.
  • Modules can be updated via the web.


  • Administrative links to edit existing page elements are now available on each web page, without having to go to an administration page first.
  • Improved support for integration of WYSIWYG editors.
  • Added more drag-and-drop for administrative tasks.
  • Permissions now have the ability to handle more meta-data (permissions now have a description).

Theme system

  • Removed the Bluemarine, Chameleon and Pushbutton themes. These themes live on as contributed themes
  • Added “Bartik” theme as the default user interface theme.
  • Added “Seven” theme as the default administration interface theme.
  • Added “Stark” theme to make analyzing Drupal’s default HTML and CSS easier.


  • Added query builders for INSERT, UPDATE, DELETE, MERGE, and SELECT queries.
  • Support for master/slave replication, transactions, multi-insert queries,delayed inserts, and other features.
  • Added support for the SQLite database engine.
  • Default to InnoDB engine, rather than MyISAM, on MySQL when available for greater scalability and data integrity.
  • Several Performance Improvements Implemented

File handling

  • Files are now first class Drupal objects with file_load(), file_save(), and file_validate() functions and corresponding hooks.
  • Files use PHP stream wrappers to enable support for both public and private files and to support pluggable storage mechanisms and access to remote resources (e.g. S3 storage or Flickr photos).

Image handling

  • Improved image handling, including better support for add-on image libraries.
  • Added a field specifically for uploading images, previously provided by the contributed module ImageField.

Added ability to add custom fields

  • Provides most of the features of the former Content Construction Kit (CCK) module.
  • Custom data fields may be attached to nodes, users, comments and taxonomy terms.
  • Node bodies and teasers are now fields instead of being a hard-coded property of node objects.
  • Fields are translatable.

…and much more!