Nestled in the mountains of Western North Carolina is a small but dedicated community of Drupalers, and on August 14-15th they put on the 5th annual Drupal Camp Asheville. Mediacurrent had a strong showing at the camp with two of our employees, Matt Davis and Stuart Broz, helping to organize the event, and several others joining to speak and learn as well. What follows are some takeaways from those of us who were there.
FRIDAY: A DAY OF DRUPAL TRAINING
The camp kicked off on Friday with a training day. The morning session focused on an introduction to Drupal through basic Drupal concepts. Attendees included people entirely new to web development, seasoned web developers who were new to Drupal, and even people who had been trying to learn Drupal on their own but felt that they were missing something. In the afternoon, we responded to these different needs by splitting up into more topical groups led by different members of Asheville’s Drupal community. This included a group focusing on site-building, a group focused on the basics of development for Drupal, and topical groups for attendees in education, nonprofits, and government.
SATURDAY: SESSION HIGHLIGHTS
Decoupled Drupal with Meteor -- presented by Mark Shropshire
This presentation started off by noting the use of the term “decoupled” as opposed to “headless” that has become widely used. For those not familiar, you might choose this approach to present data from a Drupal back-end in a way that would be difficult with Drupal’s theme layer, or to assist a front-end team who isn’t familiar with Drupal theming.
It’s a good term because most architectures are not entirely headless, nor entirely stock Drupal. A decoupled setup falls somewhere in between. A combination of frameworks such as AngularJS, a mobile app, or something custom can be used together to create the desired experience for the end user.
If you’d like to explore Meteor.js in your own decoupled Drupal architecture, note that Shrop and the guys at Classic Graphics wrote a pretty compelling tool called Drupal DDP. It turns the standard decoupled architecture on its head (hahaha) by replacing REST endpoints with the socket communication protocol that Meteor.js expects. It simplifies some things but may not work for all decoupled implementations.
On the Drupal side, you configure which content to send over the fence. Then, on content create, update, and delete, the Drupal DDP Node.js server automatically pushes to your Meteor server. That’s right, this means you have two copies of all your data: In your Drupal database and in Meteor’s MongoDB implementation. This, of course, has both benefits (redundant data; if Drupal dies, your website lives!) and drawbacks (duplicate data, sync issues, etc.). It also means that when designing your front end, you stay entirely within the Meteor.js world and don’t have to worry about external data endpoints.
Panels Everywhere -- presented by Josh Miller
We are big fans of the benefits of using Panels for both backend and frontend development. However, defining panels using Page Manager restricts you to overriding only certain sections of your layout, and only with built-in or custom pages that you designate.
Panels everywhere aims to be a complete replacement for the rest of the layout, letting you use panels to define all regions of a page. It does away with having to manage blocks and context, and instead use Panels and Page Manager to handle everything.
Near the end of the session, everyone was picking the presenter’s brain for different ways to use panels and different modules that performed similar functionality. We decided to introduce him to the Mediacurrent-sponsored module Classy Panel Styles and he was instantly a fan.
Make the Most of Modern PHP in Drupal Today -- presented by Ryan Szrama
Ryan Szrama gave a nice talk about how he dove deeper into the newer versions of PHP, which ultimately helped his understanding of Symfony and Drupal 8. A good portion of his talk was based on the wonderful resource, http://www.phptherightway.com. He talked about having to install Silex and how to properly use Composer as an install tool for PHP and Drupal contributed modules. He also advocated “getting off the island” and building things that could be used by the PHP community outside of the Drupal community.
How to Wield the Hammer of the Gods (For Free!): Using Pantheon to Kick-Start Your Next Drupal Project -- presented by Michael Wojcik
It is impressive that Pantheon has such a good following that someone who does not work for them will do a panel just to show how he is spearheading the use of the hosting service at his place of employment. It was interesting that he uses the dev environment of Pantheon as his ‘local’ build. This involves using SSH and a constant internet, which counters the true nature of ‘local’, however when you’re working at a University, you tend to have a good connection at all times. Kudos to him for loving a product and promoting it. If only there was a Pantheon camp.
This year’s schedule included, as always, many intriguing and advanced session topics about just how far you can push Drupal and the technologies that surround it. However, camp organizers almost made a concerted effort this year to offer a broad range of beginner-focused sessions not just on the training day but on the main camp day as well. Sessions like Intro to Views, Intro to Theming, Beginner Q&A, and more, the hope was that by giving beginners more opportunities to ask questions and learn from experienced developers we can help foster relationships that will continue to grow our local and regional Drupal communities.
Asheville is a unique town and its Drupal camp is like no other, from the impromptu float trip some of us took down the French Broad river to the after party that ended at the singularly weird Crow and Quill bar downtown. Overall we had a lot of fun, and we shared and gained some knowledge with our peers, which is what the Drupal community is all about. We can’t wait for next year!