progressive enhancements to improve content editing and reuse in cascade server: layouts (part 2 of...

38
Progressive Enhancements to Improve Content Editing and Reuse By Bryce Roberts, MS, MSPH StoneRidge Corporation [email protected] © 2013 – StoneRidge Corporation

Upload: hannonhill

Post on 15-May-2015

327 views

Category:

Documents


1 download

DESCRIPTION

In this first installment in a three-part webinar series about content editing and reuse in Cascade Server, Bryce Roberts of Stoneridge Corporation discusses one way to set up flexible layouts for your site.

TRANSCRIPT

Page 1: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Progressive Enhancements to Improve Content Editing

and ReuseBy Bryce Roberts, MS, MSPH

StoneRidge [email protected]

© 2013 – StoneRidge Corporation

Page 2: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Presentations Overview

• Block Based Content – 3/5• Configurable Layouts – 3/12• In-context Editing – 3/19

© 2013 – StoneRidge Corporation

These are technical presentations on advance development for Cascade Server, let’s dive in …

Page 3: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

User-configurable Layout

Dynamic page layouts throughdata definitions and formats

© 2013 – StoneRidge Corporation

Page 4: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Basic understanding of user-configurable layout compared to template layout

General benefits of user-configurable layout

How user-configurable layout supports block based content

Limitations of user-configurable layout implementations

Learning Objectives

© 2013 – StoneRidge Corporation

Page 5: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Current SituationRegions, regions, and more

<system-region name=“more”/>

© 2013 – StoneRidge Corporation

Page 6: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

If all content is in a single WYSIWYG for the page, you only need one region (default region)

If content is block based, you need one region per block included on the page◦ Template creep◦ Fixed layout◦ Better with inline-block regions

Current Situation

© 2013 – StoneRidge Corporation

Page 7: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Hard-coded layouts with rows, columns, and regions ◦ Maintainer’s nightmare◦ Fixed layout

BUT, Cascade Server has an elegant solution …

Current Situation

© 2013 – StoneRidge Corporation

Page 8: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example of a page that has many content system-region for main content.

This example has 15 regions for main content.

Template with Multiple Content Regions

© 2013 – StoneRidge Corporation

Page 9: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

SolutionUser-Configurable Content Layouts

</hassle>

© 2013 – StoneRidge Corporation

Page 10: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Go back to page content as a single, giant

WYSIWYG block◦ Step backwards! – Not ideal!

◦ Why?

Just add more regions◦ Harder to maintain and support

◦ Requires more training for users

◦ Requires users to edit configuration sets

Possible Solutions

© 2013 – StoneRidge Corporation

Page 11: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Flexible layouts

◦ Flexible implementation

◦ Intuitive for most end-users

◦ Supports separation of layout and content

◦ Allows Cascade’s agile nature to shine

Possible Solutions

© 2013 – StoneRidge Corporation

Page 12: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Data definition based◦ Row Column Block◦ Can be nested◦ Highly configurable

Lego®-like building of page

Supports grid systems!

Supports content classing and configuration by users

Flexible Layouts

© 2013 – StoneRidge Corporation

Page 13: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Solution◦ Page level flexible layouts

Unlimited rows Up to two columns Can add style class to column Unlimited blocks

◦ Velocity based format ◦ Supports responsive design◦ Validation (processed only know block types)

Example – Emory Interior Page

Case Example – Emory University

© 2013 – StoneRidge Corporation

Page 14: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Structure data multiple sections, columns, and blocks.

In addition, it includes class configuration on the column.

Flexible Layout - Data Definition

© 2013 – StoneRidge Corporation

Page 15: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Format transform for into an arbitrary number of rows, with up to two columns, and an arbitrary number of blocks. The columns are classed for type, style and

position automatically.

Flexible Layout – Velocity Format

© 2013 – StoneRidge Corporation

Page 16: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

This is an example of how to alert a user about a misconfiguration on the page. The alert is only visible inside Cascade Server and is not published

Validation – “Wrong Block Type Selected”

© 2013 – StoneRidge Corporation

Page 17: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

ImplementationHow do we get here?

© 2013 – StoneRidge Corporation

Page 18: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Identify types of layouts needed and configuration options

Decide if page-level layouts or block-level layouts are needed … or both

Identify types of blocks needed

◦ Examples: Set of links, WYSIWYG, Call to Action, RSS feed, Accordion, Tab, etc.

Flexible Layout

© 2013 – StoneRidge Corporation

Page 19: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Create intuitive, supportive data definitions

Include an non-editable auto-type fields

◦ Type = ‘layout’

Use consistent structures

Flexible Layout

© 2013 – StoneRidge Corporation

Page 20: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example – Configured Layout

© 2013 – StoneRidge Corporation

Row

Block

Column

Page 21: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

<system-data-structure> <text identifier="type" label="Block Type" restrict-to-groups="hidden" default=“layout" required="true"/> <text identifier="title" label="Title"/> <group identifier=“row" label=“Row" multiple="true"> <group identifier=“column" label=“column" multiple="true"> <asset type=“block" identifier=“block"

label=“Content Block” multiple=“true” /> </group></group>

</system-data-structure>

Example – Page Level

© 2013 – StoneRidge Corporation

Page 22: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

<system-data-structure> <text identifier="type" label="Block Type" restrict-to-groups="hidden" default=“layout" required="true"/> <text identifier="title" label="Title"/> <group identifier=“row" label=“Row" multiple="true"> <group identifier=“column" label=“column" multiple="true"> <asset type=“block" identifier=“block"

label=“Content Block” multiple=“true” /> </group></group>

</system-data-structure>

Example – Page Level

© 2013 – StoneRidge Corporation

Page 23: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

<system-data-structure> <text identifier="type" label="Block Type" restrict-to-groups="hidden" default=“layout" required="true"/> <text identifier="title" label="Title"/> <group identifier=“row" label=“Row" multiple="true"> <group identifier=“column" label=“column" multiple="true"> <asset type=“block" identifier=“block"

label=“Content Block” multiple=“true” /> </group></group>

</system-data-structure>

Example – Page Level

© 2013 – StoneRidge Corporation

Page 24: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Check block type◦ Notify user of errors in block type choice◦ Validate both as a layout and as correct content blocks

Formats must be designed to process multiple types of blocks with one format (or import if using XSLT)

Output should reflect block content – Can include semantic identification and layout information◦ If the input block is a link set, then output a link set.

Format Level Design

© 2013 – StoneRidge Corporation

Page 25: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - Velocity

© 2013 – StoneRidge Corporation

Page 26: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - Velocity

© 2013 – StoneRidge Corporation

Page 27: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - Velocity

© 2013 – StoneRidge Corporation

Page 28: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - XSLT

© 2013 – StoneRidge Corporation

Page 29: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - XSLT

© 2013 – StoneRidge Corporation

Page 30: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - XSLT

© 2013 – StoneRidge Corporation

Page 31: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Example - XSLT

© 2013 – StoneRidge Corporation

Page 32: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

It is all about organization! XSLT

◦ Use import to keep the parts of your code separate Modularity

◦ Tools are your friend – write components!◦ More verbose that Velocity

Velocity◦ Used macros◦ Test often. It can and will output noncompliant XML

value, making it harder to debug◦ Terse procedural syntax – embrace the style

Implementation Considerations

© 2013 – StoneRidge Corporation

Page 33: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

ConsequencesHaving your cake and having to eat it too

© 2013 – StoneRidge Corporation

Page 34: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Page layouts are completely configurable!

Better support for editors!

Validation is possible!

Like Lego® blocks, you can build almost anything with flexible, user-configurable layouts

The Good

© 2013 – StoneRidge Corporation

Page 35: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

More steps in the creation of a page

Less intuitive for editing content◦ Block is not on page◦ Layout is separate from content

More initial planning on site setup

Lose Cascade’s in-context support◦ But … just wait until next week.

The Not So Good

© 2013 – StoneRidge Corporation

Page 36: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Thank you and acknowledgements

I wouldn’t be here without you

© 2013 – StoneRidge Corporation

Page 37: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Emory University◦ For being a great client whose challenging needs

and great ideas drive great solutions Hannon Hill

◦ For continuing to develop and add wonderful features to Cascade Server

◦ For nurturing a wonderfully vibrant user community

John, Kat and Holly◦ For making this presentation possible and for all

your support of the series

Thank you!

© 2013 – StoneRidge Corporation

Page 38: Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

Bryce Roberts, MS, MSPH

StoneRidge Corporation1050 E Piedmont Rd.Suite E-222Marietta GA, 30062

[email protected]

Contact Information

© 2013 – StoneRidge Corporation