Thanks for your valuable input. I really appreciate it.

Just to clarify: I am talking about different deployments for each of the
customers. I was thinking of setting the LANG=de_DE_<customer-id>  in the
environment and having a service evaluate that.

Lothar


Josh Canfield wrote:
> 
>> I am using Tapestry in a product that will be used by multiple customers.
> 
> The approaches you've listed require you to modify the source code in
> order to scale up the supported customers. If you want to add
> customers to the application without modifying code then I'd change to
> test for specific options that the customer has selected.
> 
>> (1) If/Else approch:
> Looking at the problem as rendering options instead of by customer I
> think this is a good choice. You can span options across
> pages/components either by passing them down through parameters or
> putting them in the environment when the page is rendering.
> 
> <div t:type="if" test="options.showOptionalButton" class="button
> optional-button">
> <t:eventLink event="optionalButtonEvent" context="theObject">Optional
> Button</t:eventLink>
> </div>
> 
>> (2) CSS Approch:
> Don't put anything in the HTML sent to a client that you don't want to
> get used by the client.
> 
>> (3) Page inheritance approch:
> I tend to believe in a more database driven approach for customization
> within a single deployment. Of course, I don't do the type of work
> where your two customers are the sales department and the marketing
> department and will only ever be those two departments.
> 
>> (4) Component approch:
> If you have parts of your page that do independent rendering/computing
> that either makes your page design cleaner, or allows you to use that
> functionality elsewhere then definitely put it in a component.
> 
> 
> Have fun!
> Josh
> 
> On Tue, Jul 6, 2010 at 2:27 AM, t5_lothar <lothar_n...@gmx.de> wrote:
>>
>> Hi all,
>>
>> I am using Tapestry in a product that will be used by multiple customers.
>> There will slight alterations in the pages depending on the customer's
>> preference like a few more edit fields, additional buttons etc. My
>> question
>> is how to handle these variations of one page the most elegantly.
>>
>> These are my ideas:
>>
>> (1) If/Else approch: <t:if test=${customerA}> ... display some fields ...
>> <p:else> ... display other fields ... </p:else> </t:if>
>>
>> (2) CSS Approch: <div class="customerA"> ... some fields ...</div>
>>  <div class="customerB"> ... other fields ...</div>  and set one of the
>> styles as 'display:none'.
>>
>> (3) Page inheritance approch: Put the common stuff in a BasePage and
>> build
>> two customer dependent variants inheriting from it. Don't know exactly if
>> this supported by Tapestry.
>>
>> (4) Component approch: Put the common stuff in a component and have to
>> specialized pages use this component.
>>
>> Any suggestions, possibliy new ideas?
>>
>> Thanks,
>> Lothar
>> --
>> View this message in context:
>> http://old.nabble.com/-T5--Best-practices-for-customer-specific-code-in-pages-tp29083515p29083515.html
>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
> 
> 
> 
> -- 
> --
> http://www.bodylabgym.com - a private, by appointment only, one-on-one
> health and fitness facility.
> --
> http://www.ectransition.com - Quality Electronic Cigarettes at a
> reasonable price!
> --
> TheDailyTube.com. Sign up and get the best new videos on the internet
> delivered fresh to your inbox.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/-T5--Best-practices-for-customer-specific-code-in-pages-tp29083515p29093988.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to