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.

Discover eZ Publish: why you have to know this product


Published on

A presentation of eZ Publish from an evolution perspective: what our product went through, and how our long experience of content management has allowed us to be very ambitious in our rewrite of it.

Published in: Technology
  • Be the first to comment

Discover eZ Publish: why you have to know this product

  1. 1. Discover eZ Publish Why you have to know this productBertrand Dunogier #confooLead Engineer – eZ
  2. 2. Agenda
  3. 3. AgendaFirst things firstIntroducing eZ SystemsThe past: eZ Publish 3 & 4The present: eZ Publish 5The future: building on the foundationsBertrand Dunogier 27/02/2013 3
  4. 4. Introducing eZ Systems
  5. 5. eZ Systems AS founded in 1999 in Norway More than 13 years commitment to Commercial Open Source 105 employees Continued growth: Supporting over 15,000 customers in 120 countries Established ecosystem: More than 350 Partners and a strong community of 42,000 + members Over 5 million downloads and 250,000 installationsBertrand Dunogier 27/02/2013 5
  6. 6. The past : eZ Publish 3 & 4Distribution modelCommunity project• GPL v2 license• Can be downloaded from• or checked out from• Free of any charge• Built every month• Bleeding edge, only continuous QA, no freeze• Drives innovation• Public repository used by both community and eZBertrand Dunogier 27/02/2013 6
  7. 7. The past : eZ Publish 3 & 4Distribution modelEnterprise edition• Proprietary license (BUL, TTL)• Certified and supported by eZ Systems• Released twice a year (may and november)• Each release goes through 3 month of QA• Versions are maintained for 3 years• Gives access to extra features (recommendation,marketing automation...) as well as the market placeBertrand Dunogier 27/02/2013 7
  8. 8. AgendaCXM : content management on steroids A digital presence means much more than a CMS Where did they come from ? What did they do ? What can I sell them ? Will they find it ? Did they ?Bertrand Dunogier 27/02/2013 8
  9. 9. The past: eZ Publish 3 & 4
  10. 10. The past : eZ Publish 3 & 4A huge legacyA powerful content model● Up to 64 / 128 languages● 100% flexible, semantic content model ● text line, image, email, author, rich text, content relation, custom one !...● Vertical, horizontal and transversal structure● Multilingual content based URLs ➔ /Conferences/Confoo-2013/Discover-eZ-Publish ➔ /Conferences/Confoo-2013/Decouvrez-eZ-Publish● Advanced permissions systemBertrand Dunogier 27/02/2013 10
  11. 11. The past : eZ Publish 3 & 4A huge legacyA rich presentation system:● Custom, compiled templates● Full separation of presentation and content● Powerful override mechanism● A design system that reduces duplicates● Automatic image alias generation● Everything can be overriden, backoffice includedBertrand Dunogier 27/02/2013 11
  12. 12. The past : eZ Publish 3 & 4A huge legacyAn extensible system● Custom datatypes● Template operators and functions● Data fetch functions● Modules & views (MVC like)● Permissions● URL alias translators● Login & SSO handlers● Workflow events● Shell scripts● Crontab jobsBertrand Dunogier 27/02/2013 12
  13. 13. The past : eZ Publish 3 & 4An era of maintenance• 13 years of maintenance• Complete BC and migration path from 3.0 to 4.7• Solid, stable base architecture –PHP 4 object oriented model –MVC layer –ORM model (eZPersistentObject) –Proven custom template engine• Parallel maintenance of many stable versionsBertrand Dunogier 27/02/2013 13
  14. 14. The present: eZ Publish 5
  15. 15. The present : eZ Publish 5The Genesis A well defined goal –Properly defined, self documented public API –Future proof architecture –Flexible enough to allow any kind of storage –Tested –Extensible –Backward compatible architecture •Existing content must be compatible as is •Extra BC layers to ease projects migrationBertrand Dunogier 27/02/2013 15
  16. 16. The present : eZ Publish 5The Genesis A brand new architecture• Specified, documented public API• Stateless objects architecture –Read only value objects –Update and create structs• Service oriented –Allows re-implementations of services –Makes dependencies MUCH easier• Totally independent storage enginesBertrand Dunogier 27/02/2013 16
  17. 17. The present : eZ Publish 5The Genesis Backwards Compatibility *Knockknock* Devs: «Whos there?» «Product Management» Devs: «Product Management who?» «Product management who wants backwards compatibility» Devs: «Oh crap...»Bertrand Dunogier 27/02/2013 17
  18. 18. The present : eZ Publish 5The Genesis• Full legacy database compatibility: –No structure changes at all –100% data compatibility• Full execution of the legacy version• Execute legacy code• Routing fallback• Use eZ Publish 5 services from legacy code• Include legacy templates as is• Two-ways settings compatibility CHALLENGE ACCEPTEDBertrand Dunogier 27/02/2013 18
  19. 19. The present : eZ Publish 5The Genesis A full featured RESTfull API• Basic / Session based authentication –oAuth2 in a future version• Idempotent• CSRF protection• XML / JSON as input and/or output• Almost 100% HATEOAS compatible• HTTP CachableBertrand Dunogier 27/02/2013 19
  20. 20. The present : eZ Publish 5The Genesis All of this is powered by Symfony 2 !• Framework –Settings –Services container• Routing system• HMVC architecture• HTTP kernel• Twig template engineBertrand Dunogier 27/02/2013 20
  21. 21. The future: lets build up !
  22. 22. The future : lets build !More storage Finishing up the REST API• Adding oAuth2 authentication• Built-in PHP REST client –Reimplementation of the API services –The same code can be executed locally or remotely !• Built-in JS REST client –Required for our GUIs –Must-have for our partnersBertrand Dunogier 27/02/2013 22
  23. 23. The future : lets build !More storage Replacing legacy code• eZ Publish 4 really had a lot of features• Most of those need to be rewritten/replaced• Some are replaced by Symfony features• Others will need to be developed from scratchBertrand Dunogier 27/02/2013 23
  24. 24. The future : lets build !New interfaces : backoffice New backoffice• An administration backoffice rewritten from scratch –Mix of standard PHP / Ajax –Modern –Based on new eZ Publish 5 controllers• Designed for two personas –Casual User –Power UserBertrand Dunogier 27/02/2013 24
  25. 25. Your next steps in the eZ CommunityTwitter @ezcommunityLearn Involved Track Ahead http://projects.ez.noDownload eZ Publish Community Project Feature Ideas an eZ Publish Developer Dunogier 27/02/2013 25
  26. 26. The end Questions ?Bertrand Dunogier 27/02/2013 26
  27. 27. The endTwitter: @bdunogierGoogle+: Dunogier 27/02/2013 27