Let me second this point.  I know Howard used his experience with
WebObjects as the starting point for Tapestry. I wish that starting point
included the kind of loop rendering that WebObjects provides. It's clear,
simple, straight forward. I imagine it wasn't used because it requires that
an instance of the object that represents the rendered page be bound to the
users session for an extended period of time, instead of going back into the
pool when the request is done.  I assume this was done to improve
performance, and scalability.  In my humble opinion, the trade off wasn't
worth it. :-)

Personally, having been familiar with and written 20 or 30 WebObjects Apps,
Tapestry was close enough, and yet different enough to be really both a joy
and totally annoying.

I haven't used T5 yet, we're going to continue using 4.1 for the foreseeable
future. We managed to get the funding to rewrite our app from an internally
developed toolset to T4, but I'm sure I wouldn't be able to get the funding
to do another major rewrite.

That said, I'm not familiar at all with the changes in T5. However, the one
thing that in the past has been a constant source of difficulty for everyone
at my organization who's worked to learn Tapestry is the painful process of
rewinding loops.


Tony Giaccone


On Thu, Apr 30, 2009 at 6:09 PM, Inge Solvoll <inge.tapes...@gmail.com>wrote:

> Agree with Alex on the last comment about proving that issues don't exist!
>
> I have one example of a trivial thing that I have found difficult to
> implement in all Tapestry versions I have used(3, 4, 5):
>
> - A form with a loop in it.
>
> This is extremely common in the pages I make, and my mind always struggles
> when trying to find how this is done in the new Tapestry version. I never
> figured out a way to do it in 3 and 4 that made sense to me and looked
> correct.
>
> It also happened in T5. Maybe I'm stupid, but I really had to struggle hard
> to track down the details needed to implement this correctly, using
> encoders, initializing my form objects in the correct method in the correct
> way, and so on. I didn't find an example in the docs showing me the best
> practice for this (for me) very trivial and very common pattern.
>
>
> On Thu, Apr 30, 2009 at 11:17 PM, Alex Kotchnev <akoch...@gmail.com>
> wrote:
>
> > I will echo Kranga's #1 and #2 and add a couple. I'm all for
> > convention over configuration, but when you have to dig out the
> > convention out of source code, mailing list, or somewhere else, I'd
> > wish I had a well defined interface that I could just implement. The
> > not-so-pojo aspect becomes too apparent when you have to write some
> > test cases against the said components and you start scratching you
> > head about "now, how do I make all of those magical annotations work
> > if I don't do the whole IoC bit where it will inject everything".
> >
> > One additional difficulty is that T5's model is so different in
> > respect to AJAX that it takes a while to wrap (or warp) your head
> > around what you need to do in order to do something seemingly simple
> > w/ a known Javascript framework (e.g. think Dojo, Prototype, jQuery).
> > There are a plethora of people out there that know how to make up a
> > snazzy ajaxy interface; however, when it comes down to T5 you have to
> > jump through a couple of hoops just to get the URL to which the Ajax
> > code will hook into (e.g. the componentResources.createPageLink ,
> > createEventLink, etc). Componetization support and all within T5  is
> > nice, but when you have to climb a big hill of learning a lot of T5
> > before you can do a silly autocompletion example for Dojo or jQuery,
> > it just makes it harder than necessary. Certainly not a boon.
> >
> > Finally, it's great that T5 is so well decomposed into small
> > interfaces , so that you can override anything you want. However, too
> > many small classes/interfaces + a bunch of dependencies on each other
> > (which are really easy to do when IoC can magically inject
> > dependencies for you) starts being a drag when you want to
> > implement/override one, and then you realize that in order to do one,
> > you need to figure out a bunch more things that need to be injected
> > (or something like that). It's really easy to get into a rabbit hole
> > of "oh, I wanted to implement this one thing, now I have to understand
> > these other three before I can implement the first one"
> >
> > Otho,
> >   I don't think the point of this thread is for us to prove that the
> > issues that are brought up are not actually issues. The fact that
> > people bring them up, means that those issues still exist. I doubt
> > that someone will go through the trouble of typing up a big email
> > regarding his troubles w/ T5 if these were not issues that he/she has
> > dealt with.
> >
> >
> > Cheers,
> >
> > Alex K
> > On Thu, Apr 30, 2009 at 9:28 AM, kranga <kra...@k2d2.org> wrote:
> > > 1) Documentation: It is one thing to remove dependencies on framework
> > > interfaces but quite another to leave the developer hanging with no
> > > documentation. Programming by convention is programming in the dark if
> > the
> > > convention is not known.
> > > 2) Although Tapestry claims to be POJO, you still have to have a
> contract
> > > (whether it is methods by convention or annotated methods). In the long
> > run
> > > whether this is really better than interface implementation is not
> fully
> > > proven (much like the current debate of whether dynamically typed
> > languages
> > > will prove more difficult to maintain in the long run).
> > > 3) Lack of a component marketplace: Wow, 4 years on and this is still
> on
> > my
> > > list. We wrote a gigantic application in Tapestry 3 which is still in
> > > production. But we've decided to write all new apps in JSF with the aim
> > of
> > > quickly adopting 2.0 when the spec is released. The main reason - a
> > plethora
> > > of components to choose from.
> > > 4) Developer mindshare: Our analysis with Tapestry 3 shows that for
> every
> > > developer we hire, we have to write off 2-4 weeks until they become
> well
> > > versed in Tapestry. I don't believe T5 will be any different. You
> cannot
> > > argue against a standard like JSF that is supported by vendors. The
> lack
> > of
> > > penetration of JSF speaks to its terrible initial design which
> hopefully
> > > will be rectified in 2.0
> > >
> > > I don't believe Tapestry will dwindle and die but I don't see it
> becoming
> > > the defacto standard ala Struts in the early 2000s.
> > >
> > > --------------------------------------------------
> > > From: "Pedro Januário" <prnjanua...@gmail.com>
> > > Sent: Thursday, April 30, 2009 5:43 AM
> > > To: "Tapestry users" <users@tapestry.apache.org>
> > > Subject: Re: T5: What is NOT beautiful about Tapestry?
> > >
> > >> I totally agree with Hugo's ideia.
> > >> The wiki sounds good and should be a easy to make documentation about
> > >> common
> > >> problems.
> > >>
> > >> 2009/4/30 Hugo Palma <hugo.m.pa...@gmail.com>
> > >>
> > >>> I agree a book would be great, what happened to the tapestry5-book
> > >>> project http://code.google.com/p/tapestry5-book/ ?
> > >>>
> > >>> Still, i think a lot better could be done with the online
> > documentation.
> > >>> I believe the structure of the online documentation should be very
> > >>> similar to a book, it should start with the basics and evolve to more
> > >>> "hardcore" stuff from there. Just the fact that the current
> > >>> documentation is structured with only one level of depth and the list
> > >>> of item is ordered alphabetically makes the task of finding some
> > >>> information much more difficult.
> > >>>
> > >>> I for example really like how the hibernate documentation is
> > >>> structure, i usually have to problem finding what i'm looking for
> > >>> there.
> > >>> So, maybe the wiki could be a starting place for the birth of a
> > >>> documentation with such a structure.
> > >>>
> > >>> On Thu, Apr 30, 2009 at 10:06 AM, Blower, Andy
> > >>> <andy.blo...@proquest.co.uk> wrote:
> > >>> > I think you hit the nail on the head Carl. The documentation is
> okay
> > >>> generally (some bits poor, some very good) but there is not enough to
> > tie
> > >>> it
> > >>> all together and guide new developers so they know what they can do
> > with
> > >>> T5.
> > >>> I'm not convinced that the main documentation should attempt this on
> > its
> > >>> own, or whether it should strive to be a great reference with some
> more
> > >>> higher level introductory/discovery bits along with a good published
> > book
> > >>> to
> > >>> handle introducing everything and tying it together. Having the only
> > >>> published book for T5 being so out of date is a huge problem for the
> > >>> framework in my opinion.
> > >>> >
> > >>> > I don't think a wiki is the answer to this, I really like knowing
> > that
> > >>> the documentation that I'm looking at is for a specific version of
> > >>> Tapestry
> > >>> and is updated when the code is - I would not want to lose that.
> > >>> >
> > >>> > Andy.
> > >>> >
> > >>> >> -----Original Message-----
> > >>> >> From: Carl Crowder [mailto:carl.crow...@taptu.com]
> > >>> >> Sent: 29 April 2009 22:04
> > >>> >> To: Tapestry users
> > >>> >> Subject: Re: T5: What is NOT beautiful about Tapestry?
> > >>> >>
> > >>> >> Discovery of it's parts. Franky the documentation is lacking and
> > even
> > >>> >> with reading the mailing list, reading the howtos wiki, buying the
> > >>> >> Tapestry 5 book and working with it for over a year I still come
> >>
> > >>> >> across
> > >>> >> things I never knew existed that would have solved a problem I've
> > had.
> > >>> >> I
> > >>> >> often spend ages writing something myself after searching for a
> > >>> >> solution.
> > >>> >>
> > >>> >> What's beautiful about Tapestry? That almost every problem has a
> >>
> > >>> >> simple
> > >>> >> solution built in. What's not beautiful about Tapestry? That I
> > >>> >> generally
> > >>> >> find these solutions by accident, and way after I've written my
> own!
> > >>> >>
> > >>> >> Lots of things are obvious and easy to understand once you know
> what
> > >>> >> they are but it's learning what they are that is the problem. I've
> > >>
> > >>> >> been
> > >>> >> waxing lyrical about Tapestry where I work and while the
> developers
> > >>
> > >>> >> who
> > >>> >> tried it love it, their main gripe is always that it's difficult
> to
> > >>> >> understand what it can do.
> > >>> >>
> > >>> >> The cookbook is the right idea but it's only got 5 entries right
> > now.
> > >>> >> It
> > >>> >> needs to be way more comprehensive
> > >>> >>
> > >>> >> Inge Solvoll wrote:
> > >>> >> > Hi!
> > >>> >> >
> > >>> >> > I have been reading the "beautiful" thread and added my opinion
> >>
> > >
> > >>> >> > about
> > >>> >> what's
> > >>> >> > great about Tapestry. It's nice to sum up why we all are so
> > excited
> > >>> >> about
> > >>> >> > this, it obviously makes both us and the creator(s) feel good
> > about
> > >>> >> > ourselves. But for a little while, I challenge us all to stop >>
> >
> > >>> >> > tapping
> > >>> >> each
> > >>> >> > others' backs and go into depth about what's not to like about
> our
> > >>> >> beloved
> > >>> >> > framework.
> > >>> >> >
> > >>> >> > The most obvious questions that could be asked probably have
> some
> > >>> >> very
> > >>> >> > obvious answers. But T5, as I see it, is all about addressing
> > stuff
> > >>> >> that
> > >>> >> > other frameworks have given up on and create excellent
> > >>> >> implementations
> > >>> >> > rather than just looking the other way. Difficult and
> > uncomfortable
> > >>> >> > questions should be addressed the same way.
> > >>> >> >
> > >>> >> > So:
> > >>> >> >
> > >>> >> > What are the main reasons that T5 isn't one of the "big ones",
> > when
> > >>> >> we all
> > >>> >> > seem to agree that it is so much better than most other
> frameworks
> > >>> >> out
> > >>> >> > there? Why is T5 NOT beautiful?
> > >>> >> >
> > >>> >> > Hope I'm not insulting anyone, I'm a big fan too, I just think
> > this
> > >>> >> actually
> > >>> >> > could lead to significant insight :)
> > >>> >> >
> > >>> >> > Regards
> > >>> >> >
> > >>> >> > Inge
> > >>> >> >
> > >>> >>
> > >>> >>
> > ---------------------------------------------------------------------
> > >>> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > >>> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> > >>> >>
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> ---------------------------------------------------------------------
> > >>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > >>> > For additional commands, e-mail: users-h...@tapestry.apache.org
> > >>> >
> > >>> >
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > >>> For additional commands, e-mail: users-h...@tapestry.apache.org
> > >>>
> > >>>
> > >>
> > >>
> > >> --
> > >> Cumprimentos...
> > >> Pedro Januário
> > >>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > > For additional commands, e-mail: users-h...@tapestry.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>

Reply via email to