You sometimes do have to change layout on a page by page layout when
you do i18n stuff, especially if some of the languages you're translating
into are significantly more verbose than English (<cough> german <cough>).
So a nice little set of widgets that do, say:

        Label1  text1
        Label2  text2

        Might not fit if the german translation of label is 

        InevitableReallyLongGermanAlliterativeLabel     text1
        FiendishlyShortForGerman        test2

        If you're using pretty much *any* fixed size elements on your page,
you're gonna have to tweak the sizing for most foreign languages. If you've
managed to survive with only proportionate sizing e.g. "width="30%" then
you're all right, but the moment you do width="120px" you've bought yourself
problems in the localization field.

        --- Pat

> -----Original Message-----
> From: Chris Conrad [mailto:[EMAIL PROTECTED]
> Sent: Friday, January 27, 2006 6:05 PM
> To: Tapestry users
> Subject: Re: tapestry not really component based?
> 
> 
> On Jan 27, 2006, at 11:11 AM, [EMAIL PROTECTED] wrote:
> 
> > Or what about i18n....you may need to change the
> > layout of your web page based on the language selected.  It would be
> > really nice to have some kind of layout manager to dynamically
> > alter the
> > layout of the page.  Having multiple pages, each with it's own
> > layout, is
> > heavy a solution and presents ugly maintenance issues.
> 
> You shouldn't be doing your layout on a page by page basis anyway,
> you should be using some kind of Border component (as described in
> Tapestry in Action).  Components can have localized templates too, so
> changing the layout of a page on a per locale basis is as simple as
> writing a new Border component template.  Between that and using
> message catalogs instead of raw text in pages/components you can have
> totally different layouts without needing to modify the pages at all.
> 
> I think the real problem with Tapestry is that it has a fairly steep
> learning curve.  But once you know it you can create very highly
> dynamic pages without needing to mess around with instantiating
> components in Java.  So the question is, how to make the learning
> curve less steep.  Given what I've seen with using Tapestry 4 so far,
> I'm pretty convinced Howard understands the learning curve issue and
> is making definite progress.
> 
> The one thing I would like to see addressed, as others have
> mentioned, is the whole problem with getting access to what's
> rendered inside a For component.  But that's not something I've
> needed to deal with very often, so I'm not going to lose sleep over it.
> 
> --Chris
> 
> 
> >
> >
> >
> >
> >
> >
> > "Patrick Casey" <[EMAIL PROTECTED]>
> > 01/27/2006 10:28 AM
> > Please respond to
> > "Tapestry users" <tapestry-user@jakarta.apache.org>
> >
> >
> > To
> > "'Tapestry users'" <tapestry-user@jakarta.apache.org>
> > cc
> >
> > Subject
> > RE: tapestry not really component based?
> >
> >
> >
> >
> >
> >
> >
> >                  I don't necessarily buy the slippery slope
> > argument here.
> > One might
> > as well argue "well if we put listener functions in the page class
> > that
> > fire
> > when users click links or buttons, the before you know it users are
> > going
> > to
> > insist on the full swing set, so we shouldn't do listener functions".
> >
> >                  Additionally, I have to point out that, if the
> > users *do*
> > want the
> > full swing set (which I don't think they do; I know I don't, but
> > it's a
> > hypothetical), then why not give it to them, or at least as much as is
> > practical?
> >
> >                  Ultimately Howard's not doing this to satisfy his own
> > desire for
> > theoretical perfection; he wants people to actually *use* the
> > thing. If
> > making it usable to the "average" programmer, if such a thing actually
> > exists, means making compromises with architectural purity, then so
> > be it.
> >
> >
> >                  In any event, I've long since found workarounds
> > for the
> > whole "java
> > code can't create a component" thing, so this isn't near the top of my
> > personal wish list. I do remember back though when I hadn't yet
> > implemented
> > those workarounds when it did, indeed, bother me.
> >
> >                  Perhaps those of us who know the framework relatively
> > well need to
> > try to see things from the perspective of those who don't. Stuff
> > which is
> > second nature to us isn't to a newbie and, if this framework is to
> > grow,
> > it
> > has to be obvious not only to the old hands, but *also* to the
> > newbies.
> >
> >                  So if a large percentage of the new users find
> > something
> > confusing/awkward/weird, I think it is worth discussing, even if
> > the more
> > experience tapestry staff think's it's second nature.
> >
> >                  --- Pat
> >
> >> -----Original Message-----
> >> From: Cliff Zhao [mailto:[EMAIL PROTECTED]
> >> Sent: Friday, January 27, 2006 10:13 AM
> >> To: Tapestry users
> >> Subject: Re: tapestry not really component based?
> >>
> >> IMO, this is not about one dynamic component. If you open the door to
> >> introduce the dynamically created component, you introduce a chain of
> >> things. People will ask for everything equivalent to Swing, you will
> > need
> >> layout components, ..., etc. It will make everything complicated.
> >> In the
> >> hype of ajax, I think that it's not a good idea to spend a lot of
> >> time
> > to
> >> develop a server side "Swing". Anyway, I think that Tapestry has a
> >> good
> >> infrastructure, if you really like dynamic components, maybe you can
> >> create
> >> a subproject to create a DynamicPage service.
> >>
> >> just my two cents.
> >>
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to