Wow! this is great info, thanks. On Wed, 2002-11-27 at 03:41, Luta, Raphael (VUN) wrote: > 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]>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>