discover ez publish: why you have to know this product
TRANSCRIPT
PowerPoint Presentation
Discover eZ Publish
Why you have to
know this product
Bertrand Dunogier
Lead Engineer eZ Systems
[email protected]
#confoo
Agenda
Agenda
First things first
Introducing eZ Systems
The past: eZ Publish 3 & 4
The present: eZ Publish 5
The future: building on the foundations
Introducing eZ Systems
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
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
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
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 ?
The past: eZ Publish 3 & 4
The past: eZ Publish 3 & 4
A huge legacy
A powerful content modelUp to 64 / 128 languages
100% flexible, semantic content modeltext 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
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
The past: eZ Publish 3 & 4
A huge legacy
An extensible systemCustom 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
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 architecturePHP 4 object oriented model
MVC layer
ORM model (eZPersistentObject)
Proven custom template engine
Parallel maintenance of many stable versions
The present: eZ Publish 5
The present: eZ Publish 5
The Genesis
A well defined goalProperly defined, self documented public API
Future proof architecture
Flexible enough to allow any kind of storage
Tested
Extensible
Backward compatible architectureExisting content must be compatible as is
Extra BC layers to ease projects migration
The present: eZ Publish 5
The Genesis
A brand new architectureSpecified, documented public API
Stateless objects architectureRead only value objects
Update and create structs
Service orientedAllows re-implementations of services
Makes dependencies MUCH easier
Totally independent storage engines
The present: eZ Publish 5
The Genesis
Backwards Compatibility
*Knockknock*Devs: Who's there?Product ManagementDevs: Product Management who?Product management who wants backwards compatibilityDevs: Oh crap...
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
The present: eZ Publish 5
The Genesis
A full featured RESTfull APIBasic / Session based authenticationoAuth2 in a future version
Idempotent
CSRF protection
XML / JSON as input and/or output
Almost 100% HATEOAS compatible
HTTP Cachable
The present: eZ Publish 5
The Genesis
All of this is powered by Symfony 2 !FrameworkSettings
Services container
Routing system
HMVC architecture
HTTP kernel
Twig template engine
The future: let's build up !
The future: let's build!
More storage
Finishing up the REST APIAdding oAuth2 authentication
Built-in PHP REST clientReimplementation of the API services
The same code can be executed locally or remotely !
Built-in JS REST clientRequired for our GUIs
Must-have for our partners
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
The future: let's build!
New interfaces: backoffice
New backofficeAn administration backoffice rewritten from scratchMix of standard PHP / Ajax
Modern
Based on new eZ Publish 5 controllers
Designed for two personasCasual User
Power User
Your next steps in the eZ Community
Twitter @ezcommunityLearn http://share.ez.no/learnGoogle+ http://bit.ly/ezcty-gplusGet Involved http://share.ez.no/get-involvedKeep Track http://share.ez.no/get-involved/exchange#RSS
Forge Ahead http://projects.ez.noDownload eZ Publish Community Project http://share.ez.no/downloadSuggest Feature Ideas http://share.ez.no/roadmapBe an eZ Publish Developer http://share.ez.no/get-involved/develop#resources
The end
Questions?
The end
Twitter: @bdunogierGoogle+: http://gplus.to/BertrandDunogierSlideShare: http://slideshare.net/BertrandDunogier
Bertrand Dunogier
27/02/2013