Upload
hernanibf
View
86
Download
0
Tags:
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
• 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
#1 Problem – Content Structure
http://paragraphs.site-showcase.com/demos/creme-caramel
#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.
#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).
#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.
#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