Code & Coders

Continuous Integration Will Solve Everything

Presented by

Continuous integration(CI) is the process of which a system is integrated on a continuous basis, leading to multiple integrations in a development cycle. This provides a means to monitor the quality of code, test it and receive quick notifications of errors.
It provides a quick overview of the current state of a project, from both a managers stand point and a programmer's.
It can turn integration from a multi day process to a non-event done on an hourly basis.

Intended audience

Drupal developers and Drupal architects intending to build sites who wish to know on a frequent basis when their complete integration fails.

Questions answered by this session

Setting up a CI server to build a drupal site

Setting up a basic build script

Packaging a site into a single deployable file

How it can help team size issues

Building and Maintaining a Distribution in Drupal 7 with Features

Drupal 7 allows to easily build and maintain distributions, i.e. repeatable website templates; you can benefit from this in all cases, whether you aim at large-scale deployments or even at maintaining a single website.

We will show how to package core and contributed modules in a distribution by using a Makefile and a profile and keeping them up-to-date during the whole development cycle.

Intended audience

All developers who wish to benefit from a clean development workflow allowing collaboration, code reuse and safe updates. The distributions workflow can be applied to single sites too, with similar benefits.

Questions answered by this session

How do I design my Features properly?

How can I create a Drupal distribution?

How does the distributions approach allow a cleaner workflow in general?

How can I have a safe upgrade path for my sites?

How can I easily maintain a Drupal distribution?

An Introduction to Form Builder - A New Interface for Fields

Presented by

Through the history of Drupal, there have been several different modules that allow the building of forms: Profile, Flexinode, Survey, Webform, CCK, and D7's Field. All of these set out with specific purposes in mind, whether collecting surveys or creating node content. The task of actually building the form was secondary to the task of using the form. This is where the Form Builder project comes in. Form Builder provides a single, universal interface for creating form structures.

Intended audience

This talk is intended for primarily for developers interested in developing using Form Builder. Users interested in user interface design and experience may also be interested.

Questions answered by this session

What is Form Builder?

How is it useful right now?

How can it be used for in the future?

How do I prepare for Form Builder?

How can I implement my own functionality using Form Builder?

Data Migration into Drupal

Presented by

update: slides posted to Slideshare

So, your client has seen the light and is tossing out their old CMS in favor of Drupal. Their existing content, in the form of square pegs, needs to fit into nice round Drupal objects.

Intended audience

Folks who need data moved into Drupal, or developers who are tasked with this challenge.

Questions answered by this session

How can I move my site to Drupal

How can I robustly migrate data into Drupal

How do I build an application on top of Drush

Developing with Drupal Commerce

Some of the earliest and most complex deployments of Drupal Commerce have been developed in Europe, including Eurocentres for global language course sales, SubHub for subscription management, and traditional physical product sales at augustes.com. These sites' developers have worked their way through the dark corners of the Commerce APIs and really blazed a trail through Drupal 7 site development in general, contributing patches and knowledge upstream to the project and community.

Join us for a panel discussion moderated by Ryan Szrama that explores the experience of these developers and Commerce Guys' own integration team to find out what it's like to develop with Drupal Commerce in preparation for your next big project. Questions will focus on building sites with complex requirements, integrating with third party services, and using Drupal Commerce in Europe.

Intended audience

Developers who need to know how to plan and deploy Drupal Commerce sites that integrate with a variety of e-commerce web services and / or require custom solutions based on the core Commerce components and systems.

Questions answered by this session

How does the core product pricing system work?

How can I customize the buying experience for non-physical product sales?

How should I best integrate with the payment and line item systems?

What should I keep in mind when quoting complex Drupal Commerce projects?

Where can I go for development support and how can I give back?

Entities - Emerging Patterns of Usage

Presented by

Entities are a powerful new abstraction introduced in Drupal 7 that can provide new ways to approach and resolve several often-encountered development problems. Questions remain though as to when and how entities can best be put to use.

We believe that to a large extent answers can be found by studying and comparing existing modules that make use of entities such as Commerce, Organic Groups, Message and Media as well as looking at the modules that enhance core entity functionality such as Entity and Relationship.

Intended audience

Drupal developers and Drupal architects that are considering how they could use entities in their own development projects.

Questions answered by this session

When and how should I use entities in my own project?

How are other modules using entities and what lessons can be learned from that?

What are the modules that can help me to develop with Entities and enhance their functionality?

Slick Data Sharding: How to Develop Scalable Data Applications With Drupal

Presented by

High-traffic websites that capture a lot of data from users often encounter performance problems when database input becomes a bottleneck. High volume user-submitted content (comments, ratings, form submissions, etc.) is typically stored in a single (master) database, and this creates problems not only for scale but also for replication and useful backups. It becomes important to be able to write these sorts of things to other secondary storage locations.

Intended audience

Developers looking to build large-volume sites who haven't built massive-scale sites before. Developers looking to build complex applications that need to integrate with Drupal, but won't necessarily need to be in Drupal.

Questions answered by this session

What is data sharding, and how does it apply to Drupal sites?

Why MongoDB and how can I use it?

How can I use a secondary MySQL database (or database cluster)?

But Drupal's APIs give me what functionality I need. How can I do all of this without reinventing the wheel?

Besides scale, what other advantages do these techniques have?

This Code Stinks!

Presented by

"Code smell" refers to hints and patterns within code that can be a tip off that something is wrong. Learning to recognize code smells is a critical skill in software engineering. If you can sniff out a bad code smell early, you can eliminate a bugs before they even happen. If not, you may find yourself needing to rip out large swaths of code (not to mention your hair) because you ran into a wall, muttering to yourself "I knew that was too hacky an approach..."

Intended audience

Developers that want to rewrite their code fewer times. Evaluators who want to pick the right modules the first time. Tech Leads and QA teams that want to know when to push back on code that is going to be a problem long-term.

Questions answered by this session

How can I recognize a problem before it becomes a problem?

If I spot a potential problem lurking, what do I do?

Just how pedantic should I be about good code when I have a deadline to meet?

What habits can I develop to write less stinky code?

What is a true unit test, and why does it help me?

Living, Breathing, Drupal: The Biology of the Request

Presented by

Taken in its simplest form, Drupal is a linear system that starts at line 1 of index.php and executes its code line-by-line until it outputs what a user asked for. What if we could visually explore that process to help us understand exactly how Drupal core actually works? Join webkenny and his zany cast of explorers as we take this journey together and learn the inner workings of the drop.

Intended audience

Existing Drupal developers who want to understand the system and graduate from roadie to rock star.

Questions answered by this session

What is the bootstrap? Laying the groundwork in index.php

What is the hook system and how does it work?

How does a preprocess preprocess its preprocessors? The theme system.

What is update.php and how does it "know" what to do?

Who cares? Using this information to build better sites.

Bridging the Gap Between Desktop and Mobile Publishing with Drupal

Presented by

While mobile websites are becoming a commodity, many developers still struggle with the task of connecting their Drupal sites with the mobile and tablet world. Thousands of desktop focused sites have been build in the past years, and many of them are now facing the challenge of adding a mobile strategy. The fact that Drupal is at this point primarily a desktop focused CMS, the technical solutions for adding this mobile layer are not always straightforward. The question can be asked if the Drupal CMS is holding us back or can we use Drupal to our advantage?

Intended audience

This session is targeted to Drupal architects and developers.

Questions answered by this session

What is a mobile strategy?

How to choose a mobile strategy?

How to use Drupal as a mobile CMS?

What functionality is provided by mobile tools?

Which challenges are ahead?

Platinum Sponsors