Post on 12-Nov-2014
description
Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projectsChapter 1 : Multi-site Deployment strategyChapter 2 : Case study : “The Website generator”Chapter 3 : Case study : CRT Picardie
Kaliop Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
25/06/2009
2eZ Publish & Deployment of a multi-site platform
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 ?
Introduction to multi-site projects
3eZ Publish & Deployment of a multi-site platform
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 »
25/06/2009
Introduction to multi-site projects
Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projectsChapter 1 : Multi-site Deployment strategyChapter 2 : Case study : “The Website generator”Chapter 3 : Case study : CRT Picardie
Kaliop Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
5eZ Publish & Deployment of a multi-site platform
Chapter 1 : Multi-site deployment strategy
25/06/2009
Website 1 Website 2 Website 3 Website N
Database 1
Siteaccess 1
Database 2
Database 3
Database N
Database Server
Siteaccess 2
Siteaccess 3
Siteaccess N
VAR 1 VAR 2 VAR 3 VAR N
• 1 eZ Installation
• 1 Database for each website
• 1 var directory for each website
• 1 siteaccess for each website (1 var & 1 database settings)
6eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 1 : Multi-site deployment strategy
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.
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)
7eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 1 : Multi-site deployment strategy
Website 1 Website 2 Website 3 Website N
Database
Siteaccess 1
Database Server
Siteaccess 2
Siteaccess 3
Siteaccess N
VAR
• 1 eZ Installation
• 1 Database for all websites
• 1 var directory for all websites
• 1 siteaccess for each website (1 subtree for each website)
Fail over
Subtree 1/2/X
Subtree 1/2/Y
Subtree 1/2/Z
Subtree 1/2/N
8eZ Publish & Deployment of a multi-site platform 25/06/2009
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)
9eZ Publish & Deployment of a multi-site platform 25/06/2009
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 generate ?
-100 +500
SPOF sequel Low High
Content, media, users & roles sharing proportion
+30% -10%
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)
Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projectsChapter 1 : Multi-site Deployment strategyChapter 2 : Case study : “The Website generator”Chapter 3 : Case study : CRT Picardie
Kaliop Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
« Website models » organization :• Root
• Shared content (content / media)
• Referential 1
• Referential 2
• Website models
• Model 1 (« website_model_1 » content class)
• Default content tree
• Model 2 (« website_model_2 » content class)
• Default content tree
• 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)
11eZ Publish & Deployment of a multi-site platform
Chapter 2 : Case study - “The Website generator”
25/06/2009
Subtree duplication
Shared content :
• « Object relations » use / « Add location » use
• Frequently use case : Extranet datasources imports
12eZ Publish & Deployment of a multi-site platform
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.
25/06/2009
Chapter 2 : Case study - “The Website generator”
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)
13eZ Publish & Deployment of a multi-site platform
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 ?
25/06/2009
Chapter 2 : Case study - “The Website generator”
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
14eZ Publish & Deployment of a multi-site platform
Front-End & Back-End Siteaccess
Root
– Website models
• Model 1
• Model 2
– Websites
• Mywebsite 1
• Mywebsite 2
• Mywebsite 3
25/06/2009
Chapter 2 : Case study - “The Website generator”
http://model1.mywebfactory.com
http://www.mywebsite2.com (french)
http://fr.mywebsite3.com (french)
http://en.mywebsite3.com (english)
http://es.mywebsite3.com (spanish)
FRONT-END Siteaccess
1 language = 1 siteaccess
http://admin.mywebsite2.com (fr)
http://admin.mywebsite3.com
BACK-END Siteaccess
Language settings (FR, EN, ES)
http://admin.mydomainname.com
http://model2.mywebfactory.com
http://www.mywebsite1.com (french)
http://admin.mywebsite1.com (fr)
Model preview
15eZ Publish & Deployment of a multi-site platform
Extensions (design & settings) folder organization
25/06/2009
Chapter 2 : Case study - “The Website generator”
1 « Generic Web site » Extension, for N siteaccess
Hosting related settings
settings can change depending on the local, test or online
version (URL, Google Key Maps, emails, …)
Generic design (common templates)
CSS Design
CSS Design
en-website1
Fr-website1
www-website2
…
16eZ Publish & Deployment of a multi-site platform
Step-by-step generation process, and common issues
25/06/2009
Chapter 2 : Case study - “The Website generator”
« Create New Website » Button
• Statics INPUT settings (INI) :
• ParentModelNodeID
• ParentTargetNodeID
• WebmasterUserGroupID
• WebmasterRoleID
• AnonymouseRoleID
• DesignList [ ]
• …
• Step-by-step generation PROCESS:
• Static & dynamic settings loading
• Content subtree model selection
• Content subtree model duplication
• Set the new Rootnode site_name / URL_Alias
• Create new Media folder («site_name »)
• Create news siteaccess (1 per language)
• EN-site_name
• FR-site_name
• Create Webmaster userGroup
• Set Webmaster role to the previous Webmaster UserGoup
• Rootnode restriction
• New Media Folder
• Common Folder
• Set all siteaccess settings «Settings/siteaccess/ »
• EN-site_name/content.ini.append.php
• EN-site_name/site.ini.append.php
• Set override settings «settings/override/site.ini.append.php»
• Clear specific caches (‘user’, ‘template’, ‘content’)
• Dynamic INPUT settings (from a custom form, or CLI parameters) :
• ModelID
• SearchEngineActivation
• PageLimit
• ContentMenuDetph
• …
17eZ Publish & Deployment of a multi-site platform
Step-by-step generation process, and common issues
Common issues : manage content outside of the website subtree
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
25/06/2009
Chapter 2 : Case study - “The Website generator”
• Shared content (content / media)
• Node 1
• Websites
• Mywebsite 1 (http://mydomain.com)
• Object 2 (object relation to node 1)
18eZ Publish & Deployment of a multi-site platform
Step-by-step generation process, and common issues
Common issues : manage content outside of the website sub tree
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 ?
25/06/2009
Chapter 2 : Case study - “The Website generator”
• Shared content (content / media)
• Node 1
• Node 1.x
• Websites
• Mywebsite 1 (http://mydomain.com)
• Object 2 (object relation to node 1)
View :
Object 2
Node
Node 1.x
Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projectsChapter 1 : Multi-site Deployment strategyChapter 2 : Case study : “The Website generator”Chapter 3 : Case study : CRT Picardie
Kaliop Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
20eZ Publish & Deployment of a multi-site platform
Chapter 3 : Case study - “CRT Picardie”
25/06/2009
Edit an existing Web site configuration
Create a new Website from content model 1
Websites management
Create a new Website from content model 2
… model N
List existing Websites and create a new one :
21eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 3 : Case study - “CRT Picardie”
Select your main language
Select your CSS StyleSheet
Customization (items number per page, columns, drop-down menu, …)
Contact email
Google maps key
Create a new website :
22eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 3 : Case study - “CRT Picardie”
Set the language URL Access :
http://en.mydomain.com
Set your website as PRIVATE (useful while under construction)
Create a new website : Add a language:
23eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 3 : Case study - “CRT Picardie”
Front-end exemple : Default design All features are availableDefault CSS StyleSheet
24eZ Publish & Deployment of a multi-site platform 25/06/2009
Chapter 3 : Case study - “CRT Picardie”
Front-end example : http://jardinsenscene-picardie.com/
Custom CSS StyleSheetCustom slideshow, from eZ Publish media content (JavaScript)
Search engine
« Block » management
Google maps
Montpellier le 25/06/2019
eZ Publish & Deployment of a multi-site platform
Summary :
Introduction to Multi-site projectsChapter 1 : Multi-site Deployment strategyChapter 2 : Case study : “The Website generator”Chapter 3 : Case study : CRT Picardie
Kaliop Any questions ? (FR / EN)
Gilles Guirand – Technical Director at Kaliop
KALIOP > 4 POLES OF EXPERTISE
26
•Websites (internet / extranet / intranet) •Accessible websites (RGAA /Accessiweb)
•Platform multi-sites •Mobiles Websites e-business websites
•Customized Web applications • TMA Hosting
Your Web projects
AgencyPole
ProjectsPole
SupportPole
HostingPole
25/06/2009
eZ Publish & Deployment of a multi-site platform
KALIOP > Key DATA
27
Creation2002
HeadquarterMontpellier
Team30 employees
2009 Turnover1 350 k€ (+26 % / an)
Experience Capitalization> 170 web projects
Customers85% in Ile de France
Average scale Projects
100 at 500 jours.hommes
Certifications eZPublish Platinum
CMMI current
Long-lasting agency; with a human-sized
National Expertise Recognized
strategic Web projects deployment and
exploitation
25/06/2009
eZ Publish & Deployment of a multi-site platform
KALIOP > Main Customer
28
Environnement Tourism Industry
Formation Public finance Media & b to c
Sciences
25/06/2009
eZ Publish & Deployment of a multi-site platform
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
2925/06/2009
eZ Publish & Deployment of a multi-site platform
Kaliop (2009) :• 7 certified developers
• eZ Publish Silver Partner
• 50+ eZ Publish projects
Thanks to Kaliop Developer TeamGilles Guirand Blog
http://www.gandbox.fr
Any questions ? (FR / EN)