I have several questions regarding the right setup of GateIn after having read all guides and most of the posts in this forum.
First of all, it's nice to create portal instances, pages, navigation and the like via the UI. However, in a real world environment I would expect you want to do so via configuration for several reasons:
- you want to set up your portals with all pages etc. first in a test environment and when everything works as expected you want to deploy it as a whole package to production and not manually start on production to create everything via the UI.
- depending on your use case you will have a lot of portals and pages and it would be donkey work to maintain this manually all the time.
Having said that, I wonder what is the best approach for it. I know the various xml files like navigation.xml and pages.xml, but my understanding is that this is more or less limited to the very first launch of the portal. The content is written to the DB and unless I use a totally in-memory DB - which I definitely wouldn't do in a productive environment - I cannot update these xml files for subsequent launches. On the other side there is this concept of extensions which could be used to add pages to an already deployed portal or even to add a separate portal (see the samples in the installation package), but as far as Matt Wringe explained several times in some posts (e.g. http://community.jboss.org/click.jspa?searchID=700465&objectType=2&objectID=531434) this can only be used before the first launch either. So I really wonder, what is it goof for, if I cannot extend my portal after it already ran some time.
So do I have to have everything laid out and defined in xml files at the very beginning and from then onwards only can maintain my portal via the UI? Or would I have to drop my JCR DB that it would be built from scratch on the next startup after I adjusted my xml files?
Next question: given that I used the xml files to prepare my pages and navigation for the default portal "portal" and the default site "classic" (http:localhost:8080/portal/public/classic), how would I configure a separate site that runs in the same portal container (e.g. http:localhost:8080/portal/public/modern)? In the UI it is easy to create a new site, but how would I do it beforehand in xml?