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.
3. Agenda
First things first
Introducing eZ Systems
The past: eZ Publish 3 & 4
The present: eZ Publish 5
The future: building on the foundations
Bertrand Dunogier 27/02/2013 3
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 installations
Bertrand Dunogier 27/02/2013 5
6. The past : eZ Publish 3 & 4
Distribution model
Community project
â˘
GPL v2 license
â˘
Can be downloaded from http://share.ez.no/
â˘
or checked out from http://github.com/ezsystems
â˘
Free of any charge
â˘
Built every month
â˘
Bleeding edge, only continuous QA, no freeze
â˘
Drives innovation
â˘
Public repository used by both community and eZ
Bertrand Dunogier 27/02/2013 6
7. The past : eZ Publish 3 & 4
Distribution model
Enterprise 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 place
Bertrand Dunogier 27/02/2013 7
8. Agenda
CXM : 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
10. The past : eZ Publish 3 & 4
A huge legacy
A 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 system
Bertrand Dunogier 27/02/2013 10
11. The past : eZ Publish 3 & 4
A huge legacy
A 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 included
Bertrand Dunogier 27/02/2013 11
12. The past : eZ Publish 3 & 4
A huge legacy
An 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 jobs
Bertrand Dunogier 27/02/2013 12
13. The past : eZ Publish 3 & 4
An 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 versions
Bertrand Dunogier 27/02/2013 13
15. The present : eZ Publish 5
The 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 migration
Bertrand Dunogier 27/02/2013 15
16. The present : eZ Publish 5
The 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 engines
Bertrand Dunogier 27/02/2013 16
17. The present : eZ Publish 5
The Genesis
Backwards Compatibility
*Knockknock*
Devs: ÂŤWho's there?Âť
ÂŤProduct ManagementÂť
Devs: ÂŤProduct Management who?Âť
ÂŤProduct management who wants backwards compatibilityÂť
Devs: ÂŤOh crap...Âť
Bertrand Dunogier 27/02/2013 17
18. The present : eZ Publish 5
The 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
ACCEPTED
Bertrand Dunogier 27/02/2013 18
19. The present : eZ Publish 5
The 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 Cachable
Bertrand Dunogier 27/02/2013 19
20. The present : eZ Publish 5
The Genesis
All of this is powered by Symfony 2 !
â˘
Framework
âSettings
âServices container
â˘
Routing system
â˘
HMVC architecture
â˘
HTTP kernel
â˘
Twig template engine
Bertrand Dunogier 27/02/2013 20
22. The future : let's 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 partners
Bertrand Dunogier 27/02/2013 22
23. The future : let's 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 scratch
Bertrand Dunogier 27/02/2013 23
24. The future : let's 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 User
Bertrand Dunogier 27/02/2013 24
25. Your next steps in the eZ Community
Twitter @ezcommunity
Learn http://share.ez.no/learn
Google+ http://bit.ly/ezcty-gplus
Get Involved http://share.ez.no/get-involved
Keep Track
http://share.ez.no/get-involved/exchange#RSS
Forge Ahead http://projects.ez.no
Download eZ Publish Community Project
http://share.ez.no/download
Suggest Feature Ideas http://share.ez.no/roadmap
Be an eZ Publish Developer
http://share.ez.no/get-involved/develop#resources
Bertrand Dunogier 27/02/2013 25
26. The end
Questions ?
Bertrand Dunogier 27/02/2013 26