This week: The Drupal 8 Panopoly distribution // Drupal 8 has more and more features available practically every day. Alongside module migrations and new projects, the Drupal community’s latest major release also offers new ways of solving common problems. Some functionality has moved to Drupal core and new modules have taken up the torch along the way. In this series, the Acquia Developer Center is profiling useful solutions--modules, themes, distros, and more--available for Drupal 8.
I chatted with the maintainer of the Panopoly distro and co-founder of myDropWizard.com, David Snopek (dsnopek). He calls himself “a Drupal developer, consultant, and entrepreneur.” He contributes a lot to Drupal and its community: as a member of the Drupal Security Team, maintaining or co-maintaining “20-ish” projects on Drupal.org, and co-organizing Drupal414, the local Drupal meetup in Milwaukee, Wisconsin.
“Panopoly is a success story of the open source contribution long tail: lots of people giving what they can, when they can!”
What is Panopoly? What does it do?
And things got interesting right out of the gate ... :-)
Panopoly is at least three things:
- A collection of Features modules that you can use (individually or together) on any Drupal site
- A Drupal distribution made up of those same Features modules
- A parent distribution and toolkit for creating your own Drupal distributions
“Our goal with Panopoly is to improve Drupal's usability by removing “Drupal-isms” from the content editing experience, allowing users to edit in-place as much as possible (including and especially changing page layouts), and showing WYSIWYG experiences (ie. live preview) whereever it's feasible. It accomplishes this by combining the best of the Drupal contributed module eco-system with several modules from the Panels family.”
This usability concept seems to resonate with users; according to Drupal.org, there are about 12,000 sites running the Panopoly Core 1.x module (the Drupal 7 version).
Panopoly 2.x right after the default install with the demo data, with the Panels In-Place Editor open.
Why is Panopoly important to developers?
“Panopoly provides a framework for developers to create features for their users that they, the users, can customize in place. All pages are provided by Panels (as opposed to Views or custom controllers), and any feature created by a developer is exposed as a Block. This allows users to change the Block’s configuration, appearance and position within the layout--all in-place, and with live previews and a WYSIWYG experience.”
What value does Panopoly provide to site owners and businesses?
“Panopoly tries to hide Drupal-isms,” that many users find cryptic in the beginning, “from site admin and content creators. With Panopoly, you don't need to know what a content type, block, view or panel is in order to create content and perform basic management and customization tasks on your site. Instead, we try to use terminology and concepts that any internet literate person would know ... Of course, as the site builder or developer, you still need to know Drupal-isms in order to build things for your users, but once you hand the site over to them, they shouldn't need to.” :-)
What does the Drupal community gain from Panopoly?
“Panopoly is interesting from a community perspective, in that it's a sort of microcosm of Drupal itself. We have an idea of "Panopoly core" and consider very carefully what we put into it, making sure updates work, not breaking backwards compatibility, and getting security updates out promptly (we make them the same day or the day after any security advisory that affects code we include). In order to accelerate development, we have a large suite of Behat tests, including variations that will install the last 20-ish versions of Panopoly, run the update process, and then perform the tests on the result.” [jam said “sweet!” out loud at this point.]
“We have a pretty active community around Panopoly that helps get all this done. A lot of work is done by our contributors--THANK YOU! The co-maintainers provide review, guidance, and commit code. All of us, co-maintainers and contributors, present at Drupal events and organize sprints. In some cases, Panopoly is the first contact that people have with Drupal, so we occasionally get to act like Drupal ambassadors.”
“Because we use lots of Drupal contrib, a lot of our work also ends up spilling over into the modules we use (and to a lesser extent Drupal core). The testing we do of some of the contrib modules we use is more extensive than the upstream modules themselves have, so we're great at finding regressions.” ;-)
I thanked David and the Panopoly community for all their contributions, while he snuck in a final, “Hopefully, we're a positive influence in the Drupal community!” I think it’s fair to say so.
When was Panopoly created? What problem were you solving?
“Panopoly was created in 2012 (for Drupal 7) by Matt Cheney. Tom Kirkpatrick and I became co-maintainers in 2014.”
“Drupal has a persistent problem that it isn't really anything out-of-the-box. We say Drupal is a CMS, but after you install Drupal core (even Drupal 8), it doesn’t match everyone’s expectations of what a CMS should offer out-of-the-box. It’s kind of a blank slate. It needs to be molded into something. Drupal also some usability problems, in part because it doesn't pick a concrete audience for many of its features. It also suffers from the ‘there's 10 ways to solve the same problem, so everyone does it different’ syndrome.”
According to David, Panopoly tries to solve those problems:
- Panopoly combines common modules and best practices that many experienced Drupalistas are using anyway, so you aren't starting from zero.
- The Panopoly distribution is closer to a CMS out-of-the-box. It defines a single unified approach for layout and some other common features.
- We encourage the creation of child distributions built on Panopoly, to truly be a thing (ie. a university website, an intranet, a restaurant website, etc) with a concrete audience, and therefore usability built do get specific things done.
- Panopoly offers some standard user roles and a stronger idea of the type of person who would have those roles, including their level of Drupal knowledge.
- Panopoly has a strong focus on usability, WYSIWYG and "outside in" editorial experiences.
Has Drupal 8 changed Panopoly?
“We've been influenced by Drupal 8 for the entire D8 development cycle. In Panopoly 1.x for Drupal 7, we include modules and themes that are backported from Drupal 8, and include some features (like in-place editing) that also exist in Drupal 8 core but we do them a little differently.”
“Drupal 8 is great and includes many of the things that Panopoly, CTools and the Panels eco-system have had for a long, long time, like: more powerful blocks, variants, context, fieldable "content" blocks, etc. While the work has been on-going, this has been a great opportunity to consolidate the Panels eco-system, and (by leveraging new Drupal 8 APIs) move us out of our silo and provide more integration with core, and via core, hopefully more of contrib, too.”
Thanks for the help!
“Since Panopoly depends on lots of contributed modules, there really have been many independent efforts, including, for example, the effort to port Panels to Drupal 8. That was supported by many people and organizations, including (but not limited to) Pantheon and the Acquia Drupal 8 Module Acceleration Program.”
“My work on the pure Panopoly parts of that has been in my free time, and also support by clients who are interested in moving their Panopoly sites to Drupal 8. My Drupal consulting work is pretty much 100% based around helping people with Panopoly--usually helping to create or maintain a private distribution for use internally at an organization. This lets me frequently contribute features and bug fixes back to Panopoly in the course of that work. And to be honest, the main way that I find new consulting gigs these days is when people are building or looking to build a distribution based on Panopoly and need some assistance. Being co-maintainer of the project and active in the issue queue makes me an obvious "expert" to hire. Pretty much win-win.”
“The two other maintainers (Matt Cheney at Pantheon and Tom Kirkpatrick at System Seed) have their own motivations and ways to support their work on Panopoly. Also, Panopoly is a relatively active project, and it gets contributions from lots and lots of other people who also have their own clients, projects or other reasons to work on improving Panopoly.”
“Panopoly is a success story of the open source contribution long tail: lots of people giving what they can, when they can!”
More thank-yous
We can’t mention everyone who has contributed to Panopoly here, but thanks to all of you. Especially:
- The Drupal 8 SCOTCH Initiative
- Samuel Mortensen (Acquia)
- Kris Vanderwater (Acquia)
- Jakob Perry (Acquia)
- Acquia’s Module Acceleration Program
- Pantheon
- Matt Cheney (Pantheon)
- Tom Kirkpatrick, (SystemSeed)