Contenu connexe Similaire à Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3) (20) Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)1. By Bryce Roberts, MS, MSPH
StoneRidge Corporation
Bryce@stoneridge.net
© 2013 – StoneRidge Corporation
2. • Block Based Content – 3/5
• Configurable Layouts – 3/12
• In-context Editing – 3/19
These are technical presentations on advance
development for Cascade Server, let‟s dive in …
© 2013 – StoneRidge Corporation
4. 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
© 2013 – StoneRidge Corporation
6. 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
© 2013 – StoneRidge Corporation
7. Hard-coded layouts with rows, columns, and
regions
◦ Maintainer‟s nightmare
◦ Fixed layout
BUT, Cascade Server has an elegant solution …
© 2013 – StoneRidge Corporation
8. Template with Multiple Content Regions
Example of a page that has many content system-region for main content.
This example has 15 regions for main content.
© 2013 – StoneRidge Corporation
10. 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
…
© 2013 – StoneRidge Corporation
11. Flexible layouts
◦ Flexible implementation
◦ Intuitive for most end-users
◦ Supports separation of layout and content
◦ Allows Cascade‟s agile nature to shine
© 2013 – StoneRidge Corporation
12. 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
© 2013 – StoneRidge Corporation
13. 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
© 2013 – StoneRidge Corporation
14. Flexible Layout - Data Definition
Structure data multiple sections, columns, and blocks.
In addition, it includes class configuration on the column.
© 2013 – StoneRidge Corporation
15. Flexible Layout – Velocity Format
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.
© 2013 – StoneRidge Corporation
16. Validation – “Wrong Block Type Selected”
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
© 2013 – StoneRidge Corporation
17. How do we get here?
© 2013 – StoneRidge Corporation
18. 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.
© 2013 – StoneRidge Corporation
19. Create intuitive, supportive data definitions
Include an non-editable auto-type fields
◦ Type = „layout‟
Use consistent structures
© 2013 – StoneRidge Corporation
21. <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>
© 2013 – StoneRidge Corporation
22. <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>
© 2013 – StoneRidge Corporation
23. <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>
© 2013 – StoneRidge Corporation
24. 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.
© 2013 – StoneRidge Corporation
32. 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
© 2013 – StoneRidge Corporation
34. 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
© 2013 – StoneRidge Corporation
35. 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.
© 2013 – StoneRidge Corporation
36. I wouldn‟t be here without you
© 2013 – StoneRidge Corporation
37. 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
© 2013 – StoneRidge Corporation
38. Bryce Roberts, MS, MSPH
StoneRidge Corporation
1050 E Piedmont Rd.
Suite E-222
Marietta GA, 30062
678-391-6173
Bryce@stoneridge.net
www.stoneridge.net
© 2013 – StoneRidge Corporation
Notes de l'éditeur Second in a series. First part was last week and is now available in the webinar series archives on HannonHill.com. And next week on March 19 we’ll take a look at improving in-context editing.