37
1401 Avenue du Mondial 98 Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 1 KALIOP.COM Demystifying eZPublish 5.x for eZPublish 4.x developers

Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Embed Size (px)

DESCRIPTION

How and why to migrate eZ Publish 4 to eZ publish 5 : Limitations, benefits and complexity. How eZ publish 5 may revolutionize the way you build websites with the new symfony2 stack

Citation preview

Page 1: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

1 KALIOP.COM

Demystifying eZPublish 5.xfor eZPublish 4.x developers

Page 2: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Major changes in a nutshell for developers

2

Replace your template fetch with PHP (HMVC)

Replace your viewcache / cacheblocks withHTTP Cache / ESI (Varnish)

Replace your old eztemplate code withTWIG / Assetics

New public API & Symfony full-stack for dev(dependency injection, bundles...)

Replace your read-only REST API withA eZ custom RESTful API V2

Replace your old INI files with YAML

New ezdemobundle to bootstrap a project or learn

Page 3: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Major changes in a nutshell for editors ?

3

Same back office with new... (old) designrun with full ezpublish_legacy stack

Page 4: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

ezdemobundle ?

4

Page 5: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

5 KALIOP.COM

Demystifying eZPublish 5.xPlatform Architecture

Page 6: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Platform Architecture

6

https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?

Page 7: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Full legacy mode (eZP 4.8+... BO)

7

https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?

Page 8: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

eZPublish 5 through legacy (default)

8

https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?

Page 9: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

eZPublish 5 full symfony (exp.)

9

https://confluence.ez.no/pages/viewpage.action?pageId=11403666#eZPublish5Architecture-Introduction&Overview-Whatarethechanges?

Page 10: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

10

KALIOP.COM

Demystifying eZPublish 5.xCode basics

Page 11: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Folders

11

Behat / phpUnit testingCache / global configs / logs

Your bundle (controllers / templates / configs, tests, services...)

Exposed to vhost (index.php, symlinks to assets)

3rd part libs & eZ5 new kernel

Stand-alone eZ legacy

Page 12: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

Folders

12

Your controllers (contain queries)

Your templates

Your global settings

settings / templates overrides

Page 13: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Le 15/05/2014

SiteAccess / mode setup

13

Import settings

Same eZ4 HostMap logical + additionnal rules

Root node / index_page

Set legacy mode for admin

Page 14: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

https://confluence.ez.no/display/EZP/How+to+paginate+API+search+results

Simple (fetch) exemple

Query your content whith parameters

Inject the result within the pager class

Render with twig

Page 15: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

https://confluence.ez.no/display/EZP/How+to+paginate+API+search+results

Twig exemples

Simple template exemple

Page 16: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Fallback exemple with eZFind

https://confluence.ez.no/display/EZP/Legacy+code+and+features

Page 17: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

https://confluence.ez.no/display/EZP/View+provider+configuration

Template override

Page 18: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

https://confluence.ez.no/display/EZP/View+provider+configuration

Template override

Page 19: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

19

KALIOP.COM

Demystifying eZPublish 5.xFeature comparison

Page 20: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Feature comparison : white list

Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison

Page 21: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Feature comparison : white list

Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison

Page 22: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Feature comparison : grey list

Full list : https://confluence.ez.no/display/EZP/4.x+feature+comparison

Now available : https://github.com/netgen/TagsBundle

Page 23: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Feature comparison with details

https://docs.google.com/spreadsheet/ccc?key=0AgGKn8SQ_akMdFQ3VU0wMlR3cENxTDZ2dkhUcVN2SWc#gid=0

Page 24: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

24

KALIOP.COM

Demystifying eZPublish 5.xHTTP Cache

Page 25: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

eZ Publish 5 cache in a nutshell

Twig compiled templatesRoutingservice containertranslations...

Persistence cache

User

GET /

200 OKAge : 100

Cache-control: Maxage=300

X-Location-Id:2

X-Location-Id:{nodeID}Vary: X-User-Hash

expired

eZ

PROD

DEV

HTTP Cache

Clear onViewcacheevent

Page 26: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Understand eZ Publish 5 cache in details

Page 27: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

27

KALIOP.COM

Demystifying eZPublish 5.xHow to learn ?

Page 28: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

How to learn ?

Developer documentation :https://confluence.ez.no/display/EZP/eZ+Publish+Documentation

Read the ezdemobundle code (learn with live code exemples !)Vendor/ezsystems/demoBundle/

Learn Symfony basics first !

Page 29: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

29

KALIOP.COM

Demystifying eZPublish 5.xUpgrading opportunity ?

Page 30: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Upgrading effort ?

You can migrate your features & existing layers step-by-step (and keep a fallback for other features)

If we consider a full migration, you will need to :

- Replace all the templating with Twig+PHP controller

- Rebuild all the custom PHP dev (modules, scripts, datatypes, template operators, etc.) with new symfony+public API logical

- Redesign your cache logical with HTTP cache

- Add Varnish on top of your platform

If we consider a full migration, you don't have to :Think about the content & the back office

Page 31: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Upgrading oppotunity ?

Good if you need to redbuild the front-end for any reasons : (responsive, new design, need ESI massively, etc), opportuniy to rebuild with controllers+Twig

Good if you need a RESTful API for external App (mobile, middleware)

Good if you have many new custom development to do.Symfony will fit with the best practices (testing, injection dependency)

Page 32: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98 Immeuble Oxygène

34000 Montpellier04 99 13 68 60

32

KALIOP.COM

Demystifying eZPublish 5.xQuestion ?

Page 33: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Des questions ?

1

Page 34: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98Immeuble Oxygène34000 Montpellier

04 99 13 68 60

PROCHAIN WEBINAR :

Kaliop.fr

• Bien intégrer sa boutique e-Commerce à son système d'information•Le 17 juin à 16h00. S'inscrire

2

Page 35: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

1401 Avenue du Mondial 98Immeuble Oxygène34000 Montpellier

04 99 13 68 60

GROUPE KALIOP

Kaliop.fr4

Page 36: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Kaliop.fr5

Le groupe

32

Page 37: Demystifying eZ Publish 5.x for eZ Publish 4.0 developers

Kaliop.fr6

Le groupe

33