My name is Naveen Gavini, and I’ll be working on adding Multi-site support to Joomla. I am very interested in the community’s suggestions and feedback. Take a look below for more details. Abstract
Large organizations, businesses, universities and more are establishing a web presence for every facet of their operation. Many of these organizations seek multisite support, for the ability to have one content management system/codebase that can be installed and manage more than one website. The idea for adding multisite support to Joomla would make it a viable solution for these organizations.
Since multi-site support is a very large undertaking with many subsets of the problem, I’ve decided to have this summer’s project focus on adding multisite support for a single codebase and single database. The project can be further expanded following the summer to add various combinations of multi-site support, examples include: one codebase w/multiple databases, multiple codebases w/shared database.Outline of planned approach:Step 1:
Add siteid fields to Joomla core tables that need to be distinguished between different site installations (menus, content sections/categories)Step2:
Build component that can be used by super administrators to create/edit multi-sitesStep 3:
Modify the way Joomla renders the website by limiting menu’s to specific sitesStep 4:
Modify the way Joomla creates URLs (JRoute)Step 5:
Create Joomla Multi-site API, which will allow developers to add multi-site functionality to their components. This will be primarily for data separation amongst sites and enhancing multi-site functionality of components.Step 6:
Add site filtering options to modules in the administrator areaStep 7:
Modify Joomla core components to allow for data separation amongst sites
Site administrators will be able to create new sites and configure data sharing or limit data to specific sites. The project will be designed for use in Joomla 1.6. Changes to the core code will be kept to a minimum and attempt to be non-invasive.
I will be blogging about the project and it's status on the community site.
Please feel free to let me know any suggestions or feedback you may have.