SlideShare ist ein Scribd-Unternehmen logo
1 von 44
One Content Type
to Rule Them All
Case study of “Any Page” single-content
type implementation
Presenters
Will Jackson
● Senior Developer
● Resident Commerce
Consultant
● System Administrator
● Module Maintainer
Anne Easterling
● Front-end dev and site
builder
● “Configuration Queen”
● UX/IA consultant
● Most important role:
Advocate for end-user
and editors
Introductions
● Why single-content
type?
● Our model: Any Page
● ECK and other
construction tips
● Demo
● Next steps
● Who are you?
● Site building
experience?
● Other: back-end,
themers?
● Why are you here?
● Most content types
on a site?
Why single-content type?
Problem 1: Content type overload
● Advantage of Drupal: Add as many content
types and fields as needed
● Disadvantage of Drupal: Add as many
content types and fields as you think you
need
● And content types are rigid!
How many content types are too many?
Traditional Content Models
● Focus on “content types.”
● Assume that unique content type is needed
for each page variation.
● Still connect presentation to architecture.
(References:
http://pointnorth.io/#content-modeling
http://alistapart.com/article/content-modelling-a-master-skill)
Source: Content Modelling: A Master Skill, A List Apart
● Single-page and long-form pages.
● Mix of visuals: images, videos, graphics.
● Editors want to control order of elements.
● Mix of default and custom sidebar blocks.
Problem 2: Design trends
Single-content type solution:
Any Page
● Rather than content types, IA focuses on
content organization.
● Complex pages (such as landing pages) can
be controlled by editors.
● Easier flexibility for non-content regions,
such as sidebars.
Single-content type solutions
Single content type: Any Page
Content model
Content type
Fields
Custom Theming
⇒ Site structure
⇒ Page type tags
⇒ Reusable blocks
⇒ Built-in style options
Example: Events
Content type:
● Title
● Date
● Location
● Description
● Type of event
● Registration form
● Photo, gallery, video
● Speakers
● Handouts
Single content type:
● Title
● Tag: Event, Types
● Blocks:
Event, Text, Image,
Video, Person, Doc
Attachments, etc.
STRUCTURE
Entity Construction Kit
Entity Reference
Inline Entity Form
Context, Features
Views, View Field
Media
Automatic Entity Label
Any Page: Module magic
UX ENHANCEMENTS/PRESENTATION
Field Group
Multiple Selects
Display Suite / Extras
Fields Conditional
Field Formatter Settings
Field Formatter Conditions
Entity Construction Kit
● Create/Manage entities and bundles from UI.
● Manage properties and custom behaviors.
● Create bundles to share entity configuration.
● Thousands of compatible modules (Field UI).
Entity Construction Kit
Entity Construction Kit
Entity Construction Kit
Alternative tagging: Options entity
● “Options” entity type with two bundles
● Option Type: parent, such as Page Type
● Option: child, such as Event, Blog, Product,
News, etc.
● Also used for supporting options in the Any
Blocks: Layout Options, Link Style, Image
Style, Color Scheme, etc.
Option fields
● Label: human-friendly description
● Machine name:
o CSS-friendly string
o Applied as classes to streamline theming
o Related to Bootstrap classes or variables
● Example - Block Color Scheme:
o Label: Purple background / white text
o Machine name: color_brand_contrast_white
Option Types in use on Text Block style options
Any Page node fields
● Title
● Tags: Page type,
categories
● Teaser and teaser
image
● Entity reference fields:
o Main content
o Left sidebar
o Right sidebar
o Content top
o Content bottom
● Default globals
Page Type tag is
alternative to separate
content types. Can be
changed as node usage
changes.
Other functional or
presentation tagging
can be added as
needed.
Recommend using Teaser because
there is no standard Body field to
use as a fallback.
Any Block types
● Each type based on functionality.
● Most block types can be used in any field.
(AKA page region: main content, sidebar, etc.)
● Limited field reuse.
Any Block types
● Text block
● Accordion block
● Contact block
● Document Attachments
block
● Event block
● Featured Media block
● Form block
● Image (grid / slideshow)
● Link (menu-style)
● Location block
● Product
● System block (blocks
from core and modules)
● Video block
● View / List block (blocks
from Views)
Any Block: Text block
● Administrative Title
● Display Title
(with optional link)
● Style Options
(alignment, padding, color,
layout)
● Body
● Image
o Options
(style, position, link)
o Image
(base and hover)
● Links
o Link style
(text or button)
o Title (optional link)
o Links
● Created by the Commerce Guys for Commerce Kickstart.
● Create referenced entities inline without leaving the form.
● Integrate with any new or pre-existing entity.
● Streamline content forms
Inline Entity Form
Inline Entity Form
Demonstration
Life cycle of a page
1. Announcement: Text, images
2. Event: Retag. Add Event, Location blocks
3. Report: Retag. Add Video block.
4. Resource: Retag. Add Document
Attachment block.
● Performance
o Complex configurations may be resource intensive.
● Commerce
o Additional customization required for contrib displays
● Search
o Contributed Module Limitations
Technical considerations
Any Page 2.0
● Basic Main Content: Text block fields
without being in Entity Block
● Custom Main Content: Convert original
Main Content.
● Tagging: Taxonomy may be better
● Image handling: Implement Field Formatter
Review
● Advantages of a single content type
o Content that evolves to what you need
o Simplify the process for content editors
● Condense Content Types
o Solve the problem of “a content type for everything”
Questions/Giveaway
Are there any questions?
SCREENSHOTS
Two custom entity types
Any Page uses two custom
entity types: Any Block and
Option Type
Related: Item Sets
used in block
Special Purpose
Parent Bundle (no blocks)
Container block
“Workhorse”
Any Block bundles
Any Block: parent bundle
Text Block: multi-purpose
“workhorse” also includes image
and links
Accordion Block: primary field is
multi-field Accordion Item Set.
Multi-Block Wrapper: allows other
blocks to be displayed in one row.
SEO Description: not available as
block; used separately.
Any Block properties
Administrative Title (instead of
Title) for easier labeling
All bundles have separate
Display Title field
Main content field
Create or reuse entities in
this region.
All blocks are displayed in a
vertical stack.
Left sidebar field
Create or reuse entities in
this region.
All blocks are displayed in a
vertical stack.
Option to override default
display settings on Global
sidebar blocks.
Right sidebar field
Create or reuse entities in
this region.
All blocks are displayed in a
vertical stack.
Content top field
Display options for blocks
displayed in Content Top
region.
Create or reuse entities in
this region.
Content bottom field
Display options for blocks
displayed in Content Bottom
region.
Create or reuse entities in
this region.

Weitere ähnliche Inhalte

Andere mochten auch

Types of music videos and adverts
Types of music videos and advertsTypes of music videos and adverts
Types of music videos and adverts
Tom Lord
 
Diferencias entre el aprendizaje colaborativo y cooperativo
Diferencias entre el aprendizaje colaborativo y cooperativoDiferencias entre el aprendizaje colaborativo y cooperativo
Diferencias entre el aprendizaje colaborativo y cooperativo
Clara Camacho
 
Italy19 Comic Alcohol
Italy19 Comic AlcoholItaly19 Comic Alcohol
Italy19 Comic Alcohol
donatsac
 
2015 Post-Walk Newsletter
2015 Post-Walk Newsletter2015 Post-Walk Newsletter
2015 Post-Walk Newsletter
John Johnson
 

Andere mochten auch (14)

Types of music videos and adverts
Types of music videos and advertsTypes of music videos and adverts
Types of music videos and adverts
 
Corruption in the Church - Thyatira
Corruption in the Church - ThyatiraCorruption in the Church - Thyatira
Corruption in the Church - Thyatira
 
Competitive SEO - Canadian Chamber of Commerce, Hong Kong
Competitive SEO - Canadian Chamber of Commerce, Hong KongCompetitive SEO - Canadian Chamber of Commerce, Hong Kong
Competitive SEO - Canadian Chamber of Commerce, Hong Kong
 
Formulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explicationsFormulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explications
 
Diferencias entre el aprendizaje colaborativo y cooperativo
Diferencias entre el aprendizaje colaborativo y cooperativoDiferencias entre el aprendizaje colaborativo y cooperativo
Diferencias entre el aprendizaje colaborativo y cooperativo
 
This is-it
This is-itThis is-it
This is-it
 
Italy19 Comic Alcohol
Italy19 Comic AlcoholItaly19 Comic Alcohol
Italy19 Comic Alcohol
 
2015 Post-Walk Newsletter
2015 Post-Walk Newsletter2015 Post-Walk Newsletter
2015 Post-Walk Newsletter
 
Online Webinar Management & Presentation
Online Webinar Management & PresentationOnline Webinar Management & Presentation
Online Webinar Management & Presentation
 
User Experience
User ExperienceUser Experience
User Experience
 
SEO and PR
SEO and PRSEO and PR
SEO and PR
 
How evo used data-driven personalization to acquire more traffic and retain m...
How evo used data-driven personalization to acquire more traffic and retain m...How evo used data-driven personalization to acquire more traffic and retain m...
How evo used data-driven personalization to acquire more traffic and retain m...
 
Renewable Energy and Energy Efficiency in the United States
Renewable Energy and Energy Efficiency in the United StatesRenewable Energy and Energy Efficiency in the United States
Renewable Energy and Energy Efficiency in the United States
 
Presentación webinar “Los 12 mejores trucos de velocidad para WordPress”
Presentación webinar “Los 12 mejores trucos de velocidad para WordPress”Presentación webinar “Los 12 mejores trucos de velocidad para WordPress”
Presentación webinar “Los 12 mejores trucos de velocidad para WordPress”
 

Ähnlich wie DrupalCamp Florida 2015 - One Content Type to Rule Them All

Contributions: what they are and how to find them
Contributions: what they are and how to find themContributions: what they are and how to find them
Contributions: what they are and how to find them
Pedro Cambra
 
Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!
tedbow
 

Ähnlich wie DrupalCamp Florida 2015 - One Content Type to Rule Them All (20)

CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them AllCORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them All
 
Contributions: what they are and how to find them
Contributions: what they are and how to find themContributions: what they are and how to find them
Contributions: what they are and how to find them
 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
 
Meetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - GutenbergMeetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - Gutenberg
 
Meetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - GutenbergMeetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - Gutenberg
 
The panels family
The panels familyThe panels family
The panels family
 
Enhancing Design with Adaptive Content
Enhancing Design with Adaptive ContentEnhancing Design with Adaptive Content
Enhancing Design with Adaptive Content
 
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
 
Paragraphs without pain (content strategy for Drupal Paragraphs)
Paragraphs without pain (content strategy for Drupal Paragraphs)Paragraphs without pain (content strategy for Drupal Paragraphs)
Paragraphs without pain (content strategy for Drupal Paragraphs)
 
Introduction to Gutenberg- Imran Sayed
Introduction to Gutenberg- Imran SayedIntroduction to Gutenberg- Imran Sayed
Introduction to Gutenberg- Imran Sayed
 
Drupal Workshop
Drupal WorkshopDrupal Workshop
Drupal Workshop
 
Entities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in DrupalEntities 101: Understanding Data Structures in Drupal
Entities 101: Understanding Data Structures in Drupal
 
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic WebsitesGoodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
 
Improving drupals cex and ax
Improving drupals cex and axImproving drupals cex and ax
Improving drupals cex and ax
 
OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containers
 
Introduction to TeacherPress
Introduction to TeacherPressIntroduction to TeacherPress
Introduction to TeacherPress
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for Clients
 
Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1 Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1
 
FED-HTML (2).pdf
FED-HTML (2).pdfFED-HTML (2).pdf
FED-HTML (2).pdf
 
Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!
 

Kürzlich hochgeladen

valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 

Kürzlich hochgeladen (20)

valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 

DrupalCamp Florida 2015 - One Content Type to Rule Them All

  • 1. One Content Type to Rule Them All Case study of “Any Page” single-content type implementation
  • 2. Presenters Will Jackson ● Senior Developer ● Resident Commerce Consultant ● System Administrator ● Module Maintainer Anne Easterling ● Front-end dev and site builder ● “Configuration Queen” ● UX/IA consultant ● Most important role: Advocate for end-user and editors
  • 3. Introductions ● Why single-content type? ● Our model: Any Page ● ECK and other construction tips ● Demo ● Next steps ● Who are you? ● Site building experience? ● Other: back-end, themers? ● Why are you here? ● Most content types on a site?
  • 5. Problem 1: Content type overload ● Advantage of Drupal: Add as many content types and fields as needed ● Disadvantage of Drupal: Add as many content types and fields as you think you need ● And content types are rigid!
  • 6. How many content types are too many?
  • 7. Traditional Content Models ● Focus on “content types.” ● Assume that unique content type is needed for each page variation. ● Still connect presentation to architecture. (References: http://pointnorth.io/#content-modeling http://alistapart.com/article/content-modelling-a-master-skill)
  • 8. Source: Content Modelling: A Master Skill, A List Apart
  • 9. ● Single-page and long-form pages. ● Mix of visuals: images, videos, graphics. ● Editors want to control order of elements. ● Mix of default and custom sidebar blocks. Problem 2: Design trends
  • 11. ● Rather than content types, IA focuses on content organization. ● Complex pages (such as landing pages) can be controlled by editors. ● Easier flexibility for non-content regions, such as sidebars. Single-content type solutions
  • 12. Single content type: Any Page Content model Content type Fields Custom Theming ⇒ Site structure ⇒ Page type tags ⇒ Reusable blocks ⇒ Built-in style options
  • 13. Example: Events Content type: ● Title ● Date ● Location ● Description ● Type of event ● Registration form ● Photo, gallery, video ● Speakers ● Handouts Single content type: ● Title ● Tag: Event, Types ● Blocks: Event, Text, Image, Video, Person, Doc Attachments, etc.
  • 14. STRUCTURE Entity Construction Kit Entity Reference Inline Entity Form Context, Features Views, View Field Media Automatic Entity Label Any Page: Module magic UX ENHANCEMENTS/PRESENTATION Field Group Multiple Selects Display Suite / Extras Fields Conditional Field Formatter Settings Field Formatter Conditions
  • 15. Entity Construction Kit ● Create/Manage entities and bundles from UI. ● Manage properties and custom behaviors. ● Create bundles to share entity configuration. ● Thousands of compatible modules (Field UI).
  • 19. Alternative tagging: Options entity ● “Options” entity type with two bundles ● Option Type: parent, such as Page Type ● Option: child, such as Event, Blog, Product, News, etc. ● Also used for supporting options in the Any Blocks: Layout Options, Link Style, Image Style, Color Scheme, etc.
  • 20. Option fields ● Label: human-friendly description ● Machine name: o CSS-friendly string o Applied as classes to streamline theming o Related to Bootstrap classes or variables ● Example - Block Color Scheme: o Label: Purple background / white text o Machine name: color_brand_contrast_white
  • 21. Option Types in use on Text Block style options
  • 22. Any Page node fields ● Title ● Tags: Page type, categories ● Teaser and teaser image ● Entity reference fields: o Main content o Left sidebar o Right sidebar o Content top o Content bottom ● Default globals
  • 23. Page Type tag is alternative to separate content types. Can be changed as node usage changes. Other functional or presentation tagging can be added as needed.
  • 24. Recommend using Teaser because there is no standard Body field to use as a fallback.
  • 25. Any Block types ● Each type based on functionality. ● Most block types can be used in any field. (AKA page region: main content, sidebar, etc.) ● Limited field reuse.
  • 26. Any Block types ● Text block ● Accordion block ● Contact block ● Document Attachments block ● Event block ● Featured Media block ● Form block ● Image (grid / slideshow) ● Link (menu-style) ● Location block ● Product ● System block (blocks from core and modules) ● Video block ● View / List block (blocks from Views)
  • 27. Any Block: Text block ● Administrative Title ● Display Title (with optional link) ● Style Options (alignment, padding, color, layout) ● Body ● Image o Options (style, position, link) o Image (base and hover) ● Links o Link style (text or button) o Title (optional link) o Links
  • 28. ● Created by the Commerce Guys for Commerce Kickstart. ● Create referenced entities inline without leaving the form. ● Integrate with any new or pre-existing entity. ● Streamline content forms Inline Entity Form
  • 31. Life cycle of a page 1. Announcement: Text, images 2. Event: Retag. Add Event, Location blocks 3. Report: Retag. Add Video block. 4. Resource: Retag. Add Document Attachment block.
  • 32. ● Performance o Complex configurations may be resource intensive. ● Commerce o Additional customization required for contrib displays ● Search o Contributed Module Limitations Technical considerations
  • 33. Any Page 2.0 ● Basic Main Content: Text block fields without being in Entity Block ● Custom Main Content: Convert original Main Content. ● Tagging: Taxonomy may be better ● Image handling: Implement Field Formatter
  • 34. Review ● Advantages of a single content type o Content that evolves to what you need o Simplify the process for content editors ● Condense Content Types o Solve the problem of “a content type for everything”
  • 37. Two custom entity types Any Page uses two custom entity types: Any Block and Option Type
  • 38. Related: Item Sets used in block Special Purpose Parent Bundle (no blocks) Container block “Workhorse” Any Block bundles Any Block: parent bundle Text Block: multi-purpose “workhorse” also includes image and links Accordion Block: primary field is multi-field Accordion Item Set. Multi-Block Wrapper: allows other blocks to be displayed in one row. SEO Description: not available as block; used separately.
  • 39. Any Block properties Administrative Title (instead of Title) for easier labeling All bundles have separate Display Title field
  • 40. Main content field Create or reuse entities in this region. All blocks are displayed in a vertical stack.
  • 41. Left sidebar field Create or reuse entities in this region. All blocks are displayed in a vertical stack. Option to override default display settings on Global sidebar blocks.
  • 42. Right sidebar field Create or reuse entities in this region. All blocks are displayed in a vertical stack.
  • 43. Content top field Display options for blocks displayed in Content Top region. Create or reuse entities in this region.
  • 44. Content bottom field Display options for blocks displayed in Content Bottom region. Create or reuse entities in this region.

Hinweis der Redaktion

  1. Add details on background. Will, can you add yours?
  2. Add details on background. Will, can you add yours?
  3. Question for attendees: Prize for most?
  4. Even one of my go-to sources for UX/UI advice recommendations separate content types based on presentation. “A recipe is clearly different from a Slideshow.” Really? Perhaps a Recipe needs a slideshow.
  5. Design trend toward long, parallax scrolling pages. How can we provide editorial control? Sometimes that page calls for a single image, other times a gallery or slideshow, other times a video. How can we provide flexibility for building these pages? Editors don’t want to be stuck in a box or with static displays. They want to be able to reorder elements on the page. Editors also want more control over sidebar blocks. Drupal’s block configuration makes this difficult, even when using context instead.
  6. IA focuses on content organization, which means fewer one-off pages fall through the cracks. Designs are becoming more complex, with mixture of images and content blocks. Clients want granular control over sidebars
  7. Key differences between Any Page and content type for each presentation type -- content models focus on site structure rather than content types, which allows laser-focus on user needs. Instead of content types, use page type tags. Instead of an unending list of fields, implement reusable blocks.
  8. Conventional content type: starting adding fields. And even after adding fields, typically locked into a static layout. Single content type: Core fields, then flexible blocks. Event block includes date/time and location. Reusable, can be reordered.
  9. WILL: Can you flesh out this list? List modules in order of importance.
  10. WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.
  11. WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.
  12. WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.
  13. WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.
  14. Before we talk about fields in the Any Page content type, let’s look at a supporting entity type: Options
  15. Before we talk about fields in the Any Page content type, let’s look at a supporting entity type: Options
  16. Core fields on Any Page content type: title, tags (using Options entity reference), teaser and teaser image. Then the meat of Any Page: entity reference fields. Our structure is based on the regions in our standard page template.
  17. Tags instead of page types. Allow multiple page type tags.
  18. Teaser: recommend requiring since there’s no body field to use as fallback for teaser.
  19. Now, we’ll turn our attention to the Any Blocks, the entities that are referenced in the Entity Reference fields.
  20. Except for Text block, each is focused on a single bit of functionality.
  21. Add features on text block, the workhorse of Any Page.
  22. WILL: can you add details on how it works, considerations in use, configuration, etc? Feel free to add supporting slides.
  23. WILL: can you add details on how it works, considerations in use, configuration, etc? Feel free to add supporting slides.
  24. Anypage Demo: http://bcns:bcnsdev@fldrupalcamp.bcns.devops.ourdrop.com/ Any Page content type Review Entity reference fields Note default fields for sidebars and content top Briefly review display Introduce two entity types Any Block bundles Review Any Text block: show fields groups, usability for content editor, layout and styling options for each group Review Any Text display: use of Display Suite, different display modes available for regions and/or views
  25. WILL: can you add information on technical considerations, such as performance, search, commerce, data integrity