eZ Platform - A Full Stack Symfony CMS

33
FULL STACK SYMFONY CMS 18 MAR 2016 EZ PLATFORM

Transcript of eZ Platform - A Full Stack Symfony CMS

Page 1: eZ Platform - A Full Stack Symfony CMS

FULL STACK SYMFONY CMS18 MAR 2016

EZ PLATFORM

Page 2: eZ Platform - A Full Stack Symfony CMS

DISCLAIMERDon’t believe a software vendor!

Page 3: eZ Platform - A Full Stack Symfony CMS

SOME HISTORY & CONTEXTAbout eZ

Page 4: eZ Platform - A Full Stack Symfony CMS

www.ez.no

IN NUMBERS

Skien

15 year old software company, dedicated to provide tools and solutions where Content means Business. We are recognized as a leader in

the domain of Content Management that constantly stays on the edge of innovation.

New York LisbonParis

Oslo

Tokyo

Lyon

Cologne

Katowice

45.000+ Members

80 Employees

250.000+Installations

200+ Partners

5M+ Downloads

Users in 160 Countries

Commercial Open Source

Page 5: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

eZ Publish, 1999-2015

๏ Open Source ๏ First version in 2000๏ Rewrite for eZ Publish 3 being more a CMF on PHP4 ๏ Development of eZ Components๏ First PHP5 version developed by the eZ Community๏ Addition of CXM components from 2011

Page 6: eZ Platform - A Full Stack Symfony CMS

www.ez.no

OUR SOFTWARE SOLUTIONS in 2016

By providing tools, solutions & services through a digital business platform, the eZ Publish Platform, covering a range of business needs:

Page 7: eZ Platform - A Full Stack Symfony CMS

www.ez.no

eZ ENTERPRISE

The next generation of eZ

eZ Platform

eZ Studio

Cloud ServicesPersonalization | Smart Analytics | Marketing

Automation

eZ Studio

For contentcreators

For developers& designers

CONTENT PLATFORMBuild unique digital experiences that work

CONTENT STUDIOCreate and manage your contentwith ease

CONTENT INTELLIGENCEMaximize the relevance of your content and grow your business

Page 8: eZ Platform - A Full Stack Symfony CMS

KEY HISTORICAL CHARACTERISTICSeZ Platform

Page 9: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Key characteristics

Page 10: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Key characteristics

Page 11: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

When is eZ Platform used?

๏More complex sites in terms of content architecture

๏Multilingual enterprise sites๏ “Integration heavy” web projects๏Content Reuse / CaaS๏Custom E-commerce

Page 12: eZ Platform - A Full Stack Symfony CMS

BUILT ON SYMFONYThe Symfony Full Stack Framework

Page 13: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

The Symfony Framework

๏Symfony is a popular general purpose web framework with a million downloads a month

๏Developers familiar with the Symfony framework can start working with eZ Platform quickly

๏The skillset is transferrable to other platforms built with it (OroCRM, Sylius, Akeneo…)

Page 14: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

The Symfony Framework

๏A modern PHP framework that handles basics such as routing, caching, i18n, forms and more…

๏Focuses on the HTTP request-response model๏Actions like caching and other things very

fluent, since you’ll be working with responses๏A solid architecture that allows extending

functionality with a Bundle mechanism

Page 15: eZ Platform - A Full Stack Symfony CMS

WHAT DOES eZ PLATFORM DO?Adds Content Management Features to Symfony

Page 16: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

eZ Platform

๏Content Management is a complex problem domain

๏eZ Systems has over 15 years of experience in it๏Solid concepts for multisite and multilingual

publishing with a semantic content model๏Exposes PHP APIs and REST APIs to developers

Page 17: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Content Repository

A Content Repository๏A flexible storage for content๏Fully integrated Solr search for high

performance with millions of content items๏Sends API signals (on all operations like

delete, move, remove subtree, indexing…) for Micro Workflows

๏Pluggable storage backends (currently SQL)

Page 18: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

REST API

A comprehensive REST API๏A public interface to interact with the

repository๏The admin interface uses it - a first class

citizen! ๏For content syndication or straight with front

end technologies like Angular, React or Vue…๏Extensible, you can aggregate data from any

Symfony data models like Doctrine ORM

Page 19: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Dynamic routing

Dynamic Routing๏Uses the ChainRouter from Symfony CMF๏Matches dynamic URLs from the repository:

๏http://example.com/products/bicycles/kids๏Works with the static routes you’ve made:

๏http://example.com/polls/123

Page 20: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Siteaccess concept

Siteaccess concept๏Matching a URL to a set of configurations๏Typical use cases are multisites and language

versions๏http://example.de/๏http://example.com/de/๏http://de.example.com/

Page 21: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

User Interface

User Interface๏A UI for managing the content, previewing,

etc.๏Uses the REST API for a no-pageloads

experience๏Designed to be extensible, developers can

add menu items๏Enables centralizing of all data editing in your

Symfony applications to one interfaces๏you can keep using Sonata or others, too

Page 22: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

User and Permissions management

User and Permissions management๏A powerful user and permissions

management system using users, user groups and roles

๏Uses the Symfony session transparently๏You can store users elsewhere (Active

Directory, LDAP, FOSUserBundle, etc.) and mock an eZ user when accessing the content repository

Page 23: eZ Platform - A Full Stack Symfony CMS

BUILT FOR A DISTRIBUTED WORLDScaling horizontally with abstractions

Page 24: eZ Platform - A Full Stack Symfony CMS

www.ez.no

THE TARGETED ARCHITECTURE

Storage

eZ Platform Business Logic

Persistence & IO SPI

Public API

Symfony2 Web Framework

REST API

Twig Template Engine

Website / Demo siteCMS User

Interface

End Users(Website users)

Editor, Marketer, Admin(CMS users)

Web ServiceUser Interface

APIs

Web Framework & dev

Kernel(s)

Content & Data

Page 25: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Application Servers

๏PHP scales well by nature - just add more boxes๏PHP 7 supported, big performance wins: https://

www.symfony.fi/entry/symfony-benchmarks-php-56-hhvm-and-php-7

๏Docker to be the deployment choice going forward

๏https://github.com/ezsystems/docker-php

Page 26: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Database

๏Uses the Doctrine DBAL for SQL abstraction๏MySQL and MariaDB are now officially supported๏PostgreSQL, Oracle, MSSQL… technically feasible๏http://

www.doctrine-project.org/projects/dbal.html

Page 27: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

File storage

๏eZ Platform uses the FlySystem abstraction layer for file storage

๏A number of options out of the box: S3, Dropbox, Azure Blob Storage…

๏Switching is a matter of configuration๏http://flysystem.thephpleague.com

Page 28: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Search

๏Solr, a separate search server built with Java๏Communications over a RESTful API๏Even higher performance and scaling with

clustering๏https://

github.com/MSOpenTech/Windows-Azure-Solr

Page 29: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

Caching

๏eZ Platform uses the Stash abstraction layerfor caching

๏By default file caches, but can be switched to Memcached, Redis…

๏Scale cache yourself or using Azure Redis, for example

๏http://www.stashphp.com

Page 30: eZ Platform - A Full Stack Symfony CMS

www.ez.nowww.ez.no

HTTP layer

๏eZ Platform uses the FOSHttpCache for HTTP cache controlling

๏Supports user contexts, purging using tags…๏Edge Side Includes (ESI) using HMVC from

Symfony๏Example Varnish configurations out of the box๏https://

github.com/FriendsOfSymfony/FOSHttpCacheBundle

Page 31: eZ Platform - A Full Stack Symfony CMS

COOL LINKS OF THE DAY

Page 33: eZ Platform - A Full Stack Symfony CMS

Thank you!Jani Tarvainen, Professional Services [email protected]@velmu