#DrupalcampSpain2015@hernanibf
When content editors ask for full flexibility
Hernâni Borges de Freitas #DrupalcampSpain2015
#DrupalcampSpain2015@hernanibf #DrupalcampSpain2015
About me
Technical	
  Team	
  Lead	
  Acquia	
  
.PT	
  	
  
Drupal*	
  many	
  things	
  
	
  
	
  
Twitter.com/hernanibf	
  
	
  
	
  
@hernanibf
#DrupalcampSpain2015@hernanibf
About my work @ Acquia
An architect in Acquia prepares technical solutions
for clients during different phases.
•  Discovery
•  Solution/Specification
•  Development phase
•  Deployment
#DrupalcampSpain2015@hernanibf
Meet the demanding content editor
#DrupalcampSpain2015@hernanibf
•  He wants to control most of the details how
content appears on the web site.
•  He typically works on websites where content is
king: media, entertainment, corporate
websites.
•  Tech savvy on his own way - does not accept
technical limits - if the system does not allow
something, he will find a way of doing it
anyway.
Meet the demanding content editor
#DrupalcampSpain2015@hernanibf
Typical demands
§  Change website look and feel.
§  Reuse content anywhere.
§  Review / preview / approve / schedule content
as it will appear.
§  Readapt site purpose on special events.
§  CMS should be easy to understand, fast to
execute and free of problems J
#DrupalcampSpain2015@hernanibf
Problem
§  Disconnection between content and layout.
§  Disconnection between site building and
content edition.
§  Drupal mantra of create content first, and it will
display on different sections automagically.
§  Lack of revisioning system in many pieces of
the puzzle (menus, taxonomy, blocks).
#DrupalcampSpain2015@hernanibf
Rule
The best tool?
Most of the times, the one you know how to
use.
#DrupalcampSpain2015@hernanibf
#1 Problem – Content
Structure
http://paragraphs.site-showcase.com/demos/
creme-caramel
#DrupalcampSpain2015@hernanibf
#DrupalcampSpain2015@hernanibf
#1 Problem – Content Structure
A.  Free form HTML.
B.  Structured inclusive content including all items.
C.  Structured referenced content with references
among items.
D.  Unreferenced content being added through
layout.
#DrupalcampSpain2015@hernanibf
Option A - Free form HTML
§  Typically is never a good solution, but in theory
can give a lot of flexibility.
§  Hard to maintain consistency.
§  Hard to reuse content.
§  WYSIWYG hard to use and manage even with
placeholders.
§  Hard to avoid errors from Content Editors (CE’s)
#DrupalcampSpain2015@hernanibf
Option B – Inclusive content
All content details are stored in the content item
using fields. Good for pages with lots of details
reused elsewhere.
Typical implementations:
•  Compound fields (custom or contributed).
•  Field collection module / Paragraphs module.
Paragraphs
#DrupalcampSpain2015@hernanibf
Option C – Referenced content
Different parts of content items are split in different
entities which are referenced from the main entity.
Typical implementations:
§  Entity reference field with inline entity form.
§  Extra modules like references dialog module can
help on browsing existing content.
§  Back references to help glue content (CER).
Inline Entity Form
#DrupalcampSpain2015@hernanibf
#2 - Manage individual page layout
How do I create a new rich page layout in Drupal?
Options:
A.  Core template system
B.  Display suite
C.  Panels / Panelizer
#DrupalcampSpain2015@hernanibf
Template system
•  Prepare different Drupal templates that are
selected depending on some attributes (node
type, field, etc..).
•  Use display modes and template suggestions to
pick the correct template.
#DrupalcampSpain2015@hernanibf
Display suite
View modes created by configuration. Drag and
drop fields with different formatters for different
regions.
§  Most of the layout/style can be done by site
builders.
§  Good to maintain consistency between view
modes.
Display suite
#DrupalcampSpain2015@hernanibf
Panels
•  Customized layouts for different means, including
for entity layout.
•  Support creation of pages with custom/fixed
layouts.
•  Fits well with the idea of widgets than can be drag
and dropped and configured in different regions.
#DrupalcampSpain2015@hernanibf
How to create pages with panels?
Different ways of creating pages:
•  Create independent panels.
•  Page manager with variants.
•  Panel nodes.
•  Panelizer
#DrupalcampSpain2015@hernanibf
Panelizer
•  Panel display associated with an entity.
•  Panelize an entity and add panes and fields to
different regions.
•  Slick interface with Panels IPE.
•  You can try in Panopoly or Lightning
distribution.
#DrupalcampSpain2015@hernanibf
Ctools content types
•  Configuration per instance where the pane is
present (e.g: A view that receives configuration
that depends from page to page.
•  Fieldable Panel Panes (FAPE)
•  Panels In place editor (IPE)
•  Panopoly magic
•  Panopoly widgets
#DrupalcampSpain2015@hernanibf
#3 – Workflow
How to workflow content and layout together?
Content workflow is easy
-  Workbench moderation / Workflow / … modules
Layout workflow is harder (!)
#DrupalcampSpain2015@hernanibf
#4 – Workflow and Preview
•  Easier to achieve when rich content exists as a unit.
•  Harder to achieve with lots of referenced content.
•  Easier to achieve when layout stores all the needed
configuration and is associated with revisions
(panelizer).
•  Important to think about responsive (responsive
preview helps).
#DrupalcampSpain2015@hernanibf
#5 - Workflow of complex items
Directly in production
§  Limited if not well
addressed.
§  Dependency on revision
system.
§  Panelizer integrates with
with workbench
moderation (with patches)
J
Different environments,
and deploy to production
•  Tricky balance between
content and configuration.
•  Configuration can be
shipped in code.
•  Content is quite complex
to achieve
#DrupalcampSpain2015@hernanibf
#5 - Workflow of complex items
Directly in production
Modules like:
•  Quick edit and panels in
place editor contextual
links.
•  Workbench or workflow
•  Site Preview System.
Different environments
Modules like:
•  Deploy module and
associated suite can
ship content together
with associated items.
#DrupalcampSpain2015@hernanibf
#6 – Final words – Non tech
•  Content editors are amongst the most important
project’s stakeholders.
•  They know the content and how the website will
work after architects and developers leave.
•  They care about what they see and not how does it
work.
•  Should be involved from Discovery phase to User
Acceptance Testing.
#DrupalcampSpain2015@hernanibf
#7 – Final words - tech
Success typically means
•  To be able to correctly preview
•  To be able to edit in place where content
appears
•  To be able to create and review content and
layout.
•  To be flexible and provide options for edge
cases
#DrupalcampSpain2015@hernanibf
#8 - Drupal 8
•  In place editor (Quickedit module)
•  Better support for configuration management
•  Better support for entity revisions
•  Better support for some layout management
•  Some of the modules already ported to D8
#DrupalcampSpain2015@hernanibf@hernanibf #DrupalcampSpain2015
Questions?

Drupal content editor flexibility