Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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)

668 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.

  • Be the first to comment

  • Be the first to like this

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

×