I'm starting to work on a new project - web platform. JBoss and Jboss Portal is one of the frameworks im considering to use. One of the platform features has to be a possibility to dynamically create new portals using the predefined set of portlets. The goal is to let the customers of my customer to create they own portals within the same platform. The platform will provide some set of standard portlets that a user creating his own new portal could use and custimize their look and feel.

I.e. - one of such standard portlets will be my customer's catalogue of products. The final customers must be able to create their own portal, upload some HTML files and/or graphics and display them in the main portlet and put somewhere (where they want) that standard catalogue portlet. Of course he must be able to customize look and feel of all components used by his portal.

I know that it's a bit similar to this what CMS provides, but I think (maybe I'm wrong) that CMS brings too much overhead that will not be used at all in this platform.

1) When do you plat to release final 2.2 (have read something about Nov?)

2) How safe (in terms of compatibility, etc.) is to start development on 2.0 i.e. implementation of other functionality, wait till 2.2 and then upgrade and use new features of 2.2 to implement that part of functionality I descibed above?

It's also possible in JBP 2.0.Take a look at org.jboss.portal.core.deployment.jboss.PortalDeployment class. Especially the create() method that is derived from super class.Everything what you need to is to override the create() method in your new class derived form PortalDeployment.To obtain the serverManager use this peace of code:

"tomcmok" wrote:I assume the code you provided will rescan the deploy directories and deploy this what is new in there - right?

No. It is not rescaning. You don't need to have WAR file or any file. Everything what you need is portal description XML String in a variable. Your overriden create method will create org.w3c.Document from this String instead of loading it from file.

"tomcmok" wrote: So - whenever I create new portal dynamically (i.e. some basic set of config files in new *.war directory), I just call create() in my derived class and this should do the trick?

yes, what you need to do is to create instance of you class and call create().

"tomcmok" wrote:...and what do I need 'server' MBean for - it doesn't seem to be referenced in your suggested code?