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

Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Embed Size (px)

DESCRIPTION

Learning Objectives: To understand what is in-context editing and how it is currently implemented in Cascade Server To understand the issues related to configurable layouts with in-context editing To understand the benefits of in-context editing and separating content from layout To understand the general method of implementing in-context editing for configurable layouts

Citation preview

Page 1: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

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-context Editing

Presentations Overview

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

© 2013 – StoneRidge Corporation

These are technical presentations on advanced development for Cascade Server. Let’s dive in …

Page 3: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

In-context EditingDirect Content Editing Link,

Presented on Layout

© 2013 – StoneRidge Corporation

Page 4: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Define in-context editing and current implementation in Cascade

Issues related to block-based content with configurable layouts and in-context editing

Benefits of in-context editing and separating content from layout

General method to implement in-context editing

Limitations of in-context editing implementations

Learning Objectives

© 2013 – StoneRidge Corporation

Page 5: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

<cascading><blocks>

</blocks></cascading>

Current Situation

© 2013 – StoneRidge Corporation

Page 6: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

In-context editing is a cycle in which content for a page is edited by linking to the asset from the rendered display:

Select block Click Edit Icon Edit & Submit Changes

In-context Editing

© 2013 – StoneRidge Corporation

Page 7: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Cascade Server adds a block icon for every system region with an assigned block.

These block icons provide in-context editing for all system regions

The block can appear in unusual locations depending on the template structure

Current Situation

© 2013 – StoneRidge Corporation

Page 8: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Block-based content with template regions◦ Content blocks appear with page structure block

Confusing to some end users Content blocks appear identical to structure blocks

◦ Can greatly increase the number of icons on the layout

User-configurable Layout◦ All block content in a layout appears as a single region◦ Must navigate to layout before going to block

BUT, Cascade Server has an elegant solution …

Current Situation

© 2013 – StoneRidge Corporation

Page 9: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Content Blocks/Regions

Page Structure Regions

Unusual Block Placement

Block Based Content

© 2013 – StoneRidge Corporation

Page 10: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

All Content is now a single region. Missing block icons for all content blocks in the user-configurable layout.

User-Configurable Layout

© 2013 – StoneRidge Corporation

Page 11: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

SolutionIn-context Content editing

</hassle>

© 2013 – StoneRidge Corporation

Page 12: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Go back to page content as a single, giant WYSIWYG block◦ Step backwards! – Not ideal!

◦ Why?

◦ Not easier for editing isolated content pieces

Go back to template level layout◦ Step backwards! – Even worse!

◦ Why?

◦ Lose all the benefits of user-configurable layouts

Possible Solutions

© 2013 – StoneRidge Corporation

Page 13: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

In-context content editing

◦ Flexible implementation

◦ Intuitive for most end-users

◦ Supports separation of layout and content

◦ Allows Cascade’s agile nature to shine

◦ Extends Cascade’s user interface

Possible Solutions

© 2013 – StoneRidge Corporation

Page 14: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Dynamically inserted◦ Editing link based on content blocks in layout

Supports user-configurable layouts

Distinctive from page structure blocks

Improves end-user experience by associating display with content editing. (Less guessing.)

In-context Content

Editing

© 2013 – StoneRidge Corporation

Page 15: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Solution◦ In-context Content Editing

Supports page level flexible layouts Supports block base content

◦ Distinctive appearance – the “GREEN” pencil

Example – Emory Interior Page

Case Example – Emory University

© 2013 – StoneRidge Corporation

Page 16: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

No changes necessary in the data definition to enable in-context editing

Flexible Layout - Data Definition

© 2013 – StoneRidge Corporation

Page 17: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Format inserts editing link in a 0x0 div at the top of every content container.

In-context Content Editing – Velocity Format

© 2013 – StoneRidge Corporation

Page 18: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Each green pencil links directly to the edit mode of the content block.

In-context Content Editing – Layout View

© 2013 – StoneRidge Corporation

Page 19: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Click green pencil takes user directly to content editing screen.

In-context Content Editing

© 2013 – StoneRidge Corporation

Page 20: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

ImplementationHow do we get here?

© 2013 – StoneRidge Corporation

Page 21: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Before you start …

Utilize block-based content (1st presentation)

Utilize user-configurable layout (2nd presentation)

Get organized. Keep all content blocks together.

Well developed, modular code

◦ Velocity – Macros

◦ XSLT– Imported Stylesheets

Map tool very helpful to create

In-context Content Editing

© 2013 – StoneRidge Corporation

Page 22: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Decide on a ‘key’ for identifying blocks◦ Path◦ Link◦ Name◦ Custom-ID

Create content index

Create a map tool if using XSLT

Create easy to identify icon

In-context Content Editing

© 2013 – StoneRidge Corporation

Page 23: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Create Content Key-ID map◦ Use key to associate with ID◦ Handle duplicate keys with error

Add in-context content editing logic to processing code module

Verify success with each block type◦ Important to check position of in-context edit icon◦ May need to adjust icons based on content block

Format Level Design

© 2013 – StoneRidge Corporation

Page 24: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 25: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 26: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 27: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 28: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 29: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - Velocity

© 2013 – StoneRidge Corporation

Page 30: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 31: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 32: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 33: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 34: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 35: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 36: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Example - XSLT

© 2013 – StoneRidge Corporation

Page 37: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

It is all about organization! XSLT

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

◦ Tools are your friend – write components! Map Tool Node Key Tool

◦ More verbose that Velocity Velocity

◦ Use macros◦ Terse procedural syntax – embrace the style

Implementation Considerations

© 2013 – StoneRidge Corporation

Page 38: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

ConsequencesHaving your cake and having to eat it too

© 2013 – StoneRidge Corporation

Page 39: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Content editing is in-context!

More intuitive for editors!

Overcome limitations of user-configurable layouts!

The best context for content editing is in-context ;)

Requires minimal training!

The Good

© 2013 – StoneRidge Corporation

Page 40: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

No downside for end users, really!

Requires minimal training

Requires significant development to implement

Easier to develop in Velocity than XSLT

The Not So Good

© 2013 – StoneRidge Corporation

Page 41: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Block based content

User-configurable layouts

In-context content editing

Putting It All Together

© 2013 – StoneRidge Corporation

Page 42: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Block Based Content◦ Easier to reuse◦ Validation

User-configurable Layout◦ Empower users◦ Unlimited options

In-context Content Editing◦ Fixes block based content◦ Fixes user-configurable layout◦ Improves the user’s experience

What does it all mean?

© 2013 – StoneRidge Corporation

More Productive

Less Frustrated

Page 43: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Thank you and acknowledgements

I wouldn’t be here without you

© 2013 – StoneRidge Corporation

Page 44: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

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 45: Progressive Enhancements to Improve Content Editing and Reuse - In-context Editing

Bryce Roberts, MS, MSPH

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

[email protected]

Contact Information

© 2013 – StoneRidge Corporation