One of the frequent need of large companies is to be able to provide to their different businesses or brands a website. And while Drupal is a powerful tool to answer to custom or complex needs, it lacks of scalability to creates small and simple websites.
When you face this issue, one of the answer (and probably the one your customer will ask anyway) is: a website factory. The principle is based on a multi site solution.
Domain Access modules suite is a way to build the needed architecture but you have to ask yourself few simple questions before giving it a go:
Why would Domain Access be the architecture you need? (Pros, cons, comparisons)
How do we build a website factory using Domain access? (Available modules and their use)
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Website factory with domain Access: why and how& - Kiêt Trân & David Ferlay
1. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page 1
Website factories with
Domain Access: why & how?
Kiêt Trân
Lead project manager
David Ferlay
Technical project manager
2. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page 2
SUMMARY
1. What is a website factory and why would I
need one?
2. Which factory type for my business need?
3. How to, with Domain Access (D7 & D8)
– Global architecture (user stories and
consequences)
– Recommended modules
– Contribution status overview
4. Skilld ~ Drupal Camp Kiev 2017
Page 4
Global context: large companies with IT department
IT
Business
/ Brand
Business
/ Brand
Business
/ Brand
Business
/ Brand
Business
/ Brand
Technology 1 Technology 2 Technology 3 Technology 4 Technology 5
Hosting 1 Hosting 1 Hosting 1 Hosting 1 Hosting 1
5. Skilld ~ Drupal Camp Kiev 2017
Page 5
With a website factory : centralized at the IT
IT
Business
/ Brand
Business
/ Brand
Business
/ Brand
Business
/ Brand
Business
/ Brand
Website factory
FunctionalityE
FunctionalityD
FunctionalityC
FunctionalityB
FunctionalityA
FunctionalityF
Hosting
6. Skilld ~ Drupal Camp Kiev 2017
Page 6
So, what’s the big deal?
● Unique architecture for all websites
● Better costs management
● Lesser delay for each website
● Functionalities sharing between the businesses/brands
● Optimized maintenance by centralizing fixes
● Pooling means and resources
● Standardization, industrialization
● More opportunities for an enhanced quality assurance
●
● Improved scalability to Drupal for small projects
● CMF vs. CMS
7. Skilld ~ Drupal Camp Kiev 2017
Page 7
And you talked about different factory
typologies, please tell me more...
● The architecture has to be based on the
common structure level, according to
your need.
8. Skilld ~ Drupal Camp Kiev 2017
Page 8
Type 1: Multisite
● Mutualization level: infra + code
● Independance level: 50 %
Drupal core
Site instance A
Content UsersConfiguration Database
Site instance B
Content UsersConfiguration Database
9. Skilld ~ Drupal Camp Kiev 2017
Page 9
Type 2: Custom distribution /
installation profiles
● Mutualization level: infra + code + config
● Independance level: 100 %
Drupal core
Site A
Content Users
Configuration
Database
Site B
Content UsersDatabase
Custom installation profile
10. Skilld ~ Drupal Camp Kiev 2017
Page 10
Type 3: Domain Access
● Mutualization level: all but content
● Independance level: 0 %
Drupal core Shared
configuration
Shared
database
Domain A
Domain B
Content Users
Content Users
11. Skilld ~ Drupal Camp Kiev 2016 ~ www.skil
ld.fr
●
Website factory, how?
●
Ok, I need a type 3, let’s get
this done now!
12. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
The basics
A simple but powerful concept
1) Take an entity of your choice
2) Enable domain access for the bundle
3) Edit your content
4) Assign it to one or all domain(s)
Result :
Content visible/accessible
only on assigned domain(s)
13. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
The basics
Installation
●Drupal module
●Settings.php
$cookie_domain
$base_url
include DRUPAL_ROOT .
'/path/to/modules/domain/settings.inc';
●NGINX/Apache and DNS edit
one.yoursite.com; two.yoursite.com
18. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
Differences between D7 and D8 ?
● Easier installation
● Less modules needed
■ core additions & unifications
● Maturity (not all entity ported)
● Stability (fresh code)
The basics
19. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
Into the rabbit hole
Impact of domain behavior on
● Design
● Architecture
● Conception
What about users stories ?
20. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
Into the rabbit hole
1 - User stories
for anonymous & authenticated users
2 - Administration cases
for admin and content authoring users
Ex of questions :
○ some permissions ?
○ views to filter ?
○ defaut domain cases
○ and so on
24. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
An extensive rack
Contribution status overview for D8
● What we contributed into
○ https://www.drupal.org/project/domain
● What we ported from scratch
○ https://www.drupal.org/project/domain_lang
○ https://www.drupal.org/project/domain_entity (WIP)
25. www.skilld.fr
Skilld ~ Drupal Camp Kiev 2017
Page
An extensive rack
Contribution status overview for D8
What’s left to do :
○ improve domain_config overrides
○ unify UI domain_menu with other entities
○ fix some core issues
○ altering menu block http://dgo.to/2854013
○ tackle forms