SlideShare une entreprise Scribd logo
1  sur  33
FULL STACK
SYMFONY CMS
18 MAR 2016
EZ PLATFORM
DISCLAIMER
Don’t believe a software vendor!
SOME HISTORY & CONTEXT
About eZ
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 Lisbon
Paris
Oslo
Tokyo
Lyon
Cologne
Katowice
45.000+
Members
80 Employees
250.000+
Installations
200+ Partners
5M+ Downloads
Users in
160 Countries
Commercial
Open Source
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
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:
www.ez.no
eZ ENTERPRISE
The next generation of eZ
eZ Platform
eZ Studio
Cloud Services
Personalization | Smart Analytics | Marketing Automation
eZ Studio
For content
creators
For developers
& designers
CONTENT PLATFORM
Build unique digital experiences
that work
CONTENT STUDIO
Create and manage your content
with ease
CONTENT INTELLIGENCE
Maximize the relevance of your
content and grow your business
KEY HISTORICAL CHARACTERISTICS
eZ Platform
www.ez.nowww.ez.no
Key characteristics
www.ez.nowww.ez.no
Key characteristics
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
BUILT ON SYMFONY
The Symfony Full Stack Framework
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…)
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
WHAT DOES eZ PLATFORM DO?
Adds Content Management Features to Symfony
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
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)
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
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
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/
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
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
BUILT FOR A DISTRIBUTED WORLD
Scaling horizontally with abstractions
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 Service
User Interface
APIs
Web Framework & dev
Kernel(s)
Content & Data
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
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
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
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
www.ez.nowww.ez.no
Caching
๏eZ Platform uses the Stash abstraction layer
for 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
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/FOSHttpCac
heBundle
COOL LINKS OF THE DAY
www.ez.nowww.ez.no
Cool Links
๏http://ezplatform.com
๏http://ezstudio.com
๏https://www.symfony.fi/entry/symfony-benchmarks-php-
56-hhvm-and-php-7
๏http://ez.no/Blog/How-Symfony-developers-can-take-
advantage-of-eZ-Platform-a-fully-featured-Symfony-
CMS
๏http://ez.no/Blog/How-eZ-improves-its-software-
development-process-with-Docker
Thank you!
Jani Tarvainen, Professional Services Consultant
jani.tarvainen@ez.no
@velmu

Contenu connexe

Plus de Jani Tarvainen

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsJani Tarvainen
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSJani Tarvainen
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationJani Tarvainen
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsJani Tarvainen
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLJani Tarvainen
 
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMPerformance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMJani Tarvainen
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Jani Tarvainen
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with TwigJani Tarvainen
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishJani Tarvainen
 

Plus de Jani Tarvainen (9)

Aggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam WójsAggregation APi in Ibexa DXP by Adam Wójs
Aggregation APi in Ibexa DXP by Adam Wójs
 
GraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMSGraphQL APIs is with eZ Platform, a Symfony CMS
GraphQL APIs is with eZ Platform, a Symfony CMS
 
Introduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI CustomizationIntroduction to eZ Platform v2 UI Customization
Introduction to eZ Platform v2 UI Customization
 
Easy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.jsEasy Decoupled Sitebuilding with GraphQL and Next.js
Easy Decoupled Sitebuilding with GraphQL and Next.js
 
Doctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQLDoctrine ORM with eZ Platform REST API and GraphQL
Doctrine ORM with eZ Platform REST API and GraphQL
 
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMPerformance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016
 
Isomorphic server side rendering with Twig
Isomorphic server side rendering with TwigIsomorphic server side rendering with Twig
Isomorphic server side rendering with Twig
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 

Dernier

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

eZ Platform - A Full Stack Symfony CMS

Notes de l'éditeur

  1. Roland
  2. This is our vision and mission. We think going through the digital transformation, digitalizing businesses is a very tricky business project, that can cost a lot, we want to make that easier. Our contribution to that is tools and technology solutions to help implement great business vision.