Then what Mike suggested (perhaps with some dynamic css selection as
well...it's still pretty powerful - even for changing page layout ) sounds
like the best option.

Break your page up into definable quadrants/sections/whatever you want to
call them. Ie SectionA-E ...In each section use a RenderBlock as previously
suggested to ask your page layout component which item should be rendered
for this particular layout.

It will still be pretty damn performant unless your method of determining
which thing gets rendered in each block is overly slow. (Hard to imagine
that would be the case).



On 6/13/06, James Sherwood <[EMAIL PROTECTED]> wrote:

I dont have to keep track of the components as they are always the same, I
just want to change where they are in the html and the html itself to give
the page a different look according to which site layout they choose.


James

----- Original Message -----
From: "Jesse Kuhnert" <[EMAIL PROTECTED]>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Tuesday, June 13, 2006 6:10 PM
Subject: Re: Can dynamic tapestry be done?


> 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.
>


---------------------------------------------------------------------
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.

Reply via email to