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]


Reply via email to