1. Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projects
Chapter 1 : Multi-site Deployment strategy
Chapter 2 : Case study : “The Website generator”
Chapter 3 : Case study : CRT Picardie
Kaliop
Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
2. Introduction to multi-site projects
Why to deploy a multi-site system ?
– Content sharing (content, medias, users, cross-publishing)
– Features factorization (1 development for N websites)
• Content features : News, articles, folders, pictures, videos, …
• Community features : Comments, Blogs, Forums, Newsletters, …
• Information system features : LDAP, SSO, Web Services,
Databases, …
– Cost optmization
• Implicit features factorization result
• main motivation ?
eZ Publish & Deployment of a multi-site platform 25/06/2009 2
3. Introduction to multi-site projects
For what kind of projects ?
– Vertical Network organization
• International, national, local Websites
– Horizontal Network organization
• Thematics Websites
• Temporary publications (events)
– Product business model (white labelling)
• Website generator – Website factory (contents, blogs, forums, …)
• Low costs Websites resseling : « ready to use »
eZ Publish & Deployment of a multi-site platform 25/06/2009 3
4. Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projects
Chapter 1 : Multi-site Deployment strategy
Chapter 2 : Case study : “The Website generator”
Chapter 3 : Case study : CRT Picardie
Kaliop
Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
5. Chapter 1 : Multi-site deployment strategy
• 1 eZ Installation
• 1 Database for each website
• 1 var directory for each website
Website 1 Website 2 Website 3 Website N
• 1 siteaccess for each website (1
var & 1 database settings)
Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N
VAR 1 VAR 2 VAR 3 VAR N
Database
Server
Database 1 Database 2 Database 3 Database N
eZ Publish & Deployment of a multi-site platform 25/06/2009 5
6. Chapter 1 : Multi-site deployment strategy
Advantages :
– SPOF Database management : 1 database crash could not affect all
Websites
– 1 eZ Publish version management (extension sharing)
Common issues / possible solutions :
– How to share content ?
• Users : External LDAP (LDAP syndication) – SSO if needed (CAS, LemonLDAP)
• News : RSS Syndication (native, or eZ Components ‘Feed’ for update support)
• Classic content : XML Syndication (eZ Components ‘Feed’ for update support)
• Massive & complex database : Extranet database, and eZ connectivity using
‘module’ (classic browsing), template operator (classic viewing), or a custom
datatype (data relations)
Think about eZ Find 2.0 :
eZ Find (SolR) is able to index, query, cache and browse all your multi database contents from
one eZ installation to another.
eZ Publish & Deployment of a multi-site platform 25/06/2009 6
7. Chapter 1 : Multi-site deployment strategy
• 1 eZ Installation
• 1 Database for all websites
• 1 var directory for all websites
Website 1 Website 2 Website 3 Website N
• 1 siteaccess for each website (1
subtree for each website)
Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N
VAR
Subtree 1/2/X Subtree 1/2/Y Subtree 1/2/Z Subtree 1/2/N
Database
Server Fail over
Database
eZ Publish & Deployment of a multi-site platform 25/06/2009 7
8. Chapter 1 : Multi-site deployment strategy
Advantages :
– Easy content sharing : Content, user, media, …
– Fits to website factory : Model storage, subtree generation
Common issues / possible solutions :
– MySql SPOF : Fail-over (Master / Slave and Load Balancer)
– Multi front-end servers : Clustering, increase performance using
stalecache (upgrade to eZ 4.1+)
– Developers issues (Next in Chaptre 2)
eZ Publish & Deployment of a multi-site platform 25/06/2009 8
9. Chapter 1 : Multi-site deployment strategy
How to make a choice between mono and multi database ?
Questions Mono database Multi database
Number of Website to -100 +500
generate ?
SPOF sequel Low High
Content, media, users +30% -10%
& roles sharing
proportion
Think about mixing solutions, and sharing one « up-to-date » eZ Publish container :
« Mono database » for sharing your non strategic Websites (corporate, cash-less)
AND
« Specific databases » for your highly strategic & specifics Websites (e-Business)
eZ Publish & Deployment of a multi-site platform 25/06/2009 9
10. Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projects
Chapter 1 : Multi-site Deployment strategy
Chapter 2 : Case study : “The Website generator”
Chapter 3 : Case study : CRT Picardie
Kaliop
Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
11. Chapter 2 : Case study - “The Website generator”
« Website models » organization :
• Root
• Shared content (content / media)
Shared content :
• Referential 1
• « Object relations » use / « Add location » use
• Referential 2
• Frequently use case : Extranet datasources imports
• Website models
• Model 1 (« website_model_1 » content class)
• Default content tree
• Model 2 (« website_model_2 » content class) Subtree
• Default content tree duplication
• Websites
• Mywebsite 1 (« website_model_1 » content class)
• Content tree (initialized from default content tree)
• Mywebsite 2 (« website_model_1 » content class)
• Content tree (initialized from default content tree)
• Mywebsite 3 (« website_model_2 » content class)
• Content tree (initialized from default content tree)
eZ Publish & Deployment of a multi-site platform 25/06/2009 11
12. Chapter 2 : Case study - “The Website generator”
Typical « model » Content Class :
– Web site project name : « My Web site »
– Title : « My Web site title »
– Baseline : « My baseline »
– META Description (Home page description) + to concatenate to subtree pages keywords
– META Keywords (Home page keywords) + to concatenate to subtree pages keywords
– Top banner (object relation to Flash media, or custom « diaporama » class)
– Logos (objects relation to Images medias)
– Etc.
Each content class for each Website model
Creating a content class is more scalable for :
• Webmastering settings (what your webmaster has to manage ?)
• Policies managements (ParentClass)
• Templates management (content class override, forget « node_id »)
• And more…(you need to forget « node_id » for massive generator)
eZ Publish & Deployment of a multi-site platform 25/06/2009 12
13. Chapter 2 : Case study - “The Website generator”
Website model scalability :
– 2, 3 or 4 columns ?
– Fixed or free block settings (left, right, center) ?
– Optional features (sitemap, search engine, google sitemap,
RSS) ?
How to define your « model » scalability ?
– 1 model (classes, templates) for all Website prototypes ?
– 1 model (classes, templates) per Website prototype ?
Think about managing settings, policies & features models inside your content classes :
• « News_folder » class node : (title / top text / items per page / …,)
• « Block » class node : (position=left / related objects / …)
• « Block » class node : (position=right / related objects / …)
• « News » class node…
• « Article_folder » class node : (title / top text / show table of content / …,)
• « Media_folder » class node : (title / top text / items per page / display=thumbnail / …,)
Think about eZ Flow
eZ Publish & Deployment of a multi-site platform 25/06/2009 13
14. Chapter 2 : Case study - “The Website generator”
Front-End & Back-End Siteaccess
FRONT-END Siteaccess BACK-END Siteaccess
Root http://admin.mydomainname.com
– Website models
• Model 1 http://model1.mywebfactory.com
• Model 2 http://model2.mywebfactory.com
Model preview
– Websites
• Mywebsite 1 http://www.mywebsite1.com (french) http://admin.mywebsite1.com (fr)
• Mywebsite 2 http://www.mywebsite2.com (french) http://admin.mywebsite2.com (fr)
• Mywebsite 3
http://fr.mywebsite3.com (french) http://admin.mywebsite3.com
http://en.mywebsite3.com (english) Language settings (FR, EN, ES)
http://es.mywebsite3.com (spanish)
1 language = 1 siteaccess
eZ Publish & Deployment of a multi-site platform 25/06/2009 14
15. Chapter 2 : Case study - “The Website generator”
Extensions (design & settings) folder organization
1 « Generic Web site » Extension, for N siteaccess
CSS Design
CSS Design
Generic design (common templates)
Hosting related settings
settings can change depending on the
en-website1 local, test or online version (URL, Google
Key Maps, emails, …)
Fr-website1
www-website2
…
eZ Publish & Deployment of a multi-site platform 25/06/2009 15
16. Chapter 2 : Case study - “The Website generator”
Step-by-step generation process, and common issues
« Create New Website » Button
• Step-by-step generation PROCESS:
• • Static & dynamic settings loading
Statics INPUT settings (INI) :
• Content subtree model selection
• ParentModelNodeID
• Content subtree model duplication
• ParentTargetNodeID • Set the new Rootnode site_name / URL_Alias
• WebmasterUserGroupID • Create new Media folder («site_name »)
• WebmasterRoleID • Create news siteaccess (1 per language)
• • EN-site_name
AnonymouseRoleID
• FR-site_name
• DesignList [ ]
• Create Webmaster userGroup
• … • Set Webmaster role to the previous Webmaster
UserGoup
• Rootnode restriction
• Dynamic INPUT settings (from a custom • New Media Folder
form, or CLI parameters) :
• Common Folder
• ModelID • Set all siteaccess settings «Settings/siteaccess/ »
• SearchEngineActivation • EN-site_name/content.ini.append.php
• PageLimit • EN-site_name/site.ini.append.php
• • Set override settings
ContentMenuDetph
«settings/override/site.ini.append.php»
• … • Clear specific caches (‘user’, ‘template’, ‘content’)
eZ Publish & Deployment of a multi-site platform 25/06/2009 16
17. Chapter 2 : Case study - “The Website generator”
Step-by-step generation process, and common issues
Common issues : manage content outside of the website subtree
• Shared content (content / media)
• Node 1
• Websites
• Mywebsite 1 (http://mydomain.com)
• Object 2 (object relation to node 1)
How to display these « out of sub tree » node ?
– Use view_parameters : http://mydomain.com/(shared)/node_1
How to manage these links (which URL) ?
– Use a custom ezURL() template operator
eZ Publish & Deployment of a multi-site platform 25/06/2009 17
18. Chapter 2 : Case study - “The Website generator”
Step-by-step generation process, and common issues
Common issues : manage content outside of the website sub tree
• Shared content (content / media)
• Node 1
• Node 1.x
• Websites View :
• Object 2
Mywebsite 1 (http://mydomain.com)
Node
• Object 2 (object relation to node 1)
Node 1.x
How to match these nodes in the search content results ?
– eZ Find already indexed these objects
– Must store a list of objects to add as a filter in the request (Fetch eZ Find).
Populate IDs through the custom ezURL Operator (or Workflow), and store IDs
inside a custom Table.
Ask Paul B. to improve eZ Find ?
eZ Publish & Deployment of a multi-site platform 25/06/2009 18
19. Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projects
Chapter 1 : Multi-site Deployment strategy
Chapter 2 : Case study : “The Website generator”
Chapter 3 : Case study : CRT Picardie
Kaliop
Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
20. Chapter 3 : Case study - “CRT Picardie”
List existing Websites and create a new one :
Websites management
… model N
Edit an existing Web Create a new Website Create a new Website
site configuration from content model 1 from content model 2
eZ Publish & Deployment of a multi-site platform 25/06/2009 20
21. Chapter 3 : Case study - “CRT Picardie”
Create a new website :
Select your main language
Select your CSS StyleSheet
Customization (items number per page,
columns, drop-down menu, …)
Contact email
Google maps key
eZ Publish & Deployment of a multi-site platform 25/06/2009 21
22. Chapter 3 : Case study - “CRT Picardie”
Create a new website : Add a language:
Set your website as PRIVATE (useful while under construction)
Set the language URL Access :
http://en.mydomain.com
eZ Publish & Deployment of a multi-site platform 25/06/2009 22
23. Chapter 3 : Case study - “CRT Picardie”
Front-end exemple : Default design All features are available
Default CSS StyleSheet
eZ Publish & Deployment of a multi-site platform 25/06/2009 23
24. Chapter 3 : Case study - “CRT Picardie”
Front-end example : http://jardinsenscene-picardie.com/
Custom CSS StyleSheet
Custom slideshow, from
eZ Publish media content
(JavaScript)
Search engine
« Block » management
Google maps
eZ Publish & Deployment of a multi-site platform 25/06/2009 24
25. Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projects
Chapter 1 : Multi-site Deployment strategy
Chapter 2 : Case study : “The Website generator”
Chapter 3 : Case study : CRT Picardie
Kaliop
Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
26. KALIOP > 4 POLES OF EXPERTISE
Agency Projects Support Hosting
Pole Pole Pole Pole
Your Web projects
•Websites (internet / extranet / intranet)
•Accessible websites (RGAA /Accessiweb)
•Platform multi-sites
•Mobiles Websites e-business websites
•Customized Web applications
• TMA Hosting
eZ Publish & Deployment of a multi-site platform 25/06/2009 26
27. KALIOP > Key DATA
National Expertise strategic Web projects
Long-lasting
Recognized deployment and
agency; with a
human-sized exploitation
Experience Capitalization
Creation > 170 web projects
Average scale
2002 Projects
100 at 500 jours.hommes
Headquarter Customers
Montpellier 85% in Ile de France
Certifications
eZPublish Platinum
CMMI current
Team
30 employees
2009 Turnover
1 350 k€ (+26 % / an)
eZ Publish & Deployment of a multi-site platform 25/06/2009 27
28. KALIOP > Main Customer
Sciences Environnement Tourism Industry
Formation Public finance Media & b to c
eZ Publish & Deployment of a multi-site platform 25/06/2009 28
29. Contacts
Commercials contacts
– Emmanuel MARTIN, Kaliop sales manager
• emartin@kaliop.com
• +33 4 99 13 68 60
– Marie SANZ, sales engineer for Infrawan (hosting)
• msanz@kaliop.com
• +33 4 99 13 68 60
eZ Publish & Deployment of a multi-site platform 25/06/2009 29
30. Any questions ? (FR / EN)
Kaliop (2009) :
• 7 certified developers
• eZ Publish Silver Partner
• 50+ eZ Publish projects
Thanks to Kaliop Developer Team
Gilles Guirand Blog
http://www.gandbox.fr