symfony and ez publish: boarding now!

41
1 Symfony & eZ Publish Nicolas Pastorino - VP Community [email protected] - @jeanvoye Boarding Now #ezpublish

Upload: nicolas-pastorino

Post on 11-May-2015

3.630 views

Category:

Technology


0 download

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

TRANSCRIPT

Page 1: Symfony and eZ Publish: boarding now!

1

Symfony & eZ Publish

Nicolas Pastorino - VP [email protected] - @jeanvoye

Boarding Now

#ezpublish

Page 2: Symfony and eZ Publish: boarding now!

We all know that...

Page 3: Symfony and eZ Publish: boarding now!

We all know that...

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

Page 4: Symfony and eZ Publish: boarding now!
Page 5: Symfony and eZ Publish: boarding now!

eZ Publish 4

Page 6: Symfony and eZ Publish: boarding now!

eZ Publish 4

This is not eZ Publish

Page 7: Symfony and eZ Publish: boarding now!

eZ Publish 4

This is not eZ Publishnot anymore

Page 8: Symfony and eZ Publish: boarding now!

Standard Symfony2 App.

(=app)

Page 9: Symfony and eZ Publish: boarding now!

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

Page 10: Symfony and eZ Publish: boarding now!

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

+Full-blownBack-office

Page 11: Symfony and eZ Publish: boarding now!

Standard Symfony2 App.

(=app) +eZ Publish

bundles(PHP & REST APIs

+ Legacy)

vendor/ ezsystems/ ezpublish-kernel

+THIS is eZ Publish 5

Full-blownBack-office

Page 12: Symfony and eZ Publish: boarding now!

The Genesis

5

Page 13: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 6

The Initial Spark

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

• Scalability

• Durable Architecture

• Lively Community!

Page 14: Symfony and eZ Publish: boarding now!

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 ;-)

Page 15: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Page 16: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Page 17: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 8

Leaving the Monolith behind...

Page 18: Symfony and eZ Publish: boarding now!

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

Page 19: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 10

The Available Options

• Home brew

• Zeta Components

• Zend Framework 2

• Symfony 2 (Full Stack!)

Page 20: Symfony and eZ Publish: boarding now!

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

Page 21: Symfony and eZ Publish: boarding now!

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...»

Page 22: Symfony and eZ Publish: boarding now!

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

Page 23: Symfony and eZ Publish: boarding now!

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

Page 24: Symfony and eZ Publish: boarding now!

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!»

Page 25: Symfony and eZ Publish: boarding now!

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

Page 26: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 15

BC: the Challenge

Sandbox Legacy code

Page 27: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 15

BC: the Challenge

Sandbox Legacy code...in a \Closure !

Page 28: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 16

BC: the Challenge

Page 29: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 17

BC: the Challenge

Page 30: Symfony and eZ Publish: boarding now!
Page 31: Symfony and eZ Publish: boarding now!

Dual Core Architecture

Page 32: Symfony and eZ Publish: boarding now!

Dual Core Architecture

Page 33: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 19

BC: Icing on the cake

Page 34: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 19

BC: Icing on the cake

eZ Publish legacy still works independently!

Page 35: Symfony and eZ Publish: boarding now!

Our Communities

20

Page 36: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 21

Our Communities

Page 37: Symfony and eZ Publish: boarding now!

Sensio+eZ RoadshowNicolas Pastorino 21

Our Communities

The Symfony family is growing...

Page 38: Symfony and eZ Publish: boarding now!

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

Page 39: Symfony and eZ Publish: boarding now!

To Sum-up

22

Page 40: Symfony and eZ Publish: boarding now!

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

Page 41: Symfony and eZ Publish: boarding now!

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 !