>
>
>
> I want to thank Phil and Nick for their responses to my last e-mail,
> they cleared up some of my questions and it was nice to know that I'm
> not the only one with problems in my Tapestry initiation, misery loves
> company :-)
>
> After talking with the guys that introduce me to Tapestry and reading
> some posts in the mailing list it seems to me that only a handful of
> people really grok Tapestry. The others just code by example, that is,
> they can be productive fairly quickly with Tapestry by following the
> examples provided, but if they have to do something for which there
> isn't an example there are SOL.
> But maybe I'm wrong, who among you guys feel that really understand
> Tapestry? How much time and effort did it take?
>
We're approaching this on two fronts. The TapestryLite enhancements will make
adoption of Tapestry much easier. Neil's improved Tutorial looks very good as well.
I'll be redoing much of the Developer's Guide (and renaming it to User's Guide) at
some point as well. But as MindBridge has pointed out ... nobody reads the docs.
> My main problem is that every time I find an answer, another bunch of
> questions pop up, dragging me into a endless spiral of confusion.
>
> Example :
>
> After trying unsuccessfully to combine two components to make a list
> paging component I turned my attention to the existing Table component
> in the contrib package. After a brief moment of euphoria (It seemed I
> actually accomplished something) the reality kicked in.
>
> 1 - The table component creates non bookmarkable URL's. There is no
> way to access directly a page somewhere in the list. In the Vlib
> application there is a way to create bookmarkable URL's but I wasn't
> able to incorporate this functionality in the Table component.
>
> 2 - The table component creates a Session on use, this is probably
> related to point 1 somehow, but I find this weird. One rule that I
> always try to follow when developing web apps is to try to delay the
> creation of sessions as much as possible. A paging component doesn't
> seem enough of a reason to create a Session, maybe in the Tapestry
> world things work differently.
I myself have not used the Table component. Like a JTable in Swing, there are several
"model" objects involved; you may have better luck avoiding the creation of the
HttpSession by using a different, or custom, model.
>
> 3 - So far I'm having no luck embedding existing components (Images
> and form components) inside a Table component, looking at the example
> in the workbench what I'm trying to do seems possible but I'm failing
> miserably.
>
> 4 - I can't seem to find a easy way to define the number of items in a
> page, shouldn't this be a parameter of the Table (or the TableRows)
> component?
>
> The above example pretty much summarizes my Tapestry experience so far,
> it seems like I'm playing with Russian Matryoshka nesting dolls.
>
> Fortunately not all my experience is bad, there are things that I
> really like about Tapestry.
>
> - The clear separation between Java code and HTML is great.
> - The way pages communicate is awesome.
> - Localization of pages is extremely easy (very important for my work).
> - I just love the Border component and what can be done with it.
> - The exception reporting is excellent.
Don't forget the way Tapestry manages creation of the HttpSession for you :-) (I
noticed
you indicated this was important, above).
>
> I truly believe that there are more hidden pearls in the Framework
> that are just waiting for me to find them, if only I had a map.
I'm sure there are.
I think the first hurdle for many people is to really understand the rendering process,
bindings and all that. I've seen this happen many times, where people have
the sudden epiphany moment and they are off and running. Sounds like you are past
that point.
Just to put things in perspective; you are making a few demands of the system! You're
getting
all the linking, paging, session management and etc. for free (in developer time --
once you
start groking Tapestry) and are dissapointed that it doesn't precisely fit your model
of how the app should run. Looking at MB's code, I'm sure there are ways to
address you issues. Unlike Microsoft, we don't force you into a particular
mold ... but that does shift a little work back on you to take advantage
of the correct set of features. Does that make sense? I'm trying to say that
in the framework, or in specific components, there's a tug of war between
ease of use and locking you into a specific way of doing things.
Please, please, keep track of your experiences and report back (in this list,
or on the Wiki). We are
very, very interested in addressing any real shortcomings of the framework
(or documentation).
>
> Jorge Chandra
--
[EMAIL PROTECTED]
http://tapestry.sf.net
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer