Symfony and eZ Publish: boarding now!

Preview:

DESCRIPTION

Talk given at the SensioLabs+eZ Roadshow, first stage in Cologne, Germany. Details on the next stages of this roadshow at: http://ez.no/de/Ueber-eZ/Veranstaltungen-Neuigkeiten/Neuigkeiten/Roadshow-eZ-Publish-meets-Symfony

Citation preview

1

Symfony & eZ Publish

Nicolas Pastorino - VP Communitynicolas.pastorino@ez.no - @jeanvoye

Boarding Now

#ezpublish

We all know that...

We all know that...

( “This is not a pipe” - Thanks Magritte)

eZ Publish 4

eZ Publish 4

This is not eZ Publish

eZ Publish 4

This is not eZ Publishnot anymore

Standard Symfony2 App.

(=app)

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

+Full-blownBack-office

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

+THIS is eZ Publish 5

Full-blownBack-office

The Genesis

5

Sensio+eZ RoadshowNicolas Pastorino 6

The Initial Spark

• Focus on our core business• Experience Management• Content Management

• Scalability

• Durable Architecture

• Lively Community!

Sensio+eZ RoadshowNicolas Pastorino 7

The Prerequisites

• Simple Integration with our API

• HMVC (Hierarchical Model View Controller) stack

• Decoupled Components

• Dependency Injection

• New Template Engine

• Extensible, Open, Reliable ;-)

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Once upon a time in a bar in Lisbon...

Sensio+eZ RoadshowNicolas Pastorino 10

The Available Options

• Home brew

• Zeta Components

• Zend Framework 2

• Symfony 2 (Full Stack!)

After the euphoria of the start, problems arose...

Sensio+eZ RoadshowNicolas Pastorino 12

Backwards Compatibility

*Knock knock*

Devs: «Who's there ?»«Product Management»

Devs: «Product Management who ?»«PM who wants to talk about BC»

Devs: «Oh crap...»

Sensio+eZ RoadshowNicolas Pastorino 13

BC: The Objectives

• 100% Data Compatible (same DB scheme)

• Possibility to include legacy templates in the new ones

• Routing fallback

• Load legacy content templates with legacy rules

• Settings

• Access Symfony services from legacy modules

Sensio+eZ RoadshowNicolas Pastorino 13

BC: The Objectives

• 100% Data Compatible (same DB scheme)

• Possibility to include legacy templates in the new ones

• Routing fallback

• Load legacy content templates with legacy rules

• Settings

• Access Symfony services from legacy modules

Sensio+eZ RoadshowNicolas Pastorino 14

BC: the Challenge

Product Management SCRUM Story:«As an eZ Publish user, I don’t want to be pissed off by a

new #@!$% version!»

Sensio+eZ RoadshowNicolas Pastorino 14

BC: the Challenge

Product Management SCRUM Story:«As an eZ Publish user, I don’t want to be pissed off by a

new #@!$% version!»

Challenge Accepted

Sensio+eZ RoadshowNicolas Pastorino 15

BC: the Challenge

Sandbox Legacy code

Sensio+eZ RoadshowNicolas Pastorino 15

BC: the Challenge

Sandbox Legacy code...in a \Closure !

Sensio+eZ RoadshowNicolas Pastorino 16

BC: the Challenge

Sensio+eZ RoadshowNicolas Pastorino 17

BC: the Challenge

Dual Core Architecture

Dual Core Architecture

Sensio+eZ RoadshowNicolas Pastorino 19

BC: Icing on the cake

Sensio+eZ RoadshowNicolas Pastorino 19

BC: Icing on the cake

eZ Publish legacy still works independently!

Our Communities

20

Sensio+eZ RoadshowNicolas Pastorino 21

Our Communities

Sensio+eZ RoadshowNicolas Pastorino 21

Our Communities

The Symfony family is growing...

Sensio+eZ RoadshowNicolas Pastorino 21

Our Communities

The Symfony family is growing...

...and we all have something to share:- events- code

- best practices- knowledge

- tools & methods

http://share.ez.no | @ezcommunity

To Sum-up

22

eZ Publish 5 is not eZ Publish 4(but works perfectly with it - BC)

Two Communities/Ecosystems meeting, at last.

eZ Publish 5 is a standard Symfony2 application

eZ Publish Community http://share.ez.no

eZ Publish 5 Community Projecthttps://github.com/ezsystems/ezpublish-community

http://share.ez.no/download

eZ Systems & eZ Publish Enterprise Editionhttp://ez.no

Find me on Twitter @jeanvoyeSlides available soon athttp://slideshare.net/jeanvoye

Merci !

Recommended