35
#DrupalcampSpain2015 @hernanibf When content editors ask for full flexibility Hernâni Borges de Freitas #DrupalcampSpain2015

Drupal content editor flexibility

Embed Size (px)

Citation preview

#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?