Drupal 8 Kickstart for Developers

Speaker: xpsusa
Audience: Intermediate
Track: Development & Performance

Presenting the essentials a developer should understand to dive into a Drupal 8 site and see where and how to integrate their custom module in Drupal 8. 

The Drupal 8 Kickstart presentation will be enhanced by screensharing phpStorm showing Drupal 8 concepts in use in an actual new custom Drupal 8 module on a locally-installed demo Drupal 8 site.

Developers with Drupal 7 experience will find that the discipline and organization they have gained from developing to Drupal 7 will benefit them as that knowledge is expanded to include Drupal 8 concepts.

When this presentation is complete the developer will have a mental roadmap of Drupal 8. Plus, they will have a solid perspective on what they may still need to dig into further so that they can promptly develop to Drupal 8.

Aimed at busy Drupal developers who need to catch up on Drupal 8.

Provides a look at these aspects of Drupal 8:
- Site directory structure
- Module structure
- .yml files
- How Symfony fits in
- Basic OOP: Traits, interfaces, abstract classes, classes
- Basic OOP: create, __construct 
- Dependency injection
- Services
- Bootstrap flow
- Events
- Routing and controllers
- CMI
- Hooks in Drupal 8
- Basic Twig
- Basic Composer
- Drupal 8 Console
- Drupal Module Upgrader
- Drupal 8 sample module
- Valuable changes to know: No more drush disable; No more vget, vset..    
- Drupal 8 <-> Drupal 7 visual map

The Mistakes I Live With and the Triumphs I Celebrate

Speaker: sbubaron
Audience: Beginner
Track: Site Building

There are a lot of choices and unknowns in setting up your first Drupal Site. Stony Brook University has embarked on its "Drupal Experiement" three years ago and has since grown to 20 Sites with 20 more in the pipeline. 

In this session we will discuss some of the choices we made early on that are haunting us today as well as the decisions we feel were big wins. 

Basel: a new approach to theming Drupal

Speaker: modulist
Audience: Intermediate
Track: Design, Theming, & Front-end Development

Over the past few years, it’s become ever more challenging to theme a Drupal site. You need more and more knowledge to be able to build a front end of a site.

This session examines some of today’s leading frameworks such as Bootstrap and Omega, and with special attention to their strengths and weaknesses. We'll also cover some of today's best practices for working with complex themes such as SASS, Compass, and Singularitygs.

In this session, I'll introduce Basel, a new parent theme that makes use of these best practices. It’s a complete rewrite of some of the most popular theming frameworks (such as Bootstrap), minus some of the bloat. Some if its features are:

  • Strong visual design
  • Built-in responsiveness
  • Built-in support for web fonts
  • Support for Drupal 7 and Drupal 8
  • A lightweight parent theme
  • Modular, SASS-based code
  • Centralized variables for fonts, colors, and measurements for novice users
  • Compatible with both Drupal 8 and Drupal 7

Like Drupal, Basel has a lightweight core parent theme with the potential for modules and customization through child themes. Even better, Basel has good design principles built into it from the ground up. It has a strong foundation in typography and visual design, which isn't common among theming frameworks.

 

 

Visual/CSS Regression Testing -- Catching the "unintended consequences" of modifying your theme

Speaker: lhridley
Audience: Intermediate
Track: Design, Theming, & Front-end Development

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

FOLLOWUP:  For those of you interested, here is a link to the test suite example I used in the demonstration:  https://gist.github.com/lhridley/b8dd4e5605b0e559b4dd

And since our sessions were running behind and we got cut off early, here is a link to the recording from Drupal MidCamp 2015, where the same presentation was made a few weeks earlier:  https://www.youtube.com/watch?t=2963&v=WtJwqqLdSkY

Life After Launch

Speaker: Roger Soper
Audience: All Attendees
Track: Site Building

An overview of what to expect once the frenzy of launch is over .  Now the balloons are gone, the streamers are a fond memory and likely so is your budget. What do you do now...

  • Planning for post launch
  • Designing for maintainability
  • The case for and against custom code
  • Dealing with security updates
  • Testing
  • Deploying bug fixes, feature requests and code updates
  • Knowing your team and your limitations

Welcome

Speaker: admin_fldc
Audience: All Attendees
Track: Non-Session

Join us for the official kick-off for our 7th annual camp!

Docker for Drupal Development

Speaker: bhosmer
Audience: All Attendees
Track: Development & Performance

You may have heard about Docker and some of the hype surrounding it. There is a reason it has caught on so quickly. I'll explain what it is, why you probably will want to use it and a little bit of the new way of thinking when you start using containers instead of your old MAMP, WAMP or even Vagrant machines. I'll demonstrate a local Drupal development environment that is portable from local all the way to production. This is the next evolution in easing developer overhead and making your systems administrator happy.

Baking Drupal: Static Site Generation from your Dynamic CMS

Speaker: brenk28
Audience: Intermediate
Track: Development & Performance

"Baking" is the term we used to describe the generation of static html files from Drupal. These files are what is then served to the public and content editors work within a private network. The Drupal static module was our mechanism for achieving this. The session is part exploration of the module and part case study.

The session will cover:

  • Reasons for wanting to "bake" your site.
  • Alternative implementations explored.
  • In-depth look at how the Drupal static module works.
  • Architectural considerations.
  • Challenges and issues faced.

Twig: Seeing the Forest for the Trees

Speaker: BLadwin
Audience: Intermediate
Track: Design, Theming, & Front-end Development

Drupal 8’s got a brand new shiny coat - built on solid principles, implementing current industry best practices, and flexible to boot - You’re going to love Twig. This session will prepare you with the skills to hit the ground running as a Drupal 8 themer. Drupal’s markup has been converted to Twig, cleaned up, and simplified by many of the community’s passionate contributors. What does all this mean for you, especially now that things have changed?

In this session we’ll take an in-depth look at what specific changes Twig brings to Drupal 8 and how they compare to existing methods in Drupal 7. This session is intended for both themers and developers; the latter gaining knowledge on how to adapt their existing code for Drupal 8. An understanding of PHP will be beneficial to everyone as there will be plenty of example code.

Session topics include:

  • A high-level overview of the changes to the theme system in Drupal 8
  • How theme functions have been deprecated in favor of markup templates
  • Some of the “goodies” that are possible now that we’re using Twig as our templating engine
  • Using theme hook suggestions to cut down on custom code
  • Phases of the theme system and where you can step in to alter things

Some takeaways:

  • recommend best practices around template logic
  • determining what is themeable output
  • how to leverage theme suggestions and reusable theme components
  • overriding and extending templates

Learn how you can create Conference or Event websites!

Speaker: mrconnerton
Audience: Beginner
Track: Site Building

Overview

Come learn how to create a website for a conference or other event! We will talk about registrations, paid tickets, sponsors, and more! How can I create such awesome websites? Using COD of course! COD, the Conference Organizing Distribution, has a long history in powering regional Drupal camps, summits and even DrupalCon. But COD is more than just a distribution for Drupal events. Recent work on COD has made it far more flexible and friendly, so that it can drive any events-oriented website from unconferences and regional meetups to large international conferences. In this session we will show you how COD makes event organization easier. We will also give you a peek under the hood to show you how it works and let you know how you can contribute to making COD even better.

Features of COD

  • Multiple Tickets / Registrations per event
  • Session Submission
  • Session Moderation
  • Session Voting
  • Drag & Drop Scheduling
  • Sponsorship Management
  • Unconference Ad-hoc Scheduling
  • Attendee Management
  • Event Administration
  • Multi-event
  • Paid Events / E-Commerc

Hands on with Drupal 8 site-building: Part 1

Speaker: socketwench
Audience: All Attendees
Track: Site Building

There's lots of exciting changes under the hood for Drupal 8. Symphony components, objects, plugins...but how does this all matter to site builders?

Join Tess Flynn for this two part hands-on lab on Drupal 8 core internals for site builders. You'll get your first taste of the 8.x, and relate it to all the huge changes you've been hearing about. After installation, we'll structure content with new field types in core. Then, we'll dive into the new Configuration Management system to export and migrate your custom structures and settings. We'll see how new "features" modules can be written with only a few clicks and a few lines of code (trust us, it's easy!). Then we'll see how Twig and the new theme layer affects site builders and theming decisions.

Who's afraid of D8? Not us.

Hands on with Drupal 8 site-building: Part 2

Speaker: socketwench
Audience: All Attendees
Track: Site Building

There's lots of exciting changes under the hood for Drupal 8. Symphony components, objects, plugins...but how does this all matter to site builders?

Join Tess Flynn for this two part hands-on lab on Drupal 8 core internals for site builders. You'll get your first taste of the 8.x, and relate it to all the huge changes you've been hearing about. After installation, we'll structure content with new field types in core. Then, we'll dive into the new Configuration Management system to export and migrate your custom structures and settings. We'll see how new "features" modules can be written with only a few clicks and a few lines of code (trust us, it's easy!). Then we'll see how Twig and the new theme layer affects site builders and theming decisions.

Who's afraid of D8? Not us.

No Code Content Migration

Speaker: Hector
Audience: Intermediate
Track: Site Building

This presentation will focus on a one-click approach to creating migrations in D7 from a CSV file without having to write any code. Specifically, it will cover these topics:

- Traditional "code approach": Loading content from a CSV file using Migrate 2.6+ in D7. (with custom migration modules for articles and pages)
- The no code content migration approach will be discussed using a new D7 module in the works: Contentin

The Contentin module dynamically registers a migration (in the Migration Dashboard) from CSV file. Currently, a new helper module called Contentout is being used to produce the hierarchical CSV file (preserves field:subfield, multi-value fields, provides indexing, etc.) that the Contentin module can use to register migrations.

The Contentin module is dependent on the Migrate 2.6+ module, but the Contentout module is not.  Presentation slides: http://www.slideshare.net/hectoriribarne/drupal-7-no-code-content-migration

 

 

Just the tip of the InfoSec-berg

Speaker: gadams, hlawrence2
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

This is a talk about penetration testing. This talk is more geared towards technical administators and business managers. This talk we'll discuss the different phases of a penetration test and the different types of penetration test. Additionally we'll cover tools and utilities you can use to help reduce your footprint.  

Wrapping views around your fingers - Part 1

Speaker: densolis
Audience: Intermediate
Track: Site Building

Tthis session is designed for both the beginner and intermediate site builders. Since Views is the second most popular Drupal project, I am sure that everyone is familiar with it. But, have you mastered all that stuff in “Advance” column? This sessions will explain:  

  • How to download your table views to a CSV file.
  • How to implement conditional fields and fixed text on a view.
  • How do you display field from other related entities in your view?
  • What is a contextual filter and how do you use it to your advantage?
  • The answer to these questions and more will be revealed during this session.

You can edit the on-line notes on google docs.

Drupal Beginner Track

Speaker: OStraining
Audience: Beginner
Track: Beginner Track

For the third year, Florida Drupalcamp is excited to announce OS Training, a professional training company, is presenting the Drupal 7 Beginner Track!

Headquartered in Atlanta, OS Training has teachers located across North America and England. The company is led by CEO and founder Steve Burge, author of Drupal 7 Explained: Your Step-by-Step Guide

Writing a Custom Migration Plugin for Drupal 8

Speaker: ultimike
Audience: Intermediate
Track: Development & Performance

Among the many improvements in Drupal 8 is the inclusion of a refactored Migrate module to handle updating sites from Drupal 6 and Drupal 7 to Drupal 8. While Drupal 8 also includes a refactored Drupal-to-Drupal data migration module (renamed "Migrate Drupal"), only core migrations are included (including Link, Email, Telephone, and core CCK fields). For the vast majority of contributed modules (and all custom modules), migration plugins will have to be developed by module maintainers. 

This session will provide a demonstration of the basic concepts of writing a Migrate plugin as well as a walk-through of a sample plugin.

Getting the Most Out of Panels

Audience: Beginner
Track: Site Building

By D-Raps & K-Totts

bit.ly/all-things-panels

This session will be an overview of the best practices and different ways to use the Panels module (and it’s sub-modules). We will cover all the features that Panels ships with, the different approaches you might take to using panels for your Drupal site, and other Panels add-on modules that can enhance Panels even further.

This will be targeted at folks who are familiar with general Drupal concepts but have not used Panels before, but even if you have used basic Panels you still might find some new ways to use Panels and other related goodies!

Overview of Topics we will (attempt to) cover:

  1. What is Panels, and why is it awesome?
  2. Ok, I want to use Panels! There are lots of options though, how do I know where to start?
    • GOOD: Panel nodes
    • BETTER: Panel Pages (with variants)
    • BEST: Panelized content types, with the option to panelize individual nodes
  3. Are there more Panels goodies I should know about?
    • Panels In-Place Editor
    • Mini-Panels
    • Panels Everywhere
    • Classy Panel Styles
    • Panels Theme Override

Syfy.com front-end architecture case study

Speaker: mherchel
Audience: Intermediate
Track: Design, Theming, & Front-end Development

The front-end requirements for modern websites are becoming increasingly complex. They need to be responsive, often have complex scroll interactions, involve many layers in their toolchains, and most of all they need to be fast on your desktop and on your phone. When Syfy.com hired Lullabot to redevelop their site, we were excited by the unique challenges it presented and pulled out all the stops in order to deliver a beautiful, super fast site with a front-end architecture that makes it easy to adapt to the future.

Through the use of various benchmarking and debugging tools and a deep understanding of how browsers render HTML, CSS, and JS, we were able to optimize the overall performance of the scroll interactions. This session will look at how your browser renders content and where the potential bottlenecks are, the tools available to track down performance issues, and most importantly how to solve those issues when you find them.

By the end of this session attendees will be able to:

  • Understand how browsers render HTML, CSS, and JavaScript, and how that affects performance
  • Use and understand various tools and techniques to optimize front-end performance, and complex scrolling interactions

Additional Resources

DOM

Render Tree & Layout:

Painting & Compositing

General

Drupal for Project Managers: What You Need to Know to Be Awesome

Speaker: robert.laszlo
Audience: Beginner
Track: Project Management and Consulting

Drupal Development is a specialty, so is Drupal Project Management. Whether you are a seasoned PM new to Drupal, or have just been volunteered to manage a project in your 'spare time,' what do you need to know about Drupal to help you manage projects more successfully?

This session will introduce you to:

  • basic application concepts
  • Drupal community fundamentals
  • basic Drupal terminology
  • methods for aligning your project plan with Drupal
  • development best practices
  • and more.

This session will be presented by Blink Reaction Program Manager Robert Laszlo.

Field Slideshow- Out of the Box Responsive Image Slideshow

Speaker: Jon Firebaugh
Audience: Beginner
Track: Site Building

Session will demonstrate ease of implementing Field Slideshow, integrating with colorbox, using image pager, or jcarousel pager (responsive), and using views to place slideshow in a block and create a gallery. Also will show some CSS to get the desired visual results. Demo will utilize an Omega 3.1 subtheme to show responsive aspects. I will also show how to implement a full screen width fluid slideshow in Omega as per: http://www.sunnymaysphotography.com

 

 

The Joy of 8.x

Speaker: phenaproxima
Audience: Intermediate
Track: Development & Performance

If you're a module author/maintainer, you're probably equal parts excited and scared by the imminent need to upgrade your code to Drupal 8. A whole lot has changed, and it's hard to know where to start. If that's you, then check this sesh, yo.

I'll go over how to upgrade a module from Drupal 7 to Drupal 8, guided by the Drupal Module Upgrader, and I'll do a module upgrade BEFORE YOUR VERY EYES! You can follow along with your own module, or just sit back and watch the magic. By the end of this session, you'll be able to get your modules running happily on Drupal 8 and you'll know everything you need to refactor your code on top of D8's modern, object-oriented APIs.

Weather.com: A Novel Presentation Framework

Speaker: mrjmd
Audience: Intermediate
Track: Development & Performance

Part of what makes Drupal a successful platform is the power it puts into the hands of editorial teams and product teams. That flexibility is what draws people to Drupal as a platform, and the work described here is an attempt to make the platform even more accessible.

The Presentation Framework built for the weather.com project facilitated rapid feature velocity while leveraging the skills of their teams at every level. Their front-end developer teams have the ability to implement extensions of the existing functionality without having to learn Drupal’s APIs, all within a highly structured platform that still enforces a consistent and stable system. Meanwhile their editorial teams can do the work they need to, creating and modifying not just content but layouts, all within a single interface.

This session will explore in detail the architecture of this system, how it was a good compromise for this use case from the burgeoning idea of a truly “headless” system, and how other developers can benefit from the lessons we learned during its implementation.

Rules: Duct Tape for Drupal

Speaker: liberatr
Audience: Intermediate
Track: Site Building

The Rules module - the duct tape of Drupal - use it to build new features and business logic. Rules can be immensely useful for Intranet websites, or sites with complicated sets of permissions and publishing workflows. It is also used by default in Drupal Commerce sites to manage taxes, discounts and payment types.

Not sure if you need Rules? Are you ...

  • a Site Builder, but not a coder?
  • a Drupal Commerce User?
  • starting or ending a sale on a certain Date?
  • an Organic Groups Admin?
  • sending E-Mail notifications from your site?
  • creating repeating Events?
  • creating Views Bulk Operations actions?
  • flagging Nodes as spam, based on user feedback?

This session will provide you with:

  • a formula you can apply to decide when to use rules
  • a system for asking the right questions before you create a rule
  • how to find examples of similar rules you can modify
  • modules that provide extra actions and conditions
  • rules that can be helpful in specialized sites, like commerce sites, event-driven sites or community sites

Slides: https://slides.com/ryanprice/rules-duct-tape-for-drupal

Using Slack and Bitbucket to work together while apart

Speaker: alexdmccabe
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

Is your company interested in telecommuting, but is yet to take the plunge? Are you already trying it out, but want to know more?

Mediacurrent is an almost entirely remote company - a handful work in the office in Alpharetta, Georgia, but the rest of us work across the country in four time zones, and in over a dozen states. Our main tools for accomplishing this? Slack, Bitbucket, and some unique cultural tweaks.

From inline gifs to automated replies to certain events, I'll talk about how we use these tools to communicate and collaborate from hundreds or even thousands of miles away.

Preventing Undocumented Network Admins

Speaker: gadams, hlawrence2
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

This is not a talk on SDLC, This is not a code talk. 

This is a talk about secure hosting architecture, processes of cyber security and making your life better by practicing good cyber security skills. 

10 Simple Rules for Making my Site Accessible

Speaker: helenasue
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

From the basic principle that the web should be great for everyone, Chris Albrecht and Helena Zubkow team up to present an informative accessibility demo that will rock your world. The goal of this session is to introduce developers to web accessibility – what it is, why it’s important, and how to build and test sites to make them as accessible as possible. 

This includes a demo of how to do things the right way and the wrong way, some great tools, and a walkthrough of basic standards for accessibility.

  • Intro - What is web accessibility?
  • Why does web accessibility matter?
  • Accessibility fundamentals (web accessibility in practice / code demo)
  • Web accessibility tools to assess and improve your projects
  • Q&A session

Developing Drupal+AngularJS Hybrid Apps

Speaker: Jitesh Doshi
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

Slides for this session are now available here

Drupal is great for content management (CMS), but slow for rich internet applications (RIA). This is where AngularJS shines really bright. Wouldn't it be great if you could marry the two and create RIA's that leverage Drupal's awesome CMS capabilities, users, roles, permission, analytics, views, display-suite, theming etc. combined with Angular's in-browser MVC. Add to that Angular's AJAX calling Drupal's RESTful JSON webservices (restws module) and you've got best of both worlds. And not to forget security, we'll make sure all AJAX requests are authenticated and authorized by Drupal.

In effect, what you have is an island of (AngularJS) application in an ocean of (Drupal) content.

This presentation will walk you through the process of creating an AngularJS app combined with a Drupal module that implements the above functionality.

  1. Injecting ng-app and ng-view into your Drupal pages.
  2. Importing angular.js and other JS / CSS libraries into your Drupal pages.
  3. Invoking Drupal's own RESTful services from the Angular app.
  4. Invoking externally developed RESTful services from the Angular app.
  5. Passing authentication token -- JWT (JSON Web Token) -- from Drupal to external RESTful backend, and validating it.
  6. Injecting ng-view to load routes and partials into your Drupal pages.
  7. Handling cross-origin AJAX request issues (CORS).
  8. Making your Angular app usable outside of Drupal.

Slides for this session are now available here

Wrapping views around your fingers - Part 2

Speaker: densolis
Audience: Intermediate
Track: Site Building

Part two of this session is also designed for both the beginner and intermediate site builders. Since Views is the second most popular Drupal project, I am sure that everyone is familiar with it. But, have you mastered all that stuff in “Advance” column?  This sessions will explain:

  • What does that “Use aggregation” field do?
  • How can I get totals on my reports using the Views Aggregator Plus module?
  • Have you ever wanted to have a view ask for the filters before it runs the query?
  • The answer to these questions and more will be revealed during this session.

What you don't realize is you are already an expert in aggregation! You work with aggreations multiple times a week.  It is part of your everyday life. You just don't know it. 

You can edit the online notes on google docs.

Making Support Thinkable, Possible, Profitable

Speaker: sukottokun
Audience: All Attendees
Track: Project Management and Consulting

After the site launches and the project is over, there are two paths: we can shake our client's hands, pat our own backs, and head our separate ways. Or we can continue to build the relationship - continue to be a part of our client's success. Strong long-term relationships benefit clients by providing trust and security, like a familiar mechanic or the barber we have had since we were a kid. As merchants, we also benefit. Happy clients mean referrals and recurring income.

But support is a different type of commitment, requiring a different strategy. A dev shop becomes a different type of service provider, and needs to prepare for great long term execution. This session will cover the why, how, and when of offering support, as well as exchange ideas about the many aspects: selling, marketing, staffing, delivering and monitoring support for Drupal.

Appealing to both the technical and non-technical, topics include:

  • Making the case for support: financially, realistically, & metaphysically
  • What kind of support to offer and how to set boundaries
  • Creating and delivering sustainable service products
  • How to bill and contract support with less risk
  • How to hire and retain a happy support staff
  • Workflow tactics and tools we love
  • Differentiating and selling your services, regardless of your shop size

Drupal & Government or: How the City of Tampa learned to stop worrying and love Drupal

Speaker: hotsaucedesign
Audience: Intermediate
Track: Project Management and Consulting

In August 2014, the City of Tampa government relaunched their public facing site in Drupal, with the help of Big Couch Media.

This session will cover the journey from taking a site with thousands of unique files and pages into one streamlined, easy to use, responsive governmental website. Areas we plan on discussing:

  • Background on the previous version of the City of Tampa's website and the challenges in migration
  • The architectural planning needed to ensure everything went to it's proper spot, especially amongst political and legal requirements unique to government
  • How we created a work flow for the 50+ daily content contributors to the site, while still allowing them optimal flexibility and control over their content and permissions
  • The tools used to handle proper scaling for a highly trafficked site like the City of Tampa's
  • Other unique challenges and quirks in such a large project, and tips & tricks we can recommend for others getting involved in building governmental sites.

Presenters include Adam Varn & John Studdard of Big Couch Media, Giovana Mancito from the City of Tampa and others from their staff.

Our audience is anyone looking to handle large scale migrations of sites into Drupal, those interested in the things Drupal can offer to governmental sites, and anyone interested in the architecturing of a site with specific restrictions.

Drupal 8 Migrate in Core Overview

Speaker: ultimike
Audience: Intermediate
Track: Development & Performance

The traditional built-in upgrade path between major versions of Drupal has never been very flexible or extensible. This all changes with Drupal 8 as the popular Migrate and Drupal-to-Drupal data migrations modules are in the process of been rewritten and included as part of Drupal 8 core. 

This session will provide an overview of the architecture, a demonstration of a sample migration, an update on the current progress, and some time for Q&A.

Curation in Drupal

Speaker: tannerd
Audience: All Attendees
Track: Site Building

A discussion of different techniques for curating content is long overdue in the Drupal community.

I have been on many Drupal projects that required a tremendous amount of curation by the editorial staff.  Views and Panels and Context and all sorts of things end up getting used here.  Nodequeues and custom code and all manner of techniques go into helping Drupal to become a curation tool instead of just a content management tool.

Requirements for curation projects can seem as if they vary widely from project to project, but by breaking the main components of curating web content down to a few basic principles, we find that curation is a problem we can solve for the entire Drupal community if we talk through the needs of curators.

Sometimes content managers, writers and curators are all the same person, but not always.  However, even in the case where they are the same person, I would argue that when a writer puts on their curator hat, they are doing a different job altogether.

I have worked on curation editorial systems using Drupal with organizations from Pharmacuetical companies like Novartis and Pfizer to media companies like Time Warner and Turner Broadcasting and even the US Federal government.  No two projects handle curation the same way and all of them have trouble keeping users of curation tools happy.

I would like to share my experiences with different methods of making content curatable in Drupal using different methods.  I would also like to propose a simple solution that is very rarely even proposed in most curation discussions.  In fact, I would argue that curation is not discussed enough in projects of all sizes when an editorial tool is planned.

I would like to discuss the following subjects with my fellow Florida Drupal Camp attendees.

  • Curation in Drupal out of the box
  • Views, Panels, Ctools and Context as curation tools
  • Basic Features of a good curation tool in Drupal
  • "The Tout Concept" and why it is important to content type and technical design
  • Previewing curation changes
  • Curation as content vs Curation as Config
  • Finally, I would like to discuss a new module called curation, that I have been working on with other community members that would provide a new toolset for providing curators what they need in Drupal with much less development and site building effort than currently required.

Sassersize! Intro to Sass for Drupal Themes

Speaker: aklepner
Audience: All Attendees
Track: Design, Theming, & Front-end Development

Take your CSS to the next level with Sass. In this session we will explore the fundementals of using Sass in Drupal Themes. Sass (Syntactically Awesome Stylesheets) has powerful features which allow you to write your code in less time with more flexibility and readability. More and more professional projects today incorporate Sass for its efficency and ability to streamline Drupal Themes. 

This session will includes

  • What is Sass?
  • Installing Sass
  • What is Compass
  • Installing Compass
  • Compiling Sass
  • Sass Syntax
  • Variables
  • Mixins
  • Off the Shelf Themes that use Sass

Farewell

Speaker: admin_fldc
Audience: All Attendees
Track: Non-Session

Final wrap-up to a long Drupal filled day. We'll also give you updated info on Florida Drupalcamp's After Party!

CTools Plugins Demystified

Speaker: vordude
Audience: Intermediate
Track: Development & Performance

In the world of CTools and Panels there's often a bunch of magic that happens in the shadows that does a lot to help you out without your knowing about it.

If you were to shed some light on the shadows and look into the world of CTools plugins, you might find another world of leverage where you can easily bend your content and business logic to your will.

We'll talk about the more basic ones, cotnet type and access plugins, and then delve inot the fun world of contexts and relationships. There will be code, and death-defying live demonstrations.

Hey, if you're going ot have to use Panels, you might as well like it at least a little bit, right?

 

Code examples: https://github.com/vordude/Florida-DrupalCamp-Ctools-Plugin-Demo

One Content Type to Rule Them All

Audience: Intermediate
Track: Site Building

The ability to create as many content types and fields as needed seems to be one of Drupal’s best characteristics. Got a special use case? Create a new content type! And another one, and another! Or add more fields! Unfortunately, that approach can lead to architecture that is rigid and confusing, especially for content editors and clients. Why not challenge that model and use a single content type?

This session is a case study of Any Page, our version of a single-content-type structure, that illustrates:

  • Why standard IA models lead to complex content type structures.
  • How to focus on content organization rather than content types.
  • What fields to include in a single-content type model.
  • How to use Entity Construction Kit to create reusable building blocks.
  • Why content editors love Inline Entity Forms.
  • Alternative models for tagging.
  • The life cycle of a page, or how an Announcement can become an Event, then change to a Resource Page.
  • Roadblocks, shortcomings, and how Any Page 2.0 will be different.

Gulpin’, Gruntin’, or none of the above: Front-end build process

Speaker: cwightrun, bollskis
Audience: Intermediate
Track: Design, Theming, & Front-end Development

Current front-end workflow benefits from the use of a few fresh technologies, white currently are not standardized. Drupal front-end development means familiarity with LESS, Sass and likely SMACSS. This is especially true as we move closer to a D8 release date. Both LESS and Sass need some form of compiling to produce browser-compatible CSS: GUI-based or command-line based.

There’s now a multitude of supported frameworks, mixin-libraries and preferred methods of integration. Today's chart-toppers include task runners like Grunt and Gulp, and Sass frameworks like Compass, Susy, and Singularity. Grunt and Gulp are both task runners with associated plugins; able to offer a plethora of tasks as by their communities. Compass, Susy and Singularity are all frameworks used to produce front-end layouts with reduced investment of effort. Compass also provides short-hand mixins for various CSS behaviors.

The front-enders at Chapter Three came together to discuss standardizing projects; a goal that had raised much contention in the past. We couldn’t agree on much outside of using Sass as our preprocessor and Susy as our layout framework. Susy’s flexibility is it’s primary strength. Instead of producing pre-set containers, it produces reusable grids on-demand. We felt other frameworks were too cumbersome and bloated. Lately the majority of our front-enders have been using Gulp to compile via the command-line due to it’s speed and community support.

We’ve also recently experienced a resurgence in commenting importance. It's more helpful than expected when handing-off projects to other developers, both in-house and out-of-house. Be informative, be verbose, be honest; even “todo” comments are helpful and reduce the barrier-to-entry to theme-development.

Since tools come with their own learning curves, we try to leverage Drupal for more of our build process. This lowers the barriers of entry for Drupal developers looking to crack into the build process landscape. Increasing the complexity of a project is bad for all parties, and using Drupal to power your build process removes unnecessary moving parts.

The slides for the session can be found here.

DIY High Performance Drupal Hosting with BOA

Speaker: mrconnerton
Audience: Intermediate
Track: Development & Performance

Overview

In this session we will learn about BOA, an all-in-one bash scripts to install and upgrade high performance Aegir Hosting Systems for Drupal, with Nginx, PHP-FPM, Zend OPcache, MariaDB and Redis. We will see how easy it is to get installed and launch a Drupal platform. BOA will give us the ability to launch separated "Octopus" environments that are self contained from each other, to keep sites and clients separated and secure. Within each environment we will learn how to manage different Drupal distributions and platforms. We will then learn how to create and manage the sites that run on those platforms. We will also learn how to leverage tools like CloudFlare, DataDogHQ, NewRelic, PagerDuty, Central Logging, and Digital Ocean / Linode for a stellar high performance web stack.

Features of BOA

  • Latest release of MariaDB 5.5 or 10.0 database server with Chive manager.
  • Latest version of Nginx web server.
  • PHP-FPM 5.6 - 5.3 - multi-install mode
  • PHP extensions: Zend OPcache, PHPRedis, UploadProgress, MailParse and ionCube.
  • Fast Redis Cache & Lock support with DB auto-failover
  • Fast proxy DNS server (pdnsd) with permanent caching.
  • Limited Shell, SFTP and FTPS separate accounts per Octopus instance and individual client access per site.
  • Drush access on command line in all shell accounts.
  • Support for New Relic monitoring with per Octopus instance.
  • Solr 4 cores can be added/updated/deleted via site level configuration.
  • HTTPS access with self-signed certificate for all hosted sites.
  • Magic Speed Booster cache, working like a Boost + AuthCache, but per user.
  • Entry level XSS built-in protection on the Nginx level.
  • Firewall csf/lfd integrated with Nginx abuse guard
  • PHP errors debugging, including WSOD, enabled on the fly on dev. aliases
  • Boost, AdvAgg, Domain Access and Drupal for Facebook built-in support.
  • Built-in collection of useful modules available in all platforms
  • Autonomous Maintenance & Auto-Healing scripts in /var/xdrago
  • Every 10 seconds uptime/self-healing local monitoring.
  • Automated, rotated daily backups for all databases in /data/disk/arch/sql
  • Compass Tools
  • SPDY Nginx support.
  • PFS (Perfect Forward Secrecy) support in Nginx.
  • HHVM support - see docs/HHVM.txt for details
  • MultiCore Apache Solr 1.4.1 with Jetty 7, Solr 3.6.2 with Jetty 8, or 4.2.0 with Jetty 8 or Jetty 9
  • Image Optimize toolkit binaries.
  • FFmpeg support.
  • Bind9 DNS server.
  • Webmin Control Panel.
  • SQL Buddy database manager.
  • Collectd server monitor.
  • LDAP Nginx support via third-party module (experimental).
  • MongoDB driver for PHP 5.3 (experimental).
  • GEOS extension for PHP 5.3 (experimental).

R.E.A.D: Four steps for selecting the right modules

Speaker: mikemiles86
Audience: All Attendees
Track: Site Building

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.

Presentation: bit.ly/fldcREAD

Slides: bit.ly/fldcREADslides

More about READ: bit.ly/drupalREAD

How we built the FLDC 2015 website without a distro

Speaker: jeppy64
Audience: Intermediate
Track: Site Building

This years FLDC 2015 website was built without the size, overhead and complexities of a distro. We're excited to show you the particulars, methods, reasons and everything else you'd need to build your own sites with this new approach to Drupal development. Why not have a Drupal site that is smaller than most cell phone apps, but runs complex sites with ease and elegance!! 

Come check out what you can accomplish when:

  • You stay close to Drupal core
  • Load only a handful of modules
  • Have a well documented data architecture
  • Have a desire to streamline, innovate and optimize
  • You are willing to change to new approaches at site building

All skill sets will benefit from this session!

How not to be a Git

Speaker: vendion
Audience: Intermediate
Track: Development & Performance

So you know the basics of Git, but there is so much more that just creating repositories, adding and committing changes, and pushing and pulling changes to remote repositories. Through this session I hope to teach you some tips and tricks as well as best practices to help you get the most of out Git and work better as a team.

In this session we will cover some of the following topics (and then some):

  • Working with branches
  • Squashing commits
  • Merging vs Rebase
  • Finding bugs and who introduced them

Who will gain the most from this session? Anyone will have something to take away from this session, but those that are writing modules, libraries, orthemeing Drupal sites will get the most out of this. Prerequisites For This Session You should know the basics of working with Git before attending this session. In this case Git basics is knowing how to use:

  • git init
  • git clone
  • git add
  • git commit
  • git fetch
  • git pull
  • git push

Link to the slides: http://goo.gl/2Cng6j

Drupal in the Age of Personalization

Speaker: Dave.Ingram
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

The web has become increasingly contextual over the past years. Organizations are leveraging more and more data sources and technologies to build unified profiles of their site visitors and deliver personalized experiences through the web, email, mobile devices and more. But where does Drupal fit into all of this? What are the parts of an organization wide solution that will unlock the vast potential of your data?

There are a lot of hard questions and the answer won't be the same for everyone. This presentation will survey the broad marketing technology and strategy landscape, and paint a picture of three strategies to leverage Drupal in the Age of Personalization.

Topics covered will include:

  • What it means to personalize
  • How to build a data centric organization
  • Leveraging CRM data
  • Leveraging Marketing Automation Data
  • Connecting Analytics
  • Lots of open source and SaaS products you should know about

A first look at Behavior Driven Development in Drupal with Behat

Speaker: aczietlow
Audience: Intermediate
Track: Development & Performance

As engineers and developers, we tend to be passionate about building something great, which Drupal is perfect for doing. We tend to put a high priority on the quality of what it is we’re building. The best way to ensure sustainable quality in what you build is through testing. While Drupal already uses some great tools for this (simpletest, php code sniffer, php unit) I like to talk about another option; Behat, and the Behavior Driven Development paradigm that it encourages. BDD will deliver a better product; something that developers and clients can both agree on.

No Fear Drush

Speaker: amcintosh
Audience: Beginner
Track: Development & Performance

Are you afraid of the command line/terminal? If so this session is for you! We will cover easy commands that will change your relationship with your site forever!! Such as:

Drush! Have no fear Drush is here!! Drush is nothing to be shy of. In fact it is a great tool that can help any beginner gain confidence and pass as a terminal whiz-kid. We will cover: How to properly install (drupal 8 compatible) Drush, back up our database, log into our site, install, delete and enable modules. Drush is like Batman...kind of scary but very helpful. 

Search API and Solr

Speaker: codej
Audience: Intermediate
Track: Development & Performance

Session Description
Heard good things about Search API but haven’t had time to set it up?
Want a tour of all the power and possibilities Search API can provide for your sites?
Search API module provides a powerful framework that lets you integrate your site with search backends likeApacheSolr and build out searchable interfaces of any Drupal entity with Views.
Want a fully searchable user directory, a faceted sitewidesearch, or search-based related content panes? These can all be built with Views.
I’ll walk you through setting up and introduce you to the tools at the beginning of the session. Then we’ll build Views with Search API, and add and configure facets with Facet API.
We’ll use drush to work with with the search index. Finally we’ll look at how you can improve search results relevancy and add custom fields to the index with a custom module.

Who Will Gain The Most From This Session?
Drupal site builders and developers who use Solr on Pantheon or Acquia hosting but do not have a local instance for development.
Drupal site builders and developers who currently use core search, Google search, or the Drupal ApacheSolr module (rather than Search API) for their projects. 
Anyone using Drupal core Search for their sites and is unhappy with the results.

Prerequisites For This Session 
You should have experience with Drupal 7 site building with Views and be comfortable at the command line.

Get It in Writing: Legal and Business Issues for Web Professionals

Speaker: punklawyer
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

From client agreements to employment agreements to software licenses, web professionals face a number of business and legal issues in the course of working in the field.  This talk will address common contractual provisions relevant to web professionals, such as provisions related to indemnification, intellectual property, moral rights, and venue.  Attendees will also learn best practices for understanding common contractual provisions in contracts for web professionals, as well as negotiating them.  From novices to veterans, this talk will touch on business and legal issues that are important to web professionals of all levels.