Part of our plan is to swap in and out Tapestry Libraries. One per "customer".
hth, Mark -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Fri 6/16/2006 4:54 PM To: users@tapestry.apache.org Subject: How to handle customer versions of Tapestry pages? Hello. We develop a product using Tapestry 3.0.4. For our different customers, parts of the pages need to differ while the overall structure is the same. This begins with having different images in the @Border for branding and goes on with e.g. form fields only present in versions for some customers. We assume the best way to handle those different parts of the pages by using special components and letting Tapestry use the correct one for the version. Which component to use we want to decide declaratively e.g. in some XML file. For one version, always the same component version is used, so there should be no problems with Tapestry's page cache. 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). We want to be able to continue using Spindle for development while of course that would probably only be possible for a default version of each component. We tried using an ISpecificationResolverDelegate, but unfortunately that gets asked only when Tapestry is not able to locate a component by its standard means. This way always the default component would be used and we have no way of dynamically specifying another version. For testing purposes we patched ComponentSpecificationResolver.resolve() and that works just as we want, but we would rather use an unpatched Tapestry. Is there some way doing the above described thing in a standard way that we miss? Regards and thanks in advance, Markus -- Echte DSL-Flatrate dauerhaft für 0,- Euro*! "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]