Introduction to Panopoly History of Panels
as Content Panopoly Apps Framework Why you should use it How to get started Panels for site builders Panels as content The who and the why Panels was originally built as a tool for site builders. Think of Panels as lego blocks for site content. http://drupal.org/project/panels Panels as a site building tool comes in two flavors Pages Mini panels Historically pages have been the core of the Panels system. Panels pages are linked to a URL and have variants created that are triggered by selection rules. Panels pages are very flexible
but can be difficult to use for non experienced Panels users
and are not suited to editorial staff. Pages
Mini Panels Panels pages are registered to a new or existing site path (using the pm_existing_pages module). http://drupal.org/project/pm_existing_pages Variants
are triggered by
selection rules. Selection rules are just configurable conditions. Layouts are reusable templates that can be applied to any Panels display. Layouts contain regions that can
contain content panes. This is an example of a popup to add an image content pane (created as an entity). Mini panels are created as blocks and can be embedded on any other Panel display,
even other mini panels. They lack some of the features of Panels pages
but can be a handy tool for site builders. Mini panels are not enabled on Panopoly by default. Mini panels have very basic identifying information,
such as administrative title, machine name, description, and category (which groups them in Panels tabs). Layouts are selected much like
layouts in Panels pages. Mini panels are added and managed from a central administration screen.
They are part of the core Panels module suite. Panels content is managed pretty much the same as Panels pages. Previewing of panes on the add pane form is a more recent development in the Panels system. In the old days using Panels as content was not something that was advocated. Earl Miles (merlinofchaos)
was against the use of Panels as nodes
so development focus was lacking. Panels nodes In the beginning Earl created Panels nodes
and it was good (enough). Panelizer In early 2011 Panelizer was born
to address the issues and limitations of the older Panels nodes system. The panels nodes module (bundled with Panels): Created a single node type called Panel
Had a single context of the actual Panel node
Allowed you to change layout and place content
Had less features than pages and mini panels
Was a good but limiting start
Is now being depreciated so don't use it! Panels nodes had some drawbacks, because it only worked on one node type (Panel), only had one context, and did not fit in with the whole "Panels is for site builders" philosophy. It was meant to create a node based landing page, which page manager could do better. One big use case for Panels nodes is Drupal Groups,
as Organic Groups was integrated with them for group home pages. http://groups.drupal.org http://drupal.org/project/panelizer Panelizer will be covered in more detail later,
but it reinvigorated Earl's interest in using Panels
on all types of nodes, and later all types of entities. Today it has a vibrant community of users and developers
who are changing the way
we work with content in Drupal. The current state of the Panels universe is the result of quite a few people and organizations working diligently over the years. The earlier years Earl Miles (merlinofchaos) came up with the initial idea of Panels because working with Drupal display was a real pain. Many developers and users were interested and helped propel the project, even though the early incarnations of Panels (pre Panels 3)
were more like pulling teeth. It was meant to be an alternative to theme templating, which can get really brittle and messy, really fast. http://io1.biz iO1, UK and Europe's leading Drupal consulting firm, sponsored a lot of the Panels improvements over the years. Eventually Earl Miles lent his talents to iO1 as their Director of Research. He still works with them today. Beginning the Panels as content era Earl Miles (merlinofchaos) developed the first incarnation of node based Panels as a module within the Panels suite called Panels nodes. In late 2010, NBC Universal's iVillage division decided to covert to a Panels based system but used many different node types in a purely node driven architecture that served nodes via an API. Many developers and users have since contributed to projects iVillage released on Drupal.org, including Panelizer and Fieldable Panels Panes. http://io1.biz iVillage has designed and sponsored most of the development into making Panels friendly to content editors and continues to work with their partner iO1 to bring that vision to life. Today iVillage is the largest site using Panels to power their editorial process (Comscore's 37'th largest web property by unique visitors in 2012). http://www.ivillage.com Making Panels easy for the masses In the early days working with Panels was a chore. Fortunately, there have been many improvements over the years that are pushing Panels based content management with Drupal into uncharted territory. Panels got a new IPE largely designed and developed by the folks at Chapter Three, the FAPE module was released by iVillage / iO1 to perform in place editing of fields (utilized in the spark initiative), and Pantheon brought it all together to create the Panopoly Drupal distribution. http://io1.biz With the sponsorship and development by the above firms and others like them Panels is now in a position to shape the future of content management. The next evolution in content management through Panels might be shaped by you. http://chapterthree.com http://getpantheon.com A look at Panelizer http://drupal.org/project/panelizer The Panelizer module allows you to "panelize" different view modes of various entity types. Entity types that can be panelized currently include: Nodes
Fieldable panels panes For each view mode, you can: For example, you could have one Panelizer display on a full node page and one that renders node teasers. configure individual settings
add new contexts
add Panels panes You can create one or more
Panelizer defaults for an entity type to allow easy selection by editors You can individually panelize entities giving you complete control and customizability. And Combine panelizer with entity view mode or display suite and you have a powerful content presentation layer. NO CODING REQUIRED
(not even templating) http://drupal.org/project/entity_view_mode http://drupal.org/project/ds Panelizer provides a central administration interface that allows you to manage all panelizer displays. You can also manage panelizer displays on various entity bundle forms, such as a node type. You can easily choose which layouts and content panes are available for each view mode.
(This is great for simplifying the editorial experience) As you can see, Panelizer adds a new tab on content pages.
This tab allows you to manage various panelizer related settings and displays
for this content item. A view of the panelizer tab settings.
You can manage all view modes from this tab. Panelizer layouts and panes can be managed just like with page manager. A look at Fieldable panels panes http://drupal.org/project/fieldable_panels_panes The Fieldable panels panes module creates entity types that integrate seamlessly with the Panels system as content panes. The fieldable panels panes module integrates nicely with the entity revision scheduling module. http://drupal.org/project/ers These panes can have fields just like nodes and integrate with the Panelizer system giving complete flexibility in display. Some of the other features include: Support for entity revisions and view modes
Independent access control settings so editors can be given access to only the panes they need
Seamless integration with the add pane dialog
Panes can be created as reusable with an administrative title and category or single use for the current display only. Currently the fieldable panels panes module lacks an administrative interface to create new entity pane types (bundles) but such an interface is under development. It is fairly easy to implement new pane types through the hook_entity_info_alter().
Instructions are included in the module. So changes to the panes (fields included) can easily be scheduled and previewed with a handy date selection widget. Fieldable panels panes provides a central administration interface for managing defined pane types. There is a preview tab to show how the pane looks but it is not the most useful indicator of how the pane will look embedded in a Panel display. Note the "Make this entity reusable" checkbox.
It adds the administrative title, description, and category. Standard revision listing, just like nodes. Who can view this pane?
In this case, any anonymous user. Who can edit this pane?
In this case, any editorial user. As you can see our pane is listed in reusable content.
New fieldable panels panes can be created below. How our pane looks on the content display. How our pane looks in the Panels IPE editor. A look at Field API Pane Editor (FAPE) http://drupal.org/project/fape The Field API Pane Editor (FAPE) module is designed to allow editing of single fields on entities instead of having to submit all information at once. The FAPE module provides the backend capabilities to the edit module which is the foundation in place editor used in the Spark initiative. http://drupal.org/project/edit FAPE has the following features: Provides menu callbacks that allow for the saving of individual entity fields as well as the entity title
Works with the core contextual links and overlay modules to provide popup field edit forms
Works with the Panels IPE system to edit single field values from the IPE interface
Integration with entity revisions and field permissions One of the nice side effects of using the FAPE module to edit fields is that when fields are embedded on Panels through context relationships, it is easy to edit those fields as well. For example, if I am viewing a node with a user profile picture embedded on the panel display, I can edit the user profile picture from the node display if I have adequate permissions. http://sparkdrupal.com In the Panels IPE, fields are edited from buttons with a gear icon. Editing an image field from within the Panels IPE
through FAPE Editing the body field from within the Panels IPE
through FAPE Editing a field through the overlay system from FAPE.
This was the original way to edit fields through FAPE. Editing a field through the overlay system from FAPE.
Add, edit, remove, and rearrange panes
Edit fields and panes
Change and edit style plugins This is all done without ever reloading the page until you save or cancel. The Panels IPE works with both page manager and panelizer displays making it very flexible. The Panels IPE system is a work in progress and it should be used with caution. Since the system is very new,
bugs are still being worked out and it has had trouble integrating with some elements (such as entity revisions) that the regular Panels editing interface naturally works with. If you depend on this deeper level of integration you may find yourself digging in a helping to fix bugs or living with the normal Panels interface until the IPE is more mature. Various IPE operations
keyed by color Changing layouts through Panels IPE Changing the style plugin of the sidebar region through Panels IPE Adding a new panel pane through Panels IPE Editing a panel pane through the Panels IPE system Panopoly is a Drupal installation profile
that was built to be a good starting point
for creating full featured Drupal sites
and other installation profiles (distributions). http://drupal.org/project/panopoly http://drupal.org/node/1651048 Drupal distribution Project: Documentation: Panels centric Panopoly has been built around Panels. It contains modules that make it easy to utilize Panels as a site building tool and as a Panels based content management system. Some notable Panels related modules in use: CTools ( http://drupal.org/project/ctools )
Panels ( http://drupal.org/project/panels )
Panelizer ( http://drupal.org/project/panelizer )
Fieldable panels panes ( http://drupal.org/project/fieldable_panels_panes )
Page manager existing pages ( http://drupal.org/project/pm_existing_pages )
Panels breadcrumbs ( http://drupal.org/project/panels_breadcrumbs ) Panopoly also comes with a few packaged features that bundle site elements, such as a content page content type, various types of predefined fieldable panels panes, and some initial Panels configurations. In the future I would love to see Panels Everywhere included in the distribution to round out the Panels experience. http://drupal.org/project/panels_everywhere Easy administration / content editing Some systems meant to achieve this goal: Admin ( http://drupal.org/project/admin )
Backports ( http://drupal.org/project/backports )
FAPE ( http://drupal.org/project/fape )
Image resize filter ( http://drupal.org/project/image_resize_filter )
Module filter ( http://drupal.org/project/module_filter )
Panels In Place Editor ( http://drupal.org/project/panels )
Views autocomplete filters ( http://drupal.org/project/views_autocomplete_filters )
Views bulk operations ( http://drupal.org/project/views_bulk_operations )
WYSIWYG with TinyMCE and markItUp ( http://drupal.org/project/wysiwyg )
WYSIWYG filter ( http://drupal.org/project/wysiwyg_filter )
Panopoly also comes with some packaged features that bundle site configurations that preconfigure a lot of the aforementioned modules. One of the primary goals of Panopoly
is to make it easier to administer and manage content for non technical people. Although Panopoly is much better than Drupal out of the box in terms of administration and content management it still has issues that need to be resolved and aspects that can be tricky for those not familiar with Drupal. Do not be surprised if you find a few things that don't work as intended. It's a work in progress. Other features There are quite a few other features worth noting about the Panopoly distribution: Drupal Apps integration (covered shortly)
Over 30 responsive Panels layouts built in
Media integration for embedded videos
Maps support utilizing GMap
SOLR search integration with Facet support
Many useful widgets are included And because it's built on Drupal,
it's easy to find and add new features as you see fit. Extended distributions Panopoly was built to be utilized as a starting point for other Drupal distributions. These currently include (to my knowledge): Open Academy ( http://drupal.org/project/openacademy ) It can also be integrated into existing distributions: Open Publish ( http://drupal.org/project/openpublish ) The Drupal apps framework was conceived as a way to bridge custom site needs with offerings of Drupal distributions by breaking distributions into Apps. Distributions install a predefined set of functionality whereas many times you only need portions of that functionality or it doesn't quite fit your needs. What do you do then? The apps framework was designed to solve that problem. Apps are bundles of functionality that serve a smaller and well defined purpose and can be easily installed and configured by site owners and administrators through the site interface. Apps can contain: Modules
Third party libraries Apps normally start from a feature module and contain various dependencies and configuration forms that allow the site administrator to get up and running quickly. http://drupal.org/project/apps http://drupal.org/project/appserver http://groups.drupal.org/open-app-standard/oas Central apps configuration screen As you can see the apps framework needs write privileges to your server.
There are three ways to achieve this; FTP, SSH, or direct web server install. Currently in my environment only one app is present, Panopoly Demo,
and it is enabled. 1. Panopoly is built with cutting edge modules that are designed to address issues that larger enterprises have with Drupal.
2. The distribution is being built with an eye toward future extensibility, by leveraging the Apps framework, and focusing on being a solid base platform to build upon.
3. There is a lot of focus on making the system as easy to build and maintain as possible for non developers.
4. It is becoming one of the most widely recognized Drupal distributions that is attracting many contributions and being integrated into other distributions.
5. It's just awesome. (that's the most important reason) There are three ways in which you can get started using Panopoly
based on your needs. Add Panopoly bundles to your existing site If you already have an existing site that you want to add pieces of Panopoly to then you can install various aspects of Panopoly to extend your current site. Currently you can choose from: Panopoly core ( http://drupal.org/project/panopoly_core )
Panopoly admin ( http://drupal.org/project/panopoly_admin )
Panopoly magic ( http://drupal.org/project/panopoly_magic )
Panopoly users ( http://drupal.org/project/panopoly_users )
Panopoly theme ( http://drupal.org/project/panopoly_theme )
Panopoly images ( http://drupal.org/project/panopoly_images )
Panopoly pages ( http://drupal.org/project/panopoly_pages )
Panopoly search ( http://drupal.org/project/panopoly_search )
Panopoly WYSIWYG ( http://drupal.org/project/panopoly_wysiwyg )
Panopoly widgets ( http://drupal.org/project/panopoly_widgets ) For more information, see: http://drupal.org/node/1717728 Install Panopoly on your own servers If you do not have an existing Drupal site you wish to extend or wish to try a pure Panopoly install and have your own servers sitting around, give it a try by installing it there. This route is best for those who are comfortable working on servers, and since it can utilize SOLR for search it is probably best to have a SOLR server handy as well. For more information, see: http://drupal.org/node/1717734 Try Panopoly for free on Pantheon If you are not sure you will like Panopoly or you don't know anything about setting up servers then this can be a great option to get going with Panopoly in a matter of minutes. Pantheon offers a free developer account that provides you with a test environment and a live environment and they have tiered plans at different price points if you need more bandwidth and server capacity. If you're just playing around with Panopoly the free account should work just fine and it's really easy. For more information, see: http://drupal.org/node/1717684 https://dashboard.getpantheon.com/register Questions? Contact me: Adrian Webb ( email@example.com )See the full transcript