GREYProposal for coordinating multiple sites.GREY

Rationale

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. Features


 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:

  1. make a main template that will be defined per site and perhaps "inherited" downwards to the module (is this possible)
  2. make a template for each site that will be carried in the module, but the Project is aware which template is defined for it
  3. 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.

 2.3. Internationalization

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...

 2.4. Configurations

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.

 2.6. Subscribers

Each Project should have a diferent subscription for diferent public instance(s).

3. Conclusion

TODO

3 Comments

  1. It seems most of the concerns here will be addressed by 3.7 (or possibly subsequent releases): a lot will be covered template configuration, template selection. The subscribers and url mappings can already be done. What's maybe missing is a place (gui) where one can view/edit all this centrally rather than per "feature".

    1. Exactly!!! Actualy maby all (at least most) of the server node in Config could go there?

  2. Would a Projects module (with a new menu in admincentral, and buttons, and stuff.. (smile) ) do the job? The idea is that (as with workflow) to be able to use it if you want... as the modules are ment to be.. (smile)