This presentation was held at the international Joomla! conference JandBeyond 2014 in Königstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
1. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
JOOMLA! MULTIPLIED
How to run Multi-Sites
2. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
Note:
This is a shortened version of the entire presentation!
3. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
Viktor Vogel
• Work with Joomla! since 2005
• Private project
Kubik-Kubik Joomla! Extensions
http://joomla-extensions.kubik-rubik.de/
• Employee at 1&1 Internet as their Joomla! specialist
http://www.1and1.com/
4. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
MULTI-SITE
FUNCTIONALITY IN THE
JOOMLA! PROJECT
• Multi-Site Working Group
• Meetings in 2011 and 2012
• Documentation: Multi-site Design Options
• http://docs.joomla.org/Multi-site_Design_Options
• Group is currently not active
• PLT Contact: David Hurley
5. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
RESULTS OF MEETINGS -
CONCEPTS
• 2011 (JoomlaDays New York)
• ACL Approach
• Layer Approach
• 2012 (JandBeyond)
• Shared Program Folder, Separate Databases
• Shared Files, Single Database
6. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
ACL APPROACH
• Also known as Seblod Approach (Sebastien)
• Site divided in sub-sites using ACL groups
• Mapping of URLs to a logical site to a group
• Separation of modules, menu items and plugins
difficult
• Could be solved by using View Access levels
• Or by adding ACL permissions for these entities
7. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
SITE LAYER APPROACH
• Logical layer between Global Configuration and the
component options
• Assignment of component items to sites, controlled
by ACL permission rights
• Consequences
• System is more complex but easier to maintain
• Modification of existing extensions is necessary
8. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
SHARED PROGRAM
FOLDER AND SEPARATE
DATABASES
• Site setup with a separate application to map needed
data
• Few setup files for each site instance, shared core files
• Updates of 3rd party through Site Manager, updates are
specifically installed for each site instance
• No content sharing, except of copying it with
application
• Could be achieved with minor changes to the CMS
9. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
SHARED FILES, SINGLE
DATABASE
• A single Joomla! instance can have multiple domains
• Each domain has different menu items
• Approach can be implemented by Virtual Domains
• Template assignment, content sharing
• Single point of software updates
• Separation of user access only partly possible with
ACL
• Customer access to backend not recommended
10. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
FOCUS ON SHARING
DATA, NOT SHARING
PROGRAM FILES
• Agreement in 2012 at the JAB
• Most important priority is to share data between entirely separate
Joomla! instances
• Single instance with same files is not more in the focus
• Messaging could be achieved with a restful approach
• Current status
• Working group is inactive, no working solution out of the box
• Multi-sites will not be provided in the near future by Joomla! core
11. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
DEMO EXAMPLE WITH
VIRTUAL DOMAINS
• Approach: Shared Files, Single Database
• Free extension by Michael Liebler, Roman Teske
• Multi-domain capability for Joomla without
changing the Joomla core files and tables
• Specific designs, (default) languages, home page
content and navigation.
• http://janguo.de/lang-de/joomla-25-higher/virtual-
domains-joomla-2-5.html
12. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
DOMAINS SETUP FOR
VIRTUAL DOMAINS
• Same server
• Each domain must reside on the same server and must be
accessible from the same IP
• Same folder
• The webserver must point each domain to the same
folder
• No redirection
• To achieve that goal, you must not use a redirection like
.htaccess oder by frame.
13. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
DOMAINS SETUP FOR
VIRTUAL DOMAINS 2
Source: Virtual Domains Documentation
14. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
DOMAINS SETUP FOR
VIRTUAL DOMAINS 3
• 3 subdomains on the same server
• Each subdomains points to the same folder
• No redirections, only assignments
15. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
BACKEND VIEW OF
VIRTUAL DOMAINS
• 3 entries for the subdomains
• 3 different templates
• 3 different articles assigned to the subdomains
16. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
OUTPUT OF DEMO
INSTALLATION
17. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
LIMITATIONS WITH
VIRTUAL DOMAINS
• Constellation only suitable for small, non-complex
websites
• Encountered limitations
• (Core) Components are not designed to be used in a
multi-website (separation of items doesn’t work
properly)
• Many components can only be used exclusively for one
domain
• With ACL some restrictions can be made possible but not
enough to separate all strictly
• Plugins are executed on every domain equally
18. #jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
THANKS!