Discover eZ Publish: why you have to know this product

Embed Size (px)

Citation preview

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