Details
-
Improvement
-
Resolution: Duplicate
-
Minor
-
2.1 Final
-
None
-
All
Description
I will try not to knock all your hard work as I am very impressed with your efforts, and think that magnolia is a great cms. But I will have to say sorry for throwng a few punches in the next few lines.
Although this is more of a development post I am posting this here because I would like to see the response of other users on this subject.
I was disapointed to learn that magnolia is not Tomcat friendly considering that it runs in Tomcat and follows many standard principles. By this I mean that is is not simply a case of dropping in a war archive and away we go. OK, now that would be a bonus I know (OpenCms does it very nicely), but magnolia is not even context friendly. In fact magnolia has no idea of the concept of context based configuration? (the 'info.magnolia.cms.beans.config' namespace reveals the complete lack of any knowledge of the ServletContext?). The current 'way of doing things' means that if I want to run on port 80 (the usual) then magnolia is the only WebApp that can run, in affect it steals the entire Tomcat configuration!? This would of coarse not be acceptable to a large customer running its own Tomcat cluster, or even a single Tomcat within a small organisation. The use of additional non-standard ports is also a serious downside. Even opening a single additional port through a corporate firewall can take weeks of planning and preparation.
It should be entirely possible to run multiple (an unlimited number of) magnolia WebApps on a single Tomcat instance, all on a single port (service). There is no real reason why the Author and Public should not be able to run the same port. The configuration of magnolia should only ever occur in it's own web.xml (where it should be!). Somthing like the following should be configurable:
http[s]://myurl[:8080]/bill/author/
http[s]://myurl[:8080]/bill/public/
http[s]://myurl[:8080]/ted/author/
http[s]://myurl[:8080]/ted/public/
I have looked into this on the source code side and it is totally do-able with some fairly extensive (but simple) modifications. I already have a project in the pipeline as I need this kind of configuration now, but this obviously leaves my codebase as branch from the original work. I would be happy to provide my netbeans project (based on 2.1 branch) for review if my suggestions prove to be a valid point.