Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

2,906 views

Published on


How and why to migrate eZ Publish 4 to eZ publish 5 : Limitations, benefits and complexity.
How eZ publish 5 may revolutionize the way you build websites with the new symfony2 stack

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,906
On SlideShare
0
From Embeds
0
Number of Embeds
467
Actions
Shares
0
Downloads
25
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

  1. 1. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 1 KALIOP.COM Demystifying eZPublish 5.x for eZPublish 4.x developers
  2. 2. Le Major changes in a nutshell for developers 2 Replace your template fetch with PHP (HMVC) Replace your viewcache / cacheblocks with HTTP Cache / ESI (Varnish) Replace your old eztemplate code with TWIG / Assetics New public API & Symfony full-stack for dev (dependency injection, bundles...) Replace your read-only REST API with A eZ custom RESTful API V2 Replace your old INI files with YAML New ezdemobundle to bootstrap a project or learn
  3. 3. Le Major changes in a nutshell for editors ? 3 Same back office with new... (old) design run with full ezpublish_legacy stack
  4. 4. Le ezdemobundle ? 4
  5. 5. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 5 KALIOP.COM Demystifying eZPublish 5.x Platform Architecture
  6. 6. Le Platform Architecture 6 https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?
  7. 7. Le Full legacy mode (eZP 4.8+... BO) 7 https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?
  8. 8. Le eZPublish 5 through legacy (default) 8 https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?
  9. 9. Le eZPublish 5 full symfony (exp.) 9 https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?
  10. 10. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 1 KALIOP.COM Demystifying eZPublish 5.x Code basics
  11. 11. Le Folders 11 Behat / phpUnit testing Cache / global configs / logs Your bundle (controllers / templates / configs, tests, services...) Exposed to vhost (index.php, symlinks to assets) 3rd part libs & eZ5 new kernel Stand-alone eZ legacy
  12. 12. Le Folders 12 Your controllers (contain queries) Your templates Your global settings settings / templates overrides
  13. 13. Le SiteAccess / mode setup 13 Import settings Same eZ4 HostMap logical + additionnal rules Root node / index_page Set legacy mode for admin
  14. 14. https://confluence.ez.no/display/EZP/How+to+paginate+API+search+results Simple (fetch) exemple Query your content whith parameters Inject the result within the pager class Render with twig
  15. 15. https://confluence.ez.no/display/EZP/How+to+paginate+API+search+results Twig exemples Simple template exemple
  16. 16. Fallback exemple with eZFind https://confluence.ez.no/display/EZP/Legacy+code+and+features
  17. 17. https://confluence.ez.no/display/EZP/View+provider+configuration Template override
  18. 18. https://confluence.ez.no/display/EZP/View+provider+configuration Template override
  19. 19. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 1 KALIOP.COM Demystifying eZPublish 5.x Feature comparison
  20. 20. Feature comparison : white list Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison
  21. 21. Feature comparison : white list Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison
  22. 22. Feature comparison : grey list Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison Now available : https://github.com/netgen/TagsBundle
  23. 23. Feature comparison with details https://docs.google.com/spreadsheet/ccc?key=0AgGKn8SQ_akMdFQ3V U0wMlR3cENxTDZ2dkhUcVN2SWc#gid=0
  24. 24. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 2 KALIOP.COM Demystifying eZPublish 5.x HTTP Cache
  25. 25. eZ Publish 5 cache in a nutshell Twig compiled templates Routing service container translations... Persistence cache User GET / 200 OK Age : 100 Cache-control: Maxage=300 X-Location-Id:2 X-Location-Id:{nodeID} Vary: X-User-Hash expired eZ PROD DEV HTTP Cache Clear on Viewcache event
  26. 26. Understand eZ Publish 5 cache in details
  27. 27. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 2 KALIOP.COM Demystifying eZPublish 5.x How to learn ?
  28. 28. How to learn ? Developer documentation : https://confluence.ez.no/display/EZP/eZ+Publish+Documentation Read the ezdemobundle code (learn with live code exemples !) Vendor/ezsystems/demoBundle/ Learn Symfony basics first !
  29. 29. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 2 KALIOP.COM Demystifying eZPublish 5.x Upgrading opportunity ?
  30. 30. Upgrading effort ? You can migrate your features & existing layers step-by-step (and keep a fallback for other features) If we consider a full migration, you will need to : - Replace all the templating with Twig+PHP controller - Rebuild all the custom PHP dev (modules, scripts, datatypes, template operators, etc.) with new symfony+public API logical - Redesign your cache logical with HTTP cache - Add Varnish on top of your platform If we consider a full migration, you don't have to : Think about the content & the back office
  31. 31. Upgrading oppotunity ? Good if you need to redbuild the front-end for any reasons : (responsive, new design, need ESI massively, etc), opportuniy to rebuild with controllers+Twig Good if you need a RESTful API for external App (mobile, middleware) Good if you have many new custom development to do. Symfony will fit with the best practices (testing, injection dependency)
  32. 32. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 3 KALIOP.COM Demystifying eZPublish 5.x Question ?
  33. 33. Des questions ? 1
  34. 34. 1401 Avenue du Mondial 98 Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 PROCHAINWEBINAR : Kaliop.fr • Bien intégrer sa boutique e-Commerce à son système d'information •Le 17 juin à 16h00. S'inscrire 2
  35. 35. 1401 Avenue du Mondial 98 Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 GROUPE KALIOP Kaliop.fr4
  36. 36. Kaliop.fr5 Legroupe 32
  37. 37. Kaliop.fr6 Legroupe 33

×