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
eZ Flow advanced usage What is eZ FLOW ??? 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 ?
eZ Flow advanced usage eZ Flow is  …  a complex datatype to manage layouts, zones and blocks Layout Zone Block
eZ Flow advanced usage Useful to manage a  frontpage , a landing page, but also a  right column  or a  bottom article zone … Layout
eZ Flow advanced usage Online exemples :  http://www.touraineloirevalley.com/ Block Block Block Block Frontpage Carousel with node selection node selection node selection Last news Zone Zone Zone
eZ Flow advanced usage Article Zone Block Child nodes list of current node
eZ Flow advanced usage Article Block Block Folder selection Folder selection Zone
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
eZ Flow advanced usage Backend usage : Select a layout
eZ Flow advanced usage Frontpage Select zone Add a block to the current  zone Current blocks Expand to edit the block Backend usage : Select a zone / add blocks
eZ Flow advanced usage Layouts / zones settings Layouts list Override :  zone.ini.append.php Layout template :  \ myextension \design\ mydesign \templates\zone\ 2zoneslayout1.tpl Available for classes… Zones list More details on a coming tuto…
eZ Flow advanced usage Blocks settings : the blocks list Override :  block.ini.append.php
eZ Flow advanced usage Blocks settings : nb of valid / archived items Override :  block.ini.append.php No limitation for queued items
eZ Flow advanced usage Blocks settings : manual adding items Override :  block.ini.append.php Browse and add multiple nodes, limited to the article and the folder classes
eZ Flow advanced usage Blocks settings : Items proposal (custom fetch) Override :  block.ini.append.php /classes/fetches/ ezflowmcfetch.php Custom parameter PHP Fetch results
eZ Flow advanced usage Blocks settings : Items proposal (custom fetch) Override :  block.ini.append.php FULL exemples :  ezflow/classes/fetches/…
eZ Flow advanced usage Blocks settings : custom attributes 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 !
eZ Flow advanced usage Blocks settings : views list 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…)
eZ Flow advanced usage Blocks settings : block templates Override :  block.ini.append.php override.ini.append.php
eZ Flow advanced usage Common issues : view cache expiry (from reverse related items)  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
eZ Flow advanced usage Common issues : limit the block list for each classes / zones 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
eZ Flow advanced usage Common issues : add new custom attributes datatypes 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
eZ Flow advanced usage Common issues : cache-block optimisation / article right column & default right column 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
eZ Flow advanced usage So… what’s the main benefits to use eZ Flow ? Less classes, more blocks… easier to deployed & maintain (manage settings files & template only) Build your block collection, and share it for all your projects You could ( but please don’t ! ) build a website with an unique « article » content class, and… Blocks
eZ Flow advanced usage More about eZ Flow ??? Coming soon… on  http://share.ez.no/learn/  &  http://www.gandbox.fr   Code exemple / timeline / …

20110606 e z_flow_gig_v1

  • 1.
    eZ Flow advancedusage Gilles Guirand @gandbox http://www.gandbox.fr Technical Director at Kaliop eZ Publish Community project board member eZ Conference 2011 June 16th - London
  • 2.
    eZ Flow advancedusage What is eZ FLOW ??? 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.
    eZ Flow advancedusage eZ Flow is … a complex datatype to manage layouts, zones and blocks Layout Zone Block
  • 4.
    eZ Flow advancedusage Useful to manage a frontpage , a landing page, but also a right column or a bottom article zone … Layout
  • 5.
    eZ Flow advancedusage Online exemples : http://www.touraineloirevalley.com/ Block Block Block Block Frontpage Carousel with node selection node selection node selection Last news Zone Zone Zone
  • 6.
    eZ Flow advancedusage Article Zone Block Child nodes list of current node
  • 7.
    eZ Flow advancedusage Article Block Block Folder selection Folder selection Zone
  • 8.
    eZ Flow advancedusage 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.
    eZ Flow advancedusage Backend usage : Select a layout
  • 10.
    eZ Flow advancedusage Frontpage Select zone Add a block to the current zone Current blocks Expand to edit the block Backend usage : Select a zone / add blocks
  • 11.
    eZ Flow advancedusage Layouts / zones settings Layouts list Override : zone.ini.append.php Layout template : \ myextension \design\ mydesign \templates\zone\ 2zoneslayout1.tpl Available for classes… Zones list More details on a coming tuto…
  • 12.
    eZ Flow advancedusage Blocks settings : the blocks list Override : block.ini.append.php
  • 13.
    eZ Flow advancedusage Blocks settings : nb of valid / archived items Override : block.ini.append.php No limitation for queued items
  • 14.
    eZ Flow advancedusage Blocks settings : manual adding items Override : block.ini.append.php Browse and add multiple nodes, limited to the article and the folder classes
  • 15.
    eZ Flow advancedusage Blocks settings : Items proposal (custom fetch) Override : block.ini.append.php /classes/fetches/ ezflowmcfetch.php Custom parameter PHP Fetch results
  • 16.
    eZ Flow advancedusage Blocks settings : Items proposal (custom fetch) Override : block.ini.append.php FULL exemples : ezflow/classes/fetches/…
  • 17.
    eZ Flow advancedusage Blocks settings : custom attributes 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.
    eZ Flow advancedusage Blocks settings : views list 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.
    eZ Flow advancedusage Blocks settings : block templates Override : block.ini.append.php override.ini.append.php
  • 20.
    eZ Flow advancedusage Common issues : view cache expiry (from reverse related items) 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.
    eZ Flow advancedusage Common issues : limit the block list for each classes / zones 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.
    eZ Flow advancedusage Common issues : add new custom attributes datatypes 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.
    eZ Flow advancedusage Common issues : cache-block optimisation / article right column & default right column 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.
    eZ Flow advancedusage So… what’s the main benefits to use eZ Flow ? Less classes, more blocks… easier to deployed & maintain (manage settings files & template only) Build your block collection, and share it for all your projects You could ( but please don’t ! ) build a website with an unique « article » content class, and… Blocks
  • 25.
    eZ Flow advancedusage More about eZ Flow ??? Coming soon… on http://share.ez.no/learn/ & http://www.gandbox.fr Code exemple / timeline / …