20110606 e z_flow_gig_v1


Published on

eZ Flow advanced usage @ eZ Conference 2011 / London

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

20110606 e z_flow_gig_v1

  1. 1. eZ Flow advanced usage Gilles Guirand @gandbox http://www.gandbox.fr Technical Director at Kaliop eZ Publish Community project board member eZ Conference 2011 June 16th - London
  2. 2. eZ Flow advanced usage <ul><li>What is eZ FLOW ??? </li></ul>A package extension with a full features design , on top of ezwebin (ready to be installed at the end of the setup process) ? TRUE but that’s not the point… A sexy timeline demo tool to sale eZ Publish ?
  3. 3. eZ Flow advanced usage <ul><li>eZ Flow is … a complex datatype to manage layouts, zones and blocks </li></ul>Layout Zone Block
  4. 4. eZ Flow advanced usage <ul><li>Useful to manage a frontpage , a landing page, but also a right column or a bottom article zone … </li></ul>Layout
  5. 5. eZ Flow advanced usage <ul><li>Online exemples : http://www.touraineloirevalley.com/ </li></ul>Block Block Block Block Frontpage Carousel with node selection node selection node selection Last news Zone Zone Zone
  6. 6. eZ Flow advanced usage Article Zone Block Child nodes list of current node
  7. 7. eZ Flow advanced usage Article Block Block Folder selection Folder selection Zone
  8. 8. eZ Flow advanced usage Article Block 1 Node selection, XML block Block Folder selection, list & pagination Block Folder selection, list & pagination Zone Block Folder selection, google maps Zone
  9. 9. eZ Flow advanced usage <ul><li>Backend usage : Select a layout </li></ul>
  10. 10. eZ Flow advanced usage Frontpage Select zone Add a block to the current zone Current blocks Expand to edit the block <ul><li>Backend usage : Select a zone / add blocks </li></ul>
  11. 11. eZ Flow advanced usage <ul><li>Layouts / zones settings </li></ul>Layouts list Override : zone.ini.append.php Layout template : myextension design mydesign templateszone 2zoneslayout1.tpl Available for classes… Zones list More details on a coming tuto…
  12. 12. eZ Flow advanced usage <ul><li>Blocks settings : the blocks list </li></ul>Override : block.ini.append.php
  13. 13. eZ Flow advanced usage <ul><li>Blocks settings : nb of valid / archived items </li></ul>Override : block.ini.append.php No limitation for queued items
  14. 14. eZ Flow advanced usage <ul><li>Blocks settings : manual adding items </li></ul>Override : block.ini.append.php Browse and add multiple nodes, limited to the article and the folder classes
  15. 15. eZ Flow advanced usage <ul><li>Blocks settings : Items proposal (custom fetch) </li></ul>Override : block.ini.append.php /classes/fetches/ ezflowmcfetch.php Custom parameter PHP Fetch results
  16. 16. eZ Flow advanced usage <ul><li>Blocks settings : Items proposal (custom fetch) </li></ul>Override : block.ini.append.php FULL exemples : ezflow/classes/fetches/…
  17. 17. eZ Flow advanced usage <ul><li>Blocks settings : custom attributes </li></ul>Override : block.ini.append.php Browse and add one unique node (for instance a parent node id) Integer String Collected values are available inside your templates !
  18. 18. eZ Flow advanced usage <ul><li>Blocks settings : views list </li></ul>Override : block.ini.append.php Advice : Factorize your block list «  how to select items, and input values  » (1 block if similar), «  how to display the selection ?  » (X views) For instance : Display an image selection with X views (diaporama, list, carousel, sliders…)
  19. 19. eZ Flow advanced usage <ul><li>Blocks settings : block templates </li></ul>Override : block.ini.append.php override.ini.append.php
  20. 20. eZ Flow advanced usage <ul><li>Common issues : view cache expiry (from reverse related items) </li></ul>Not possible (by default), only a TTL (expiration time) Solution : http://issues.ez.no/IssueView.php?Id=17324&activeItem=1 kernel hack :   kernel/classes/ezcontentcachemanager.php [ViewCacheSettings] SmartCacheClear=enabled ClearRelationTypes[] ClearRelationTypes[]=common ClearRelationTypes[]=reverse_common ClearRelationTypes[]=reverse_embedded ClearRelationTypes[]=reverse_attribute ClearRelationTypes[]=attribute ClearRelationTypes[]=reverse_ezflow
  21. 21. eZ Flow advanced usage <ul><li>Common issues : limit the block list for each classes / zones </li></ul>Not possible (by default), same block list for all classes / zones Solution : http://projects.ez.no/ca_ezflow_enhanced Owner : Matthieu Sévère [myblock] … AvailableForClasses[] AvailableForClasses[]=global_layout AvailableForClasses[]=frontpage AvailableForZones[] AvailableForZones[]=frontpage|main AvailableForZones[]=frontpage|right AvailableForZones[]=global_layout|left
  22. 22. eZ Flow advanced usage <ul><li>Common issues : add new custom attributes datatypes </li></ul>Not possible (by default), only « integer », « string », « browse » override : /design/standard/templates/block/edit/edit.tpl Exemple with a « selectbox »: http://projects.ez.no/ca_ezflow_enhanced Owner : Matthieu Sévère
  23. 23. eZ Flow advanced usage <ul><li>Common issues : cache-block optimisation / article right column & default right column </li></ul>ARTICLE_FULL.TPL Article_full.tpl : Store your article right column with ezpagedata With ezpagedata , get back your right column inside your pagelayout.tpl Fetch the default right column , and display it if the article right column is empty Set a cache-block around ezpagedata ezpagedata
  24. 24. eZ Flow advanced usage <ul><li>So… what’s the main benefits to use eZ Flow ? </li></ul><ul><ul><li>Less classes, more blocks… easier to deployed & maintain (manage settings files & template only) </li></ul></ul><ul><ul><li>Build your block collection, and share it for all your projects </li></ul></ul>You could ( but please don’t ! ) build a website with an unique « article » content class, and… Blocks
  25. 25. eZ Flow advanced usage <ul><li>More about eZ Flow ??? </li></ul>Coming soon… on http://share.ez.no/learn/ & http://www.gandbox.fr Code exemple / timeline / …