Wouldn't it be easier to do something like this by changing the stylesheet on the fly instead?
Even if you did have dynamic component stuff somehow I still wouldn't want to maintain something like that....or maybe it's a requirement you don't have a choice in ? On 6/13/06, James Sherwood <[EMAIL PROTECTED]> wrote:
Thanks for the feedback, This does, however, pose a problem for me. I am building a site and I wish to make it diverse enough to change its appearance with the 'flick of a switch'. Is is possible then to create several border components and call a different one according to which site layout you have designated without using the idea of: <jwc id="checklayout1"> <jwc id="insertBorderComponent1"/> </jwc> but instead, using the idea: <jwc id="insertBorder"/> where the insertBorder component used a different component dependant on the site layout? Thanks, James ----- Original Message ----- From: "Howard Lewis Ship" <[EMAIL PROTECTED]> To: "Tapestry users" <users@tapestry.apache.org> Sent: Tuesday, June 13, 2006 5:39 PM Subject: Re: Can dynamic tapestry be done? > This goes against the grain of Tapestry. > > Here's some copy from the new Tapestry 5 web site (not yet available) that > conveys the reasoning behind this: > > Tapestry is designed to be extremely scalable in several dimensions: > > - Tapestry applications may contain many pages and many custom > components. > - Tapestry applications may contain very complex functionality. > - Tapestry applications may be created by large, diverse teams. > - Tapestry applications can service large numbers of concurrent users. > > One core architecture decision in Tapestry exists to service many of the > above goals (and others that are harder to describe). *Static Structure, > Dynamic Behavior* > > In Tapestry, the structure of any particular page is *static*. This is > necessary for several reasons, most importantly because Tapestry pages are > * > pooled*. Creating and Tapestry page is an involved process, because the > page > object is simply the root of a large tree of other objects including user > provided components, many kinds of structural objects, template objects, > and > others. Creating a new page instance for each request is simply not * > scalable*. > > Instead, Tapestry *pools* pages. Once created, a page instance will be > stored in a pool for that particular type of page, and reused in later > requests. An incoming request, the result of a user clicking a link or > submitting a form, will be processed by *some* server within a cluster, > and > will use *some* page instance within the page pool. Because page instances > are static and uniform across instances and servers, Tapestry can use any > available page instance, or create a new one as needed. > > Tapestry does not need to store page instances inside the HttpSession. At > most, it stores a smattering of *persistent properties* of the page in the > session, but not the entire page instance. This lean use of the > HttpSession > is key to Tapestry's very high scalability, especially in a clustered > configuration. > > In some Tapestry-like frameworks, such as Faces and Wicket, the page > structure is more dynamic, at the cost of storing much, much more data in > the HttpSession. > > This static structure is not so limiting as you might think. With > different > kinds of conditional and looping components, and the ability to "jump out > of > the flow" and render components in an arbitrary order, you will not find > Tapestry to be rigid ... anything but! > > > > > On 6/13/06, James Sherwood <[EMAIL PROTECTED]> wrote: >> >> This is the situation: >> >> I would like to create a page in such a way that the jwcid's in the html >> are >> standard but I can produce the html any way I wish. >> >> To do this there would have to be a way to pass tapestry the html of a >> page >> from a database for instance. >> >> Something to the effect of a <jwc id="insertTapestry"/> in a page which >> inserts the html and tapestry tags but the html tags and tapestry tags >> that >> are inserted are still rendered by the engine. >> >> Is this possible? >> >> Thanks, >> James >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Howard M. Lewis Ship > Independent J2EE / Open-Source Java Consultant > Creator and PMC Chair, Apache Tapestry > Creator, Jakarta HiveMind > > Professional Tapestry training, mentoring, support > and project work. http://howardlewisship.com > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Jesse Kuhnert Tacos/Tapestry, team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind.