You have several way to tackle this depending on how transparent you want this to be and what kind of customization features you need:
- Easiest way: Rewrite a PortalTopolkit implementation and overload the getSet(...) method to create your PortletSet dynamically. Since you only have access to the PSML Portlets object in these methods you'll want to either extend the PSML markup to code your cloning policy or use "system" parameters for this purpose, ie parameters that start with "_", they won't show up in the customizer. - A bit more complex: In addition to the PortalToolkit implementation that you'll have to override in any case, you can also develop a new DynamicPortletSet implementation of the PortletSet which would responsible for the actual cloning process or even would not hold a vector of Portlets as the default version but would query a DB to generate it on the fly. The main advantage of doing this is that you'll have access to the Rundata context and thus your query may use context information. - Alternate: Instead of your custom PortletSet implementation, you can write a custom PortletController that would use a "static" PortletSet with cloning information to dynamically layout multiple cloned portlets. The greatest advantage of this approach over the previous one is that it's the controller responsability to build the page customization template, and thus you have full control on how you want to customize your page. Finally if you plan to dynamically react to user context, I'd recommend extending the BaseProfile and Profiler service to store your profiling information in the BaseProfile object based on User request + possible db connections. You'll be able to reuse your profile information when ever you have access to RunData and it guarantees separation of your profiling logic and the way you build this profiling information. De : Eric White [mailto:[EMAIL PROTECTED]] > > I'd like to define a single portlet then, upon startup, dynamically > populate a pane with several instances of the aforementioned portlet, > each driven with different configuration data (most likely > driven from a > database). > > Can anybody point me to reference material (or, better yet, example > code) for how to do this? > > thanks > > eric > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>