#jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
JOOMLA! MULTIPLIED
How to run Multi-Sites
#jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
Note:
This is a shortened version of the entire presentation!
#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/
#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
#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
#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
#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
#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
#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
#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
#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
#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.
#jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
DOMAINS SETUP FOR
VIRTUAL DOMAINS 2
Source: Virtual Domains Documentation
#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
#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
#jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
OUTPUT OF DEMO
INSTALLATION
#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
#jab14 | Joomla! multiplied - How to run Multi-Sites | @viktorvogel
THANKS!

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!