By Bryce Roberts, MS, MSPH                                      StoneRidge Corporation                                    ...
•   Block Based Content – 3/5                                  •   Configurable Layouts – 3/12                            ...
Dynamic page layouts through                                    data definitions and formats© 2013 – StoneRidge Corporation
   Basic understanding of user-configurable           layout compared to template layout          General benefits of us...
Regions, regions, and more                                  <system-region name=“more”/>© 2013 – StoneRidge Corporation
   If all content is in a single WYSIWYG for the           page, you only need one region (default           region)     ...
   Hard-coded layouts with rows, columns, and           regions           ◦ Maintainer‟s nightmare           ◦ Fixed layo...
Template with Multiple Content Regions                    Example of a page that has many content system-region for main c...
User-Configurable Content                                  Layouts                                  </hassle>© 2013 – Ston...
   Go back to page content as a single, giant           WYSIWYG block           ◦ Step backwards! – Not ideal!           ...
   Flexible layouts           ◦ Flexible implementation           ◦ Intuitive for most end-users           ◦ Supports sep...
   Data definition based           ◦ Row  Column  Block           ◦ Can be nested           ◦ Highly configurable      ...
   Solution           ◦ Page level flexible layouts                Unlimited rows                Up to two columns     ...
Flexible Layout - Data Definition                                      Structure data multiple sections, columns, and bloc...
Flexible Layout – Velocity Format               Format transform for into an arbitrary number of rows, with up to two colu...
Validation – “Wrong Block Type Selected”               This is an example of how to alert a user about a misconfiguration ...
How do we get here?© 2013 – StoneRidge Corporation
   Identify types of layouts needed and           configuration options          Decide if page-level layouts or block-l...
       Create intuitive, supportive data definitions            Include an non-editable auto-type fields         ◦    Ty...
© 2013 – StoneRidge Corporation
<system-data-structure>             <text identifier="type"                     label="Block Type"                     res...
<system-data-structure>             <text identifier="type"                     label="Block Type"                     res...
<system-data-structure>             <text identifier="type"                     label="Block Type"                     res...
   Check block type           ◦ Notify user of errors in block type choice           ◦ Validate both as a layout and as c...
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
© 2013 – StoneRidge Corporation
   It is all about organization!          XSLT           ◦ Use import to keep the parts of your code separate           ...
Having your cake and having                                  to eat it too© 2013 – StoneRidge Corporation
   Page layouts are completely configurable!          Better support for editors!          Validation is possible!     ...
   More steps in the creation of a page          Less intuitive for editing content           ◦ Block is not on page    ...
I wouldn‟t be here without you© 2013 – StoneRidge Corporation
   Emory University           ◦ For being a great client whose challenging needs             and great ideas drive great ...
Bryce Roberts, MS, MSPH       StoneRidge Corporation       1050 E Piedmont Rd.       Suite E-222       Marietta GA, 30062 ...
Upcoming SlideShare
Loading in …5
×

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

549 views
481 views

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
549
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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.
  • Progressive Enhancements to Improve Content Editing and Reuse in Cascade Server: Layouts (part 2 of 3)

    1. 1. By Bryce Roberts, MS, MSPH StoneRidge Corporation Bryce@stoneridge.net© 2013 – StoneRidge Corporation
    2. 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
    3. 3. Dynamic page layouts through data definitions and formats© 2013 – StoneRidge Corporation
    4. 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
    5. 5. Regions, regions, and more <system-region name=“more”/>© 2013 – StoneRidge Corporation
    6. 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. 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. 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
    9. 9. User-Configurable Content Layouts </hassle>© 2013 – StoneRidge Corporation
    10. 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. 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. 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. 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. 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. 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. 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. 17. How do we get here?© 2013 – StoneRidge Corporation
    18. 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. 19.  Create intuitive, supportive data definitions  Include an non-editable auto-type fields ◦ Type = „layout‟  Use consistent structures© 2013 – StoneRidge Corporation
    20. 20. © 2013 – StoneRidge Corporation
    21. 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. 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. 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. 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
    25. 25. © 2013 – StoneRidge Corporation
    26. 26. © 2013 – StoneRidge Corporation
    27. 27. © 2013 – StoneRidge Corporation
    28. 28. © 2013 – StoneRidge Corporation
    29. 29. © 2013 – StoneRidge Corporation
    30. 30. © 2013 – StoneRidge Corporation
    31. 31. © 2013 – StoneRidge Corporation
    32. 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
    33. 33. Having your cake and having to eat it too© 2013 – StoneRidge Corporation
    34. 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. 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. 36. I wouldn‟t be here without you© 2013 – StoneRidge Corporation
    37. 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. 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

    ×