MADCamp 2015

Introduction

Videos from MADCamp 2015.

Conference page
Video Sponsor(s) / Provided by
Curated Videos
Description
Speakers: farriss
Track: Business, Community
Audience: Beginner

Scratch-your-own-itch code contributions from individuals and organizations are essential to the success of any open source project. However, these tactical contributions need to sit within a strategic vision as the project scales and grows. As we’ve seen in the Drupal 8 development cycle, strategic initiatives can be difficult to execute within a largely volunteer-based, do-ocracy culture. Drupal Association Treasurer Tiffany Farriss will explore how other open source communities provide a strategic framework to their communities and how the Drupal Association could provide structural support to balance the needs of contributors and a successful project.
Conference
Description
Speakers: lauriii
Track: Drupal 8, Front End
Audience: Intermediate

We've all been hearing about the exciting new changes to Drupal 8. There will be fancy new template engine (Twig) and a simplified theme layer. This session will show in both practical examples & on a broader base why Drupal 8 will make all themers rock while theming Drupal.

In this session I will tell you:

• What has changed in theming
• Basics of Twig syntax
• What Drupal specific Twig functionalities we have
• How new theming layer helps theming
• Overview of the changes to the theme system in Drupal 8.
Conference
Description
Speakers: franksj
Track: Coding
Audience: Intermediate

Even a small amount of automated regression testing can help reduce risk of re-introducing defects or of new development affecting existing areas of the system. Learn how to create some simple workflow automation and automated regression testing on a Drupal site, and how to write and execute automated acceptance tests using Behat.
Conference
Description
Speakers: rymcveigh
Track: Coding,Front End
Audience: Beginner

Frontend development is becoming more critical as web development matures. As we grow our need for backend-like workflow tools increase. During our day-to-day site development in Drupal we all have to do repetitive tasks. Let's take the pain out of the process and focus on our actual work by learning how to utilize modern frontend automation tools.

In this talk, I plan on discussing various tools that help frontend developers stay consistent as they develop their drupal themes. I will focus primarily on gruntjs and bower, but will also briefly discuss Gulp.js, PhantomJS, PageSpeed, and CasperJS. I’ll show some small (pre-recorded) demos of the tools in action, and discuss how much you and your site will benefit from the use of these tools in your day-to-day work lives.
Conference
Description
...How Hackers Took Over My Site, What I Did About It, And How You Can Stay Safe

Speakers: MKorostoff
Track: Coding, DevOps, Other
Audience: Intermediate

This a comprehensive post-mortem of the Drupalgeddon SQL injection bug as experienced on one of my personal web sites. In this talk I'll explain in-depth how the SQL injection bug worked. I'll show the way real hackers used this vulnerability in the wild, and how you can defeat a similar attack on your website. I'll show how I recovered an infected site, and the new security measures I put in place as a result of this security breach. Finally, I'll argue that when all is said and done, this has been a good learning experience for our community, and things could have been a lot, lot worse.
Conference
Description
...Catching the "unintended consequences" of modifying your theme

Speakers: Lhridley
Track: Coding, Front End
Audience: Intermediate

Have you ever spent hours poring over a web application when making changes to the theme, looking for the consequences of CSS style rules that are too broad? Ever made changes to a client's website, only to find out the theming for the newly designed front page totally screwed up the formatting on the product pricing page -- after you deployed the changes?

You are not alone.

Manual testing of user interfaces for visual and style components is a tedious and time consuming process, and by very nature introduces the human error aspect to web application QA review. While tools such as Behat have made testing certain aspects of the user interface less tedious, and have removed some of the "human error" aspect from the process, Behat doesn't provide the capability of testing the "layout" of site changes for those unintended consequences of misapplied HTML, CSS or Javascript.

Enter PhantomCSS -- a framework for conducting automated visual regression testing for websites. In this session we'll cover:

• What is PhantomCSS?
• System Requirements for PhantomCSS
• Skillset Requirements to write test suites for PhantomCSS
• How can I use PhantomCSS to improve my QA process?
• Live demonstration of a PhantomCSS test suite, including a review of the output of test results
Conference
Description
Speakers: JessicaBMesh
Track: Business
Audience: Beginner

Don't forget to leave feedback! https://joind.in/talk/view/13828

You have been assigned a project, now what? Managing technical projects can be confusing if you don’t know where to start.

What exactly is a project and how do I keep it from running me instead of me running it? What’s this scope thing and why are people always talking about it ‘creeping’? Who are all these stakeholders and what do I do with them?

This session is designed to help answer those questions and discuss best practices when managing a project. During this session, we’ll cover:

• Project – what it is and how do I know when I am dealing with one?
• Scope – what it means and how do I keep them in check?
• Stakeholders – who the heck are they and why are they involved?
• Dependencies – how to identify and account for them?
• Schedule & Tools – where and how do I put this all together?
• At the end of this session, you won’t be ready for the PMP exam, but you’ll have some basic tools and strategies to tackle the projects within your organization.
Conference
Description
Speakers: drastik
Track: Coding, MADCamp (Alice in Wonderland)
Audience: Advanced

Explore a more stress-free approach to Drupal major version upgrades. We will discuss scripting your upgrade in a way that allows you to quickly re-run the process for multiple test passes.

• Prepare a backup ahead of time, or have one created on the fly as a part of the process.
• Automatically deploy a staging site at each upgrade junction, and allow for interval inspection.
• How to handle situations like abandoned modules, modules without an upgrade path, and other difficulties.
• Coordinating the testing, deployment, and training with your client.

(Spoiler: Heavy on bash & drush)
Conference
Description
Speakers: stevector
Track: Coding, Front End, Site Building
Audience: Intermediate

This presentation will review the mental models used in Drupal theming. For years, Drupal core has encouraged a mindset of altering and overriding its internal data structures. Developers in the Drupal 6 era created a philosophy called “sustainable theming” that relied heavily on CSS to work best with Core’s tendencies. The rapid acceleration in the wider Front-End community in recent years has brought new underlying assumptions and new ways of thinking. Expectations for how to construct Drupal sites have changed.

The given conditions and implications of four rendering philosophies will be examined:

• The Past: “Sustainable Theming” - Accept default Drupal markup as much as possible and use CSS to make the site look like the Photoshop design.
• The (past-ish) Present: Chasing "easy" / Losing "simple" - Make field formatters, Views plugins and other reusable components in addition to using overrides and preprocessing.
• The (future-ish) Present: Making the markup match - Responsive designs are done in static prototypes/style guides; make Drupal print the same design components.
• The Future: Clear decoupling - Javascript MVC frameworks, Web Components and some traditional HTML frameworks are encapsulated Front-End pieces that can work with multiple data providers. Connect them to Drupal.

Finally, the phrase "Headless Drupal" will come up at least a dozen times.
Conference
Description
Speakers: generalredneck
Track: Coding, DevOps
Audience: Intermediate

With Drupal 8 on it's way in, PHP's standard practice of using composer is working it's way into a Drupal developer's normal life. Jump ahead of the curve and start using Composer for your Drupal 7 projects with this complete demonstration of a composer workflow using the following packages.

• Drupal Packagist
• Drupal Tangler
• Drupal Library Installer

Demonstrations on the composer workflow will include some of the following examples

• Installation of core
• Installation of a new module or theme
• Installation of a library.
• "Patching" a module.
• Updating module / core versions

Join the efforts presented by the Drupal Composer team, and learn the advantages of using Composer with your project.
Conference
Description
Speakers: genjohnson
Track: Business
Audience: Beginner

Well-founded project management practices can help make sure that your team is working together, the client is happy, and the project is on track. Planning and executing a project can be in a job in itself, which is why many teams include a project manager. But not all teams have a project manager - perhaps you are a solo developer or work on a small team. This session will address managing projects from the perspective of a non-PM doing the project management work, the processes involved to get things done, and the tools used to support these processes.

This session embraces over five years of experience successfully planning and executing Drupal websites. For four years I wore many Drupal hats (site builder, developer, themer) and primarily worked on projects by myself; now I am the technical lead of two project teams with 4 members each. Our development team has grown rapidly in the last three years, from 2 members to 10 members, and our project management team has not been expanded to handle the increased workload. This disproportion had led to the technical lead often fulfilling the responsibilities of a project manager, as is the case for me.

We will cover factors that contribute to mismanaged projects and share steps to avoid them. Expect to come away from this session with some good tips and tricks for managing your next project, including:

• Getting to know your team, the stakeholders and the project
• Keeping track of evolving project requirements using project management software and a spreadsheet
• Documenting site building procedures and expectations with Google Docs
• Organizing tasks by category and milestone with task management software
• Following up meetings with a summary and action items (it can be as simple as an email!)
• Holding regularly-scheduled status meetings -- who to invite, what to cover, how to stay on topic

Throughout the session I will be showing the project management system ActiveCollab, but the techniques can be applied to other project management systems including BaseCamp, Trello, and Redmine.

This session will be beneficial for developers, site builders, and themers that are responsible for planning and executing projects and have little or no experience with project management.
Conference
Description
Speakers: mradcliffe
Track: Coding, Drupal 8, MADCamp (Alice in Wonderland)
Audience: Advanced

I was excited by the improvements and shininess in the Drupal 8, but I found the mysterious Typed Data API lurking beneath the surface. I jumped down the scarcely-documented hole over a year ago. I followed this white rabbit collecting the pieces of the API puzzle that I need for my module. I have not found the end.

But we are not lost and alone in 19th century Wonderland – We share what we find.

I will share how I leveraged Typed Data in the first 30 minutes with an emphasis on:

Web Services
Drupal 8 Plugins
PHPUnit tests

Finally I ask for others to share challenges and encourage others to share pieces of the puzzle they have collected.
Conference
Description
Speakers: fmitchell
Track: CodingFront End
Audience: Beginner

Build tools (Phing, Yeoman, Grunt, etc.) are all the rage, so let's use them with Drupal! This session explores how to build a Drupal site (and some other goodies) using Grunt, a Javascript task runner.

We'll discuss:

How to setup your repository to work with Grunt
Grunt syntax
What type of tasks can be automated with Grunt
What other tools can be added to your repository
Conference
Description
Speakers: dgorton
Track: Site Building
Audience: Beginner

This session is for people who are relatively new to Drupal and would like an orientation (or refresher) on the concepts, jargon and community involved in learning Drupal.

We’ll introduce All the Big Things at a basic level. Attendees will come away familiar with the Drupal landscape and with recommendations for specific sessions to attend to dive deeper into key concepts and particular topics.

Topics specifically covered include:

• Drupal from 50,000 Feet
• Drupal's Worldview
• Drupal's Terminology (Content types, Nodes, Views, Modules, Blocks, etc.)
• Brief Orientation to Drupal Core
• Brief Orientation to Drupal Add-ons (Modules, Themes, etc.)
• Common Workflows for Site Builders and Editors
• Brief Orientation to the Drupal Community
• Getting Help with Drupal

There will also be lots of time for Questions and Answers!
Conference
Description
Speakers: jmolivas
Track: Coding, Drupal 8
Audience: Intermediate

The Drupal Console is a suite of tools that you run on a command line interface (CLI) to generate boilerplate code and interact with a Drupal 8 installation.

Drupal Console is another cool addition to the Proudly Invented Elsewhere school of thought as it leverages the Symfony Console component to handle the CLI part.

The goal of this project is provide a tool easy to use for everyone, from developers currently using Drupal 8 and those who are planning to learn.

Drupal 8 is more technically advanced compared to its predecessor. Writing a module involves a lot of boilerplate code. There are also a lot of things you need to know and do just to get started building a new module. These things can be repetitive and tedious and can therefore create opportunities for errors. Fortunately, a lot of the new code can be generated automatically using Drupal Console.

During this session, attendees will learn:

• What is the Drupal Console?
• Why should you care about Drupal Console?
• How to install and use Drupal Console
• How to develop integrations for Drupal Console (custom commands for contrib modules)
• How to contribute to Drupal Console.
• How to use Drupal Console to learn Drupal 8.
Conference
Description
Speakers: mikemiles86
Track: CodingCommunitySite Building
Audience: Beginner

One of the most crucial and important steps in building any Drupal project is determing which modules to use. When you are reviewing your functionality needs you may ask yourself:

• Where and how can I find the modules I need?
• Will this module I found solve my functionality needs?
• Will I need to patch this module?
• Should I just write my own custom module?
• To quickly and correctly answer these questions, there are four simple steps you should • follow. It's as simple as learning how to R.E.A.D.

This session goes over the four steps of R.E.A.D, which can help you to quickly and correctly identify which module fits your functionality needs, if you should patch a contrib module or if you should write your own custom module.

This session will use real world examples of using the steps of R.E.A.D to make module decisions. We will also cover the basics and best practices of writing patches and custom modules and how to contribute them back to the Drupal community.

This session is geared towrds developer, site builders and functionality decision makers who consider themselves new to Drupal. This session can also prove to be beneficial to experienced drupalists who want to validate/improve habits they have developed.
Conference
Description
Welcome to the Drupal community!

By now, you've hopefully learned a ton of useful things, met some great people, and even gotten the T-shirt. This session is for people who are ready to drink the Kool-Aid, but have no clue where to start.

Why should you give back to Drupal?

The software project called Drupal would not exist without the members of its community, and like every community its members are encouraged to pitch in and make the community better in any way they can. These supporting activities extend way beyond coding the software, and individuals of all skillsets and levels of abilty are able to contribute.

In this session I will discuss many types of contributions (spoiler alert: nearly all positive participation provides a benefit) and how individuals, employees/freelancers, and business organizations and give back to the community that provides great, free software.
Conference
Description
Speakers: stephelhajj
Track: Community, MADCamp (Alice in Wonderland)
Audience: Beginner

Volunteer work is exhausting, time consuming, and many times, thankless. So why do we do it?

Sure, many companies encourage it, and some may even pay you for it, but odds are, if you're one of the many volunteers I've worked with over the past 10 years, you do it because you like it. You have a passion for the work, or for the mission, or simply because you like giving back.

How can you, as an event leader (a volunteer yourself perhaps) tap into that same motivation and use it to recruit and retain your own dedicated team of volunteers?

I'll tell you.

---

The Mad Hatter: Have I gone mad? Alice: I'm afraid so. ...But I'll tell you a secret. All the best people are.
Conference
Description
Speakers: socketwench
Track: Coding, Drupal 8
Audience: Intermediate

We've all heard about the big changes coming in Drupal 8. And if you maintain a module, you're wondering just how complicated it's going to be to update. Is now even the right time to update? Example modules like Pants can help, but what does a "real" module look like on Drupal 8?

In this session, we'll discuss the tasks, challenges, and choices that you'll encounter when porting your module to Drupal 8. You'll get a broad understanding of the porting process as we touch many of Drupal 8's new and updated APIs. You'll see how Flag module was rebuilt and redesigned to work using 8's updated Entity system, use of plugins to provide for further expandability, and other tips and tricks you can use!

This session will be technical and assumes you are familiar with Drupal 7 development concepts and have a high level understanding of object oriented programming.
Conference
Description
Speakers: Mile23
Track: CodingDrupal 8
Audience: Intermediate

This will be a live demo of writing a unit test for an existing class method in Drupal, using the PHPUnit framework.

There will be a general overview of test philosophy, and then the single most exciting thing you'll have ever seen: Live coding a unit test!

Since the time I proposed this talk, its focus has changed to being an overview of maintainability of legacy code. I'll pontificate about metrics and methodology for maximal reduction of terror with code from another time.

Topics we'll cover:

• What metrics are available for understanding code quality?
• What processes can we use to stay on top of the Code That Ate Pittsburgh?
• What's a unit and why would you test it?
• What can I learn from a coverage report?
• What's an expectation?
• Do I really need to mock everything?

To follow along you'll need some kind of code editor and PHP, or you could just watch.

This is an intermediate PHP-based session. We'll be working on Drupal 8 code, but the techniques and strategies apply to any PHP development process.
Conference
Description
Speakers: Ashleigh Thevenet
Track: Business
Audience: Beginner

Distributed teams are becoming more commonplace. As far as organizational structures go, this certainly has its advantages and disadvantages. On the one hand it's great to get to work in your pajamas, but on the other hand, it can be hard to work together and manage a team without valuable face time. When you work as a consultancy, time is literally money; so, it's important to schedule your team so they log enough hours to meet your billable targets. In this session, we will discuss tools and pointers for motivating your remote team and getting the most out of their time.

Have you thought about letting your team members work remotely but aren't quite ready to take that leap of faith? Hopefully this session will help persuade you that with the right checks and balances you can have a very productive team without bringing everyone into an office.

Maybe you don't have a choice, your team works from a communal office and it's going to stay that way. That's okay - optimal time management is important for any team, this session will have some good pointers for you, too!
Conference
Description
Speakers: sreynen
Track: Coding, Drupal 8, Site Building
Audience: Intermediate

Drupal 8 drastically improves the way Drupal manages configuration. But it won’t necessarily improve the way we work with configuration in Drupal. Improving our configuration process requires us to rethink our approach to building Drupal sites. This session will guide you through that rethinking.

I'll help you forget everything you thought you knew about how configuration works in Drupal. You'll see a version-controlled build without Features, a Drupal without a browser, and other fantastical creatures. Then we’ll look into a crystal ball and see a future Drupal where configuration works exactly how we want it to. And finally, we'll pull back the curtain and see how much of that ideal Drupal is already available, even in Drupal 7.

You’ll leave excited about how Drupal 8 improves configuration, and even more excited about how you can improve your own Drupal configuration process today.
Conference
Description
Speakers: jenlampton
Track: Coding, Community
Audience: Beginner

PHP runs more than 80% of the internet. It's winning because it can do everything. PHP is used as a replacement for Perl scripts, a lightweight template engine, and a dynamic content generator. PHP is a full-featured programming language complete with Object-Oriented code and modern design patterns. From Personal Home page to PHP Hypertext Preprocessor, PHP is for everyone.
Conference
Description
Speakers: Schnitzel
Track: Site Building
Audience: Intermediate

Drupal Multilingual can be a minefield. Translation need to happen not only in nodes, your users also expect to have a translated registration page, translated mails, menues, terms and many more things. No single module fixes it all and there are a lot of approaches to fully translate a Drupal website. Some of them work, some of them don't.

I'm building Drupal multilingual sites since Drupal 5 and continue doing that with Drupal 6 and 7. Being part of the Drupal 8 Multilingual Initiative I'm trying to bring in my knowledge to make Drupal 8 the best multilingual CSM in the world.

This presentation will present common multilingual pitfalls in Drupal 7, how to prevent them now and also how to prepare yourself for the future! How we are approaching multilingual projects, also in close work with customers which need to provide the content and translations.
Conference
Description
Speakers: bneil
Track: Coding
Audience: Intermediate

Ever want to build accordions, maps, callouts or other custom content for your WYSIWYG? With CKEditor 4 - now you can - easier than ever!

This session will focus on one of the cool new features of CKEditor 4: the widget plugin. Widgets are immutable objects you define to help your editors create rich content yet have the flexibility to move around, edit or style without having to edit the source or apply classes manually. Widgets can have multiple components but are treated as one "entity" which make them a powerful tool for building complex content that is simple for editors to maintain.

We will focus on building and discovering CKEditor plugins that you can use in your Drupal 7 projects today, but the knowledge will be easily transferable to Drupal 8, as CKEditor 4 is the default WYSIWYG.
Conference
Description
Speakers: gdemet
Track: Business
Audience: Intermediate

Large, complex Web projects often have many different moving parts and are overseen by diverse groups of stakeholders with competing goals and motivations. Whether you’re someone who develops Web solutions for other people or are part of an in-house team, success in these situations requires discipline, understanding, and empathy, which are also values frequently explored in children’s literature. In this non-technical session, we’ll take a look at what classic books like "Amelia Bedelia" and "Mike Mulligan and His Steam Shovel” have to teach us about how to manage Web projects. We’ll cover topics that include managing stakeholders, positive negotiation techniques, and keeping budget, timeline, and scope on track.
Conference
Description
Presented by David Snopek at MidCamp Chicago, March 29, 2014. Visit http://2014.midcamp.org
Conference
Description
I created this video with the YouTube Video Editor (http://www.youtube.com/editor)
Conference
Description
Speakers: yjk, TwoMice, drastik
Track: Community, Other
Audience: Beginner

Non-profit organizations (NPOs) face several organizational, budgetary and technological challenges that are significantly different than most other “normal” businesses. NPOs generally use a plethora of different online tools, some of which are free for non-profits, to collect, nurture and develop donor relationships with their constituent base, which inevitably leads to data sprawl.

Drupal has the potential to consolidate many different aspects of a non-profit’s online presence while also enabling the consolidation of many fractured data silos into a unified system that allows for a comprehensive 360-degree view of donors.

We’ll cover how to plan, budget and manage for a successful consolidation project from start to finish, and how to best tackle the complex data migration from many different “live” systems into the final deployed consolidated system.
Conference
Description
Speakers: alimac
Track: Coding
Audience: Beginner

Git is a way to document changes to code or text (or code and text). It also makes it easy to explain the changes and possible to back out of them. Git can be used by solo developers or teams. It can be used to track a code project, or a novel. There is more than one git workflow, choose the one that works for you. We will talk about:

The goals of version control
• Setting up your git preferences (per repository, or global)
• Creating a repository (or removing a respository from a directory)
• The three sidekicks: status, log, and diff
• Backing out of things
• Branches
• Methods of merging work
• Resources for learning git
Conference
Description
Speakers: froboy
Track: Site Building
Audience: Intermediate

Migrating from your old site can be a daunting task. Whether it's Drupal 6 or something else entirely, getting data out of it and into your new D7 or D8 site is no small feat. In this session, we'll review two methods you can use to export, massage, and import your data, with exactly ZERO lines of custom code. Many said it was impossible, I'll prove them wrong.

Modules included:

• Migrate
• Migrate_d2d
• Feeds
• Feeds Tamper
Conference
Description
Speakers: KellyT
Track: Business
Audience: Beginner

As members of the Drupal community, we're already comfortable with Drupal, but not everyone is -- specifically, sometimes our clients are scared of it. This talk will explore the different fears that clients might have about Drupal and how to address them -- because a comfortable client makes any project go smoother. Attendees will leave with specific strategies to help them get past this often invisible but very real project hurdle.
Conference
Description
Speakers: guschilds
Track: Coding, MADCamp (Alice in Wonderland), Site Building
Audience: Intermediate

The Features module plays a significant role in most Drupal projects. As a codebase grows in size, the organization of its custom features is crucial. The wrong approach can create a spiderweb of conflicts that wastes hours of precious development time. The right approach builds a well-organized, modular codebase that is much easier to maintain.

Features that are easy to maintain? It's true. They exist. Using Features doesn't have to be a nightmare. Learning how large projects use Features will benefit projects of any size and team members in just about any role. Implementing these best practices, tips, and tricks will leave you with more time to meditate but less need to do so!

This session will cover:

• organizing features the right way and the benefits of doing so
• common organization approaches to avoid at all costs
• turning custom modules into features and using custom code in features
• handy development and deployment environment feature ideas
• general best practices and naming conventions
Conference
Description
Speakers: JessicaParrisWestbrook, j.duran, atrowbri
Track: Community
Audience: Beginner

What happens when educators want to make an opensource textbook?

In 2012 we were awarded a highly competitive Rhizome commission (through rhizome.org) to design and develop an open source textbook/toolkit. We knew we needed to seek out a dynamic scalable platform that could support our ambitious plans. Individually we all had deep experience with web development, but we had not spent much time with Drupal. While it seemed the natural choice (based on functionality, documentation, and community) we had a lot to learn. In the end we merged Blocks, Views with a great deal of custom code, while radically altering the future of textbooks. During this talk, we will discuss our outsider views on Drupal, our sins against "the Drupal way," and the process of building a complex Drupal site for people who are not Drupal developers.
Conference
Description
Speakers: krisahil
Track: Site Building
Audience: Intermediate

Learn to harness the power of Panels ecosystem to architect easy-to-maintain and powerful web sites. I'll show how to use Panels to control every part of the page, thus avoiding Display Suite, Context, and core Block module (for placing blocks). I'll give tips to site-builders for when to use Panels vs. Display Suite/Context.

Specific topics:

• Panels Everywhere: Control the non-content regions of the pages. Use variants for custom landing pages.
• Page Manager: Easily create new pages that use existing layouts.
• Panelizer: Give editors per-node and per-View mode layout control. Very powerful if used correctly; confusing if not.
• Layouts: Create new layouts with minimal template files and code.
• Mini panels: Nest layouts for custom pages.
Conference
Description
Speakers: gadaniels72
Track: Site Building
Audience: Beginner

Views is one of those modules that most site builders will have to use eventually. As a relative newcomer to Drupal, I’ve found myself doing things in ways that are often harder than they have to be or finding the basic Views module lacking. In this session, I’ll share walk through some of the features of views, some pitfalls and issues I’ve encountered, and highlight some additional modules that extend and improve Views. This session will be focused on Views in Drupal 7.
Conference
Description
Speakers: Crell
Track: Coding
Audience: Intermediate

Silex: It's the biggest microframework you'll ever use. Or maybe the most lightweight framework you'll ever use. Or it's just Symfony Junior. So what is it?

Silex is, simply, a ready-made request/response pipeline built on the Symfony components, ready for you to build... whatever. Unlike fullstack frameworks it doesn't imply a certain model or approach, and lets you define your own architecture, for better or worse.

In this session we will, before your very eyes, build up a small but functional Silex application from nothing but a composer.json file to a fully capable REST service. Along the way we'll show how to keep you system decoupled and testable, without falling into the "anonymous callbacks are so easy; wait, now I can't test anything" trap. And best of all, it will offer a direction for people who want to do more than "hello world" but don't know where to start without the pre-build scaffolding that a fullstack framework would provide.
Conference
Description
Speakers: adamwhite
Track: CodingSite Building
Audience: Intermediate

You've built a nice selection of websites with Drupal, but as your reputation increases so do client demands. Soon the things you used to do in the UI are requiring more and more custom module development. You want to build all the things, but you're worried your forays into custom code are leading you from The Drupal Way.

I've been down that road, and here's what I wish I knew three years ago. You can implement wierd and wonderful custom solutions while still playing nice with Drupal 7's Entity conventions and writing maintainable code. In this session we'll introduce site builders who are famiiar with Drupal, Views and writing basic modules to tools like Entity Metadata Wrappers and EntityFieldQuery. We'll also take a quick look at how we'll be doing these things in the future with Drupal 8.

If you're a site builder and finding that your projects are requiring ever-more custom code, and you're not entirely confident that you're not a writing scary, unmaintainable Drupal array mess, this is the place to be.
Conference
Description
Speakers: stpaultim
Track: Community
Audience: Beginner

The confused and frustrated Drupal developer often turns to the documentation on Drupal.org for clarity and insight only to find out-dated content, incorrect information, or gaping holes of unexplained or underexplained modules. After hours of experimentation, consulting with colleagues, and dozens of internet searches - the student becomes the master and the “edit” button beckons.

In an open source community we are all responsible for documentation and are encouraged to “use the edit button” when we see errors or have additional information to contribute. However, what to write, where to put it, and uncertainties about style and quality often inhibit our transformation from passive users to active contributors/editors of Drupal documentation. Its sometimes hard to figure out where one should start.This session will:

1. Outline the current structure of Drupal documentation and how it’s organized (or sometimes disorganized)
2. Point you to valuable resources for documentation contributors/editors and the best places to ask questions about documentation
3. Offer great ideas on how you can help improve Drupal documentation
4. Answer your questions about documentation and contributing to documentation
5. Provide tips on how to write good documentation - and offer advice on how best to use your specific skills to improve documentation (not everyone is a writer)
6. Encourage more people to take an active role in improving the documentation on Drupal.org
Conference
Description
Speakers: jnettik
Track: Front End, Site Building
Audience: Beginner

Images have always been an especially tricky item in responsive designs. They need to look good in a variety of screen sizes, screen resolutions and minimally impact performance. HTML5 has solved that problem with the new picture element, but how do we use that in Drupal? Even trickier, how do we still maintain the level of control and consistency both clients and designers expect from Drupal?

In this session we’ll discuss responsive images. We’ll talk use cases, basic syntax, browser support, and generally marvel at their awesomeness. We’ll also look at Drupal modules that allow you to start using them in your projects now.
Conference
Description
Speakers: stevector, mglaman, rtraviss, aCyborg, nLn54rkhGdpVQr6
Track: Coding, Front End, MADCamp (Alice in Wonderland)
Audience: Intermediate

If you want to chop off Drupal’s head you must first determine where the neck is. That can be more difficult than playing croquet with a flamingo.

Join a lively panel discussion about the varied techniques used to implement the “headless Drupal” concept. Panel members will each bring a unique perspective on the challenges of meeting the Red Queen’s demand of “Off with Drupal’s head!”

• Raphael Traviss, a contributor to the RESTful module, will speak from his experience with that module in combination with Backbone and other front end tools.
• Matt Glaman has written Angular apps (contribkanban.com and the Chrome extension Drupal Issue Tracking) that read from drupal.org’s relatively new read-only REST API (https://www.drupal.org/api)
• Beth is a Drupal developer who has used Views to structure feeds of data to be sent to non-Drupal systems.
• Ashley Cyborski is a designer who writes prototype and style guide markup outside of Drupal to then be connected to Drupal sites.
• Steve Persch, a senior engineer and team lead at Palantir, will moderate the discussion and encourage audience questions.
Conference

Drupal is a registered trademark of Dries Buytaert.