Suggestion 1: Fix Rewind
There are other web gui frameworks I've worked with (.NET for one) that
don't have all the rewind problems that Tapestry does. For .NET at least,
they solve the solution by "packing" all the data on a form into a
compressed serialized form and sending it off on a hidden field. They then
reconstruct the form off of that serialized hidden field rather than off of
session memory so they avoid stale links, the need to keep crap around in
session memory, and the ever-present danger in a multi-user system that
somebody else might have changed the data in question between the time a
form as rendered and the time it was rewound.
I understand that you can do something vaguely like this via datasqueezers,
but it's far from a transparent implementation. I'd dearly love for Tapestry
rewinds to "just work" every time by default.
Suggestion 2: Better Defaulting
Right now in Tapestry, I have to fill in a lot of fairly repetitive data to
set up a form/page combination. It's certainly not an J2EE configuration,
but it's still a bit of a pain in the posterior if you ask me. I'd love the
ability for the system to have an intelligent defaulting convention that I
as a developer, could optionally use if I didn't want to specify anything.
To take advantage of this defaulting behavior I'd probably have to follow
some (fairly strict) naming and file structure rules, but then I'm not
*forced* to do so, I can always use my own conventions and name everything
myself in the .page files.
Here are the two that I would love to see get fixed:
1) Better validation and field labeling - I know Paul is working on this so I will be digging into it for the book most definitely
Specifically I would like to see the following:
The ability to conditionally validate a field (ie - one field has a particular value which means a second field now needs to be validated)
2) Get rid of the flat-file nature of templates and page files - I believe that this is being fixed in the next release