This document describes the EzSiteBuilderBundle, which enables Webfactory features in eZ Platform. The bundle provides an interface to generate site models, customers, and sites based on models. It aims to help customers deploy multiple sites based on the same model(s). Potential users include infrastructures with multiple business units that want each unit to deploy their own sites respecting common themes and functionality. A customer represents a content/media root structure and roles/policies, and can generate multiple sites. A model defines a site architecture as a content structure and Symfony bundle, acting as a demo for customers. Sites are generated by copying a model, and can optionally extend the model's themes and functionality. The roadmap includes final
2. 2
WHAT DOES MEAN SITE BUILDER ?
Provide interface to generate
site models
customers
sites based on site models
Provide tools to deliver
models structure
sites customization
Aims to be an useful tool to help customers
deploying multiple sites based on same
model(s)
customer 1
customer n
models
customer 2
.
.
.
sites
cust 1
sites
cust 2
...
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
3. 3
WHO CAN BE INTERESTED ?
Infrastructure with multiple Business Unit
Each Business Unit would be able to deploy her own sites
Each site respect Infrastructure defining themes and functionalities
Each Business Unit would be able to extend themes and functionalities
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
4. 4
WHAT IS A CUSTOMER ?
a customer represent content/media root structure, global roles and policies
a customer represent symfony root folder where sites bundles will be generated
a customer is finally represented by multiple end-user, creator and/or editor
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
5. 5
WHAT IS A MODEL ?
a model is a content/media structure representing a site architecture, defining pagelayout
management, header/footer ... construction ... with Lorem Ipsum examples covering all
site specification data structure
a model is also a Bundle defining Controllers, Views, Twig extension ... covering all site
specification functionalities
so a model is a site demo that developers would build and customers consult to validate
specification for future site based on this model
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
6. 6
HOW SITES INTERACT WITH MODELS ?
customer end-users would generate site based on model
they choose a model, named her site
for each language provided by eZ Platform, they would define multiple siteaccess for one
site
a new content/media structure is created as a model structure subtree copy under
customer root
a site bundle is generated inherited the model bundle choosed
so customers would have new site they can now contribute
if customer need to extend theme or functionality, developer would override Controllers,
Views, Assets ...
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
7. 7
HOW SITES INTERACT WITH MODELS ?
Administrator/Developer generate new model
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
8. 8
HOW SITES INTERACT WITH MODELS ?
Model content/media structure and Symfony Bundle are generated
Developers can now add content, build Controllers, Views ...
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
9. 9
HOW SITES INTERACT WITH MODELS ?
Administrator/Developers will now generate new customers
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
10. 10
HOW SITES INTERACT WITH MODELS ?
New customer root content, Symfony structure are generated
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
11. 11
HOW SITES INTERACT WITH MODELS ?
Customer can now generate new site choosing site model
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle
12. 12
HOW SITES INTERACT WITH MODELS ?
Site content structure and site Bundle are now generated
SCENARIO
OCTOBRE 2016
eZ Conference - SiteBuilderBundle