One Content Type to Rule Them All

Slides:



Advertisements
Similar presentations
Drupal Basics Part 3 Create a new page Main tabs menu Using the theme Agricultural Communications Services Integrated Media Training Sessions
Advertisements

Chapter 3 – Web Design Tables & Page Layout
Business Development Suit Presented by Thomas Mathews.
Become a Panels Rockstar. Audience Survey Have you tried Panels? Are you a …. –Themer / Designer? –Developer / Code Junkie? –Information Architect?
Moving stuff around on your Drupal web pages Alex Bergin / Dept. Agriculture &
DOMINATE THE THEME LAYER August 21st.. Jesper Wøldiche Rahkonen Themer / architect at Bysted. Markup Marine / Journalist / Frontend United
Cascading Style Sheets
New Semantic Elements (Part 2)
Principles of Web Design 5 th Edition Chapter Nine Site Navigation.
Web Pages and Style Sheets Bert Wachsmuth. HTML versus XHTML XHTML is a stricter version of HTML: HTML + stricter rules = XHTML. XHTML Rule violations:
Web Design with Cascading Style Sheet Lan Vu. Overview Introduction to CSS Designing CSS Using Visual Studio to create CSS Using template for web design.
Implementing Autodesk Inventor in Your Company MA405-1
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
Drupal Blocks David Manela, Mark Ritzman, Chad Campbell.
James Gollan d.o: gollyg twitter: gollyg. Overview Files in Drupal 7 The media suite of modules Site recipe: Adding media to your site.
Homepage Layout Management. Note: This is our last Core Publisher training in the series! You will be checking in with your Station Relations Support.
The Dr ü G Book: An Intro to Drupal The Dr ü G Book: An Intro to Drupal (Dr ü G: Drupal User ’ s Group - users, not developers) This is an introduction.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Web Technologies Website Development Trade & Industrial Education
09/28/ Cascade Server User's Conference1 Smart Cascade Server Implementations & Strategies 2009 Cascade Server User’s Conference Justin Klingman,
How to Use this Glossary This layer glossary is intended for Wacom Global Administrators. This glossary is to be used to identify existing layers in the.
Objective To create a professional, affordable, and easy to use website Create a user friendly interface with accessibility and effortless navigation.
1.Getting Started 2.Modifying Design 3.Page 4.News 5.Events 6.Photo Gallery 7.Newsletter Index Training 15 th Mar., 2011.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. word 2010 Chapter 3 Formatting Documents.
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Introduction to Views Stanford Drupal Camp April 6, 2013.
Web Site Development - Process of planning and creating a website.
+ Publishing Your First Post USING WORDPRESS. + A CMS (content management system) is an application that allows you to publish, edit, modify, organize,
EKTRON QUICK START GUIDEEKTRON QUICK START GUIDE Version 1.0 Copyright 2013 WebSolutions Technology, Inc. Fuller June 7, 2013.
Homepage Layout Management. Note: This is our last Core Publisher training in the series! You will be checking in with your Station Relations Support.
Design Mode.
PRESENTS IEEE Section Template Tutorial.
Create and edit web pages 4
Working in the Forms Developer Environment
Basics of Drupal for Researchers, part 2
Section 7.1 Section 7.2 Identify presentation design principles
Creating LOVs and Editors
Tutorial 2: Formatting a Workbook
Basic Controls and Plugins
What is new In Pangea 6.11 Pangea 6.11.
ASP.NET Web Controls.
Planning and Building a Presentation
Presenting Prezi Michael Pelitera
Customizing your Theme
What’s NOT new? Content URLs Site structure CMS
IS333: MULTI-TIER APPLICATION DEVELOPMENT
Introduction to Gateway to Data (G2D)
Content Best Practices
Active Orders Supplier Administrator Training Getting Started Activities This training presentation describes the Getting Started activities that will.
© Paradigm Publishing, Inc.
IBM Kenexa BrassRing on Cloud Responsive Apply: Gateway Questionnaire Configuration April 2017.
Superior Drupal Integration for CiviCRM with a focus on Events
Chapter 2 – Introduction to the Visual Studio .NET IDE
Customizing Editable Regions and Building Templates
Applications Software
Go Mobile with MX! Enhanced Responsiveness in MX 8.2
Web Development & Design Foundations with H T M L 5
Cascading Style Sheets™ (CSS)
Design Mode.
Medium-Fi Prototype Rachel J and Esther G
Bharat Prakash | Solutions Consultant
5.00 Apply procedures to organize content by using Dreamweaver. (22%)
Charts A chart is a graphic or visual representation of data
Is a Content Management System in Your Future?
Microsoft Office Illustrated Fundamentals
Business Prototype Look and Feel
ASSETS, SNIPPETS & COMPONENTS
Presentation transcript:

One Content Type to Rule Them All CORNELL DRUPAL CAMP 2015 One Content Type to Rule Them All Case study of “Any Page”, a single-content type implementation

Presenter Will Jackson Senior Drupal Developer Resident Commerce Consultant System Administrator DevOps Engineer Add details on background. Will, can you add yours?

New Valley Media Drupal Development and Support Company Located in Aiken, SC Add details on background. Will, can you add yours?

Introductions Why single-content type? Our model: Any Page ECK and other construction tips The Future Who are you? Site builders, developers, themers, content managers, etc Most content types on a site? Add details on background. Will, can you add yours?

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! Question for attendees: Prize for most?

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)

Problem 2: Design trends 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. 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.

Single-content type solution: “Any Page”

Single-content type solutions 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. 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

Single content type: Any Page Content model Content type Fields Custom Theming ⇒ Site structure ⇒ Page type tags ⇒ Reusable blocks ⇒ Built-in style options 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.

Example: Events Content type: Title Date Location Single content type: 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. 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.

Any Page: Module magic Entity Construction Kit Entity Reference STRUCTURE Entity Construction Kit Entity Reference Inline Entity Form Context, Features Views, View Field Media Automatic Entity Label UX ENHANCEMENTS/PRESENTATION Field Group Multiple Selects Display Suite / Extras Fields Conditional Field Formatter Settings Field Formatter Conditions WILL: Can you flesh out this list? List modules in order of importance.

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). WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.

Entity Construction Kit WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.

Entity Construction Kit WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.

Entity Construction Kit WILL: Can you provide an overview of ECK, how it works, etc. Add supporting slides as needed.

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. Before we talk about fields in the Any Page content type, let’s look at a supporting entity type: Options

Option fields Label: human-friendly description Machine name: CSS-friendly string Applied as classes to streamline theming Related to Bootstrap classes or variables Example - Block Color Scheme: Label: Purple background / white text Machine name: color_brand_contrast_white Before we talk about fields in the Any Page content type, let’s look at a supporting entity type: Options

Option Types in use on Text Block style options

Any Page node fields Title Main content Tags: Page type, categories Teaser and teaser image Entity reference fields: Main content Left sidebar Right sidebar Content top Content bottom Default globals 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.

Any Page node fields Title Main content Tags: Page type, categories Teaser and teaser image Entity reference fields: Main content Left sidebar Right sidebar Content top Content bottom Default globals 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.

Other functional or presentation tagging can be added as needed. 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. Tags instead of page types. Allow multiple page type tags.

Recommend using Teaser because there is no standard Body field to use as a fallback. Teaser: recommend requiring since there’s no body field to use as fallback for teaser.

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. Now, we’ll turn our attention to the Any Blocks, the entities that are referenced in the Entity Reference fields.

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) Except for Text block, each is focused on a single bit of functionality.

Any Block: Text block Administrative Title Display Title (with optional link) Style Options (alignment, padding, color, layout) Body Image Options (style, position, link) Image (base and hover) Links Link style (text or button) Title (optional link) Add features on text block, the workhorse of Any Page.

Inline Entity Form 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 WILL: can you add details on how it works, considerations in use, configuration, etc? Feel free to add supporting slides.

Inline Entity Form WILL: can you add details on how it works, considerations in use, configuration, etc? Feel free to add supporting slides.

Life cycle of a page Announcement: Text, images Event: Retag. Add Event, Location blocks Report: Retag. Add Video block. Resource: Retag. Add Document Attachment block.

Technical considerations Performance Complex configurations may be resource intensive. Commerce Additional customization required for contrib displays Search Contributed Module Limitations WILL: can you add information on technical considerations, such as performance, search, commerce, data integrity

Review Advantages of a single content type Condense Content Types Content that evolves to what you need Simplify the process for content editors Condense Content Types Solve the problem of “a content type for everything”

Are there any questions? @willjackson00

Demonstration 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

SCREENSHOTS

Two custom entity types Any Page uses two custom entity types: Any Block and Option Type Two custom entity types

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. Related: Item Sets used in block Parent Bundle (no blocks) Container block Special Purpose “Workhorse”

Administrative Title (instead of Title) for easier labeling All bundles have separate Display Title field Any Block properties

Main content field Create or reuse entities in this region. All blocks are displayed in a vertical stack. Main content field

Option to override default display settings on Global sidebar blocks. Create or reuse entities in this region. All blocks are displayed in a vertical stack. Left sidebar field

Right sidebar field Create or reuse entities in this region. All blocks are displayed in a vertical stack. Right sidebar field

Display options for blocks displayed in Content Top region. Create or reuse entities in this region. Content top field

Display options for blocks displayed in Content Bottom region. Create or reuse entities in this region. Content bottom field