> > A few conditions make this not a trivial task, it seems: We cannot use @Block > and @RenderBlock, because the components for versions of other customers > shall > not be contained in the deployment (at worst they could contain corporate > secrets). >
Why not @Block/@RenderBlock? In fact, these seem ideal for your situation. So, you're grabbing the right component instance based on the current customer, right? And some of these customer-specific components have sensitive information, and so they shouldn't be distributed to all customers, right? No sweat. :) Define - A page per customer Define - The customer specific components in blocks within the customer specific page Distribute - The application pages + the Customer's component page. Now, when you need to grab that component, you do something like the following: .html: <div jwcid="@RenderBlock" block="ognl:customerBlock"/> <div jwcid="[EMAIL PROTECTED]">...</div> .java: public IComponent getCustomerBlock() { /*I'm assuming you're using tap 4 and the customer object is injected*/ Customer c = getCustomer(); IPage p = getRequestCycle().getPage(c.getCustomerPageName()); IComponent block = p.getComponent("BlockName or lookup here"); if (block == null) { return getPage().getComponent("DefaultBlock"); } } Something like that. The point is, RenderBlock doesn't care where the Block is coming from; it doesn't /have/ to be on the same page. This allows you to isolate customer-specific blocks on a page for that customer, and then only distribute the appropriate customer-specific page. So... I ask again: why not Block/RenderBlock? :) Robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]