By: Raman
May 10 2018

Drupal 8 Distribution: Panopoly

If you have ever used Drupal core, you must know how barebone it is out-of-the-box. It can be overwhelming for an average internet user to understand all the Drupal terminologies like blocks, views, taxonomies, etc. And truth be told, Drupal core does not satisfy the requirements of an end user. Developers, site builders, and themers need to configure the Drupal site before a content editor can start adding content on their site.

Drupal 8 home page
Drupal 8 out-of-the-box

Therefore, the Drupal community provides various “distributions” for different purposes. These are nothing but Drupal core along with a set of modules, themes, and installation profiles, pre-configured to fit into a specific use case. One such distribution that we are going to have a look at today is Panopoly. 

Panopoly aims to hide all the complex Drupalism from an end user by providing the ability to edit the content and layout of the site right from the front-end without having the need to navigate through the admin menus. An important thing to understand here is that it is more of a “base distribution” which provides a framework to build distributions. Many popular distributions including Open Atrium, Open Academy, Open Restaurant, etc have been built on top of it.

Installing Panopoly

Installing Panopoly is very similar to installing Drupal core. Download the .tar.gz or the .zip file, extract it and place the folder into the root directory of your web server. Visit http://{host}/{drupal-directory} in your web browser and follow the installation steps.  

enabling demo content
Enabling demo content during installation of Panopoly

The installer allows us to add a bunch of demo content items on the Drupal site to test the layout. This can be easily removed later by disabling the Panopoly Demo module. Once the installation finishes, you can log in with the site admin credentials.

panopoly out-of-the-box with demo content
Panopoly out-of-the-box with demo content

Features of Panopoly

Since Panopoly is a base distribution, it is not the most feature-rich Drupal distribution. It focuses on simplifying the process for site builders by pre-configuring certain aspects of the site and provides a framework to build distributions on top of it. The distribution provides the following features:

  1. Panels IPE (In place editor)
    It uses the Panels IPE module to allow site builders to configure the layout and content editors to manage content right from the front-end. This provides a visual aid while customizing layouts with the help of live previews. Every page on the site can be customized with the help of the Panels IPE widget.
    selecting the layout
    Panels IPE – Customizing Layout and Managing Content on the fly
  2. Pre-configured CKEditor WYSIWYG
    Panopoly pre-configures the Drupal 8’s WYSIWYG editor, i.e. CKEditor. It configures the toolbar, allowed HTML tags and filters. This ensures that the content editor does not put any unsafe tags or unhealthy font styles.
    Default toolbar of CKEditor in Panopoly
    Default toolbar of CKEditor in Panopoly
  3. Improved content editing experience
    The distribution provides a redesigned node editing page. This includes slight improvements over the node editing options such as providing the current value right under the option, ease of adding taxonomies, etc.
    node editing options
    Node editing options – Drupal core vs. Panopoly
  4. Responsive layouts and image styles
    The Radix Layout provides 31 responsive layouts, i.e they adapt according to the display viewport. This combined with Panopoly’s responsive image styles ensures that the content adapts accordingly to any screen size and also saves the user’s bandwidth by providing the appropriately sized image.
    desktop version of a website - great websitemobile version of website - great vegetables
     
  5. Panopoly Core features
    Apart from the above-discussed features, it has a Panopoly core module. This includes slight improvements over Drupal core including custom date and time formats, an editor user role, a global taxonomy named ‘Categories’, etc.

How to use Panopoly as a Base distribution?

  1. To use Panopoly as a base distribution, you need to include the configurations, modules, and libraries into your custom distribution used by it. 
     
  2. Copy the profiles/panopoly/config, profiles/panopoly/libraries, and profiles/panopoly/modules directories into your profile. 
     
  3. Include the contents of profiles/panopoly/drupal-org.make into the makefile of your installer profile within the custom distribution. 
     
  4. Next, copy all the dependencies from profiles/panopoly/panopoly.info.yml into the .info.yml file of your installer profile. You may add more contributed or custom modules which need to be installed as a part of the distribution.
     
  5. Now you can configure the Drupal site as per requirements – define content types, taxonomies, custom image styles, views, users and permissions etc, export the configurations as .yml files using drush config-export and place them into the config/install directory of your profile along with Panopoly’s configuration files.

Conclusion

Panopoly is a base distribution that depends heavily on the Panels ecosystem. This distribution is an effort to remove the Drupalism from an average user and provide a framework to build distributions on top of it. Again, just a reminder, Panopoly is in alpha state for Drupal 8 hence it is not recommended to build real sites, but feel free to play around with it.