GREYProposal for coordinating multiple sites.GREY
Provide single place where to define global (Project) properties, an agregator that will "coordinate" the modules, template and resources for it self. This would be a great help for running multiple site in one magnolia.
2.1. Main template
Let's assume that the module has a page template in it. The page has a certain design. If we want to use the same page in other project, this design becomes obsolete, but you can't change it since it is needed by the former project.
Three ideas on this:
- make a main template that will be defined per site and perhaps "inherited" downwards to the module (is this possible)
- make a template for each site that will be carried in the module, but the Project is aware which template is defined for it
- keep the curent structure as it is, but select one of the modules to be something as a Project module which will carry on the whole Project concpet in it self
2.2. Resources management
As described in Templating there will be a global js files which could be defined here in the Project. Also, images (such as header image, logo etc), general info (name of the owner of the site, copyright info...) can be defined here. As described in http://jira.magnolia.info/browse/MAGNOLIA-2281 there is a need to aggregate all paragraphs in one place.
The solution is simple: to have something like a ModuleAggregator class which will go through all ModuleHelper classes and collect all paragraphs, css files and js files, and to be a litle more inteligent an remove the duplicates (or something that will compare versions, because diferent modules can use diferent versions of js files?). There will be a possibility to define all paragraph collections here.
It would be possible to define the languages that would be used in the Project, and a fallback language as well. Also, here can be defined something like a global labels property, that can be inherited downwards to the modules. See http://jira.magnolia.info/browse/MAGNOLIA-2124 for more info...
As described in Templating there will be configurations for the paragraph and templates. But can't they have diferent configurations for diferent sites? I can have the same module (that has the paragraph in it) in more than one project requiring diferent configs. The configs of the paragraph can not be carried with the module. They have to be done per site.
What about multiple Projects in one Magnolia?
2.5 URL mapping
Each project should have a separate URL mapping that can be handled here. Very useful form running multiple projects in one Magnolia instance.
Each Project should have a diferent subscription for diferent public instance(s).