Tapestry 6: Famous last words?

2009-06-26 Thread kranga
I saw the following comment on Howard's blog and felt compelled to comment:
"I just felt the need to reiterate that I don't see there ever being a T6; I 
see a stream of backwards compatible updates to Tapestry 5.1. In fact, I think 
the 5.0 -> 5.1 transition was a little rougher than I'd like for future 
releases."
"The overall approach in T5 was to eliminate the root issues that caused the 
backwards compatibility problems in earlier Tapestries."

Aside from the fact that there is an admittance to things not going as planned 
in the very first version 5 iteration, Howard, I think you are sincerely wrong. 
For based upon your resolve to never have a version 6, I see only two possible 
outcomes:

a) All innovation on the web stops and we continue using T5
b) Innovation on the web continues and Tapestry becomes obsolete.

To further my argument, assume that T5 had been developed in 1995 for use on 
the web. Do you really see T5 honed for the web as of 1995 being able to 
seamlessly take on, without change in architecture, the following:

- CSS
- Javascript evolution
- Ajax
- IoC
- Persistence frameworks

The problem with backwards compatibility is introduced at some point in every 
framework for one of two reasons:
a) The framework decides to adopt a new architecture to support essentially the 
same end goal and platform for gains in productivity, stability, scalability, 
etc.
b) The framework is forced to adopt a new architecture to support innovation in 
the marketplace (HTML5, offline storage, desktop-web-apps, RIA, osgi/java 
modules/bundles, language improvements, who-knows-what).

The technology community is accepting of (b) as a necessary side effect of 
rapid innovation. It is far more skeptical of (a). However, companies are free 
to attempt (a) since in a free market, the market decides. Open source is not 
immune to that.

So while I find your goal sincere given the v3 -> v4 -> v5 migration history, I 
see it as neither a realistic nor intelligent goal to pursue. In fact, quite 
the contrary, it dissuades people who are evaluating Tapestry. Instead of 
defending your decision to make T5 with the cloak of eternal future 
compatibility, why don't you admit to your error and move on? A little humility 
would be of great benefit and would complement your intellectual prowess, which 
is self-evident in your works.

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: T5: What is NOT beautiful about Tapestry?

2009-04-30 Thread kranga
For Tap 3, we had a very elaborate form with loop implementation and we 
added Ajax-validation such that you only write validation code once in Java 
and for javascript validation, an ajax call is made to run the same 
validation code and bring back the results. The error handling could 
correctly handle n-input fields in a form all generated via a loop. Needless 
to say the code was quite complex and horrendously convoluted and now is 
outdated :( haha


--
From: "Inge Solvoll" 
Sent: Thursday, April 30, 2009 6:09 PM
To: "Tapestry users" 
Subject: Re: T5: What is NOT beautiful about Tapestry?


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

Re: T5: What is NOT beautiful about Tapestry?

2009-04-30 Thread kranga
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" 
Sent: Thursday, April 30, 2009 5:43 AM
To: "Tapestry users" 
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 


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

Re: [Tapestry 5.0.15] - Hidding client-side validation

2008-11-02 Thread kranga
The issue here is that you chose to implement a very specific paradigm (pop 
ups) to display error messages which almost always will be the wrong 
paradigm because every website and design expression will require something 
different. So everyone is going to try to override the basic settings


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, November 01, 2008 6:47 PM
Subject: Re: [Tapestry 5.0.15] - Hidding client-side validation


This can be done by "monkey patching" the Tapestry JavaScript.  You
can have a JS library that overwrites the definitions of some of the
built-in Tapestry functions related to validation.  In this way, you
can prevent the pop up bubbles, or change how the validation messages
are presented to the user.

On Thu, Oct 30, 2008 at 1:36 AM, Antonio Fernández - STAR Málaga
<[EMAIL PROTECTED]> wrote:


Hi again !

Many thanks for you fast asnwer , i tryed your option , but this is not 
the

behaviour i want.

Now the submit action happens when one or more TextFields are empty,
and with clientValidation=true the submit is not completed.

I want the behaviour of clientValidation=true, but simply hidding the
Validation Messages.




Greetings & Nice Day


Sven Homburg escribió:

have a look in the "Form" component description (parameter
"clientSideValidation")
http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Form.html

2008/10/30 Antonio Fernández - STAR Málaga 
<[EMAIL PROTECTED]





Hi All &  Good Morning   :-)

Is there a way for hidding the JavaScript Validation Messages on the
Client-Side ?

Greetings
Passi

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










--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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



Re: The URL encoding issue

2008-10-27 Thread kranga
As long as your custom scheme can also handle UTF-8 standard scheme so that 
libraries that we integrated with (JS libraries and others) that produce 
encoded URLs don't break.


- Original Message - 
From: "Massimo Lusetti" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, October 25, 2008 6:22 PM
Subject: Re: The URL encoding issue


On Fri, Oct 24, 2008 at 7:01 PM, Howard Lewis Ship <[EMAIL PROTECTED]> 
wrote:



BTW,

I'm actively working on the issue with URL encoding/decoding.  Because
of the differences between Jetty and Tomcat, I'm abandoning standard
URL encoding (i.e., %2f and all that) and using my own scheme.

As a side effect, we can now properly support null and blank string
values in page activation and event contexts (they will appear in URLs
as $N and $B, respectively).


It's somehow between strange and sad to have this issues again and
again but that seems to have come out nice, as usual.

--
Massimo
http://meridio.blogspot.com

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



Re: [T5] How to get to ApplocationGlobals and ServletContext

2008-10-04 Thread kranga
ApplicationGlobals cannot be injected into RequestFilter. Inject 
RequestGlobals into it instead or inject ApplicationStateManager (?) into 
it.
- Original Message - 
From: "Eric Ma" <[EMAIL PROTECTED]>

To: 
Sent: Friday, October 03, 2008 9:31 AM
Subject: [T5] How to get to ApplocationGlobals and ServletContext




I have a custom RequestFilter, which authenticates users and checks for 
user
roles, and is applied to all pages.  To avoid database hit on every 
request,

authenticated user is cached in Acegi SecurityContextHolder.

Now, another part of the app allows admins to update user roles, adding or
removing privileges.  When that happens, I set a flag in ServletContext 
for

user roles being dirty, forcing the user to be re-authenticated.

So what I need to do is that in my RequestFilter, retrieve the flag from
ServletContext.  The problem I am running into is that the injected
ApplicationGlobals in my RequestFilter is null.  My questions are a) is
ApplicationGlobals injectable in a RequestFilter, and b) if not, is there 
a

way to get hold of ServletContext somehow?

Thanks,

Eric
--
View this message in context: 
http://www.nabble.com/-T5--How-to-get-to-ApplocationGlobals-and-ServletContext-tp19797812p19797812.html

Sent from the Tapestry - User mailing list archive at Nabble.com.


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



Re: Tapestry App Replication

2008-09-11 Thread kranga
The extensive use of @Persist("flash") for form fields could cause thrashing 
in an app cluster. That's one piece I'd like to see refined in Tapestry to 
be one in a different way.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Monday, September 08, 2008 12:59 PM
Subject: Re: Tapestry App Replication



Tapestry is designed to be "a good citizen" of an application server
that supports clustering.  It's careful about what it writes into the
HttpSession.  The framework understands that the server that receives
a request may not be the same one that rendered the page initially;
this knowlege affects many code paths, and the approach Tapestry takes
to caching and pooling page instances.

Your part is to properly manage the objects put into the HttpSession
(via @ApplicationState or @Persist).  These objects should be
immutable where possible (i.e., String, or a primitive or wrapper
type).  For @Persist, if you change the internal state of a mutable
object, you should reassign the field, to ensure that Tapestry knows
to update the HttpSession (and force the value to be serialized and
distributed around the cluster).

Still, sticky sessions are the way to go when possible.  Much more
efficient use of resources ... you are scaling *out* not *up* which is
always cheaper.

Again, Tapestry is a good citizen, but from the application server's
point of view, it's just another servlet application.  The heavy
lifting here is application server specific.

On Mon, Sep 8, 2008 at 4:44 AM, Carl Crowder <[EMAIL PROTECTED]> 
wrote:

Hi all,

Is it possible to run multiple instances of a Tapestry app on various
servers, but have them share session and application state?

Carl

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






--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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



Re: T5: index page in pages package acts as a catchall

2008-07-31 Thread kranga

Oddly enough using Start instead of Index handles this situation correctly.

- Original Message - 
From: "Lutz Hühnken" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, July 31, 2008 5:16 AM
Subject: Re: T5: index page in pages package acts as a catchall



Dear Chris,


Ends up as http://app.com/. Am I doing something wrong? Surely others
have run into this and deem it undesirable, no?


yes and yes. It has been discussed on this list before and a
workaround (that works well for me) has been proposed. You can see the
thread here:
http://www.nabble.com/Index-page-context-and-404-response-to16649174.html#a16649174

Described very roughly:

Assuming your index page is not meant to be called with parameters -
if parameters are given, the user was probably actually requesting a
non-existing page. So if index is called with parameters, reply with a
404 not found.

Hth,

Lutz

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



Re: T5: Integrating T5 webapp with Axis2 webservice framework

2008-07-11 Thread kranga
Also checkout Apache CXF - with its full Jaxws annotations support and 
spring integration, it is silly easy to turn a class into a web service.


- Original Message - 
From: "Mahen Perera" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Friday, July 11, 2008 6:44 AM
Subject: RE: T5: Integrating T5 webapp with Axis2 webservice framework


Not sure if this helps..

From what I know, Tapestry does its core of work in the Tapestry

Filter,.

So, if you add this filter in to the filter list of the Axis Servlet,
,,, so that the Tapestry filter kicks in before the request goes to
Axis,
Then you should be able to get the Tapestry features ..

I might be missing something here tho.


-Original Message-
From: Andreas Pursian [mailto:[EMAIL PROTECTED]
Sent: 11 July 2008 11:21
To: Tapestry users
Subject: T5: Integrating T5 webapp with Axis2 webservice framework

Dear list,

i'am working on a webapp which should be accessible through a normal
html based interface and a webservice component. I use a couple of
business delegate classes to seperate presentation and domain layer
which i @Inject as a service into my page classes on the one hand and
into my webservice skeleton classes on the other hand. So the problem
is, while all webservice requests are handled by the AxisServlet, T5 IoC
can't handle the injection for the businessdelegate classes.
So my question is, if somebody knows a elegant solution for integrating
T5 and Axis2 to give webservice skeletons access to T5 services.

thank you in advance

Andreas
--
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein:
http://www.shortview.de/[EMAIL PROTECTED]

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

The information contained in this email is strictly confidential and for the 
use of the addressee only, unless otherwise indicated. If you are not the 
intended recipient, please do not read, copy, use or disclose to others this 
message or any attachment. Please also notify the sender by replying to this 
email or by telephone (+44 (0)20 7896 0011) and then delete the email and 
any copies of it. Opinions, conclusions (etc.) that do not relate to the 
official business of this company shall be understood as neither given nor 
endorsed by it. IG Index plc is a company registered in England and Wales 
under number 01190902. VAT registration number 761 2978 07. Registered 
Office: Friars House, 157-168 Blackfriars Road, London SE1 8EZ. Authorised 
and regulated by the Financial Services Authority. FSA Register number 
114059.


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



Re: [T4] tapestry-captcha source?

2008-07-05 Thread kranga
You should be able to implement recaptcha in minutes. The recaptcha.net 
website points to java library to - very simple and very effective (supports 
audo playback as well).



- Original Message - 
From: "Kalle Korhonen" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, July 05, 2008 7:11 PM
Subject: [T4] tapestry-captcha source?



Hey,

anybody happen to have the source for James Carman's tapestry-captcha? 
Just

started seeing a need for some type of captcha-functionality only to find
out that
http://www.carmanconsulting.com/mvn/com/javaforge/tapestry/tapestry-captcha/returns
404 and javaforge's tapestry project is non-functional. I'd gladly
take a look at that implementation or any other and adapt to my needs 
rather

than writing a completely new one.

Thanks,
Kalle




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



Re: T5 version 5.0.13 Index page suppressing other servlets?

2008-06-26 Thread kranga

Thiago,
   I think a better statement would be "Tapestry is behaving exactly as it 
wants to." I guess this is a very unfortunate side-effect of the way 
Tapestry uses contexts. The design is fine when the web-app consists only of 
Tapestry, but that is seldom the case in real-world applications.


This still doesn't explain why I don't see this behavior when using a Start 
page. Can a start page not have activation context?


- Original Message - 
From: "Thiago H. de Paula Figueiredo" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, June 25, 2008 10:49 AM
Subject: Re: T5 version 5.0.13 Index page suppressing other servlets?



Em Wed, 25 Jun 2008 11:32:05 -0300, kranga <[EMAIL PROTECTED]> escreveu:

I have Index.tml setup in my app root for the home page. I also have a 
servlet defined that listens to requests to /broker. There is no folder 
by the name of /broker. I find that Tapestry takes over the /broker 
request and serves up the home page! Unless there is a /broker folder 
with some file Tapestry takes over! Why is the Tapestry servlet 
over-reaching and is there any configuration to prevent it from doing so?


NOTE: This behavior is not present when I use Start.tml as my home page.


Tapestry is behaving exactly as it should. For any request, the Tapestry 
servlet filter (it is not a servlet), checks if the request can be handled 
by it. If it cannot, it just ignores it, giving a chance to other servlet 
filters and servlets to process the request.


Having an Index page, Tapestry receives a request to /broker and thinks 
that "broker" is the activation context for the Index page.


You can leave your Index page and tell Tapestry to ignore requests to 
/broker adding this lines to you AppModule:


public static void 
contributeIgnoredPathsFilter(UnorderedCollection configuration) {

configuration.add("/broker/.*");
}

More details at the end of 
http://tapestry.apache.org/tapestry5/tapestry-core/guide/conf.html.


Thiago

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



T5 version 5.0.13 Index page suppressing other servlets?

2008-06-25 Thread kranga
I have Index.tml setup in my app root for the home page. I also have a 
servlet defined that listens to requests to /broker. There is no folder by 
the name of /broker. I find that Tapestry takes over the /broker request and 
serves up the home page! Unless there is a /broker folder with some file 
Tapestry takes over! Why is the Tapestry servlet over-reaching and is there 
any configuration to prevent it from doing so?


NOTE: This behavior is not present when I use Start.tml as my home page. 



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



Re: T5 5.0.13 Javascript rendering at end of document - questions regd

2008-06-25 Thread kranga

Kristian,
   Thanks! That will work just fine. I suspected performance was the driver 
but was hoping that there was a way of selectively adding some script 
includes to the top!


- Original Message - 
From: "Kristian Marinkovic" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, June 25, 2008 8:22 AM
Subject: Re: T5 5.0.13 Javascript rendering at end of document - questions 
regd




reason for adding js libraries at the end of the document:

https://issues.apache.org/jira/browse/TAPESTRY-2364

you could write an own Flash component that adds the js
libraries into the head section:

public class Flash() {

  beginRender(MarkupWriter writer) {
  Document d = writer.getDocument();
  Element head = d.find("html/head");

  head.element("script", ...);

  }
}

i think you get the idea

g,
kris




"kranga" <[EMAIL PROTECTED]>
25.06.2008 14:02
Bitte antworten an
"Tapestry users" 


An
"Tapestry users" 
Kopie

Thema
Re: T5 5.0.13 Javascript rendering at end of document - questions regd







Filip,
   That will not work because 1) the Flash player javascript is called
in-line to render the Flash player and 2) within the flash player
javascript, I've got some dynamic parameters being added. I can rework (2)

to make it a function parameter and put the dynamic nature in the inline
function call but that will still fail. Here is why:



   
   HTML tags 

renderFlashPlayer(${myParam}) 

   Other HTML tags ...


   
   
   


So if renderFlashPlayer lives in flashPlayer.js, it will simply not work!
My
only alternative is to manually include flashUtil.js in the header and
inline flashPlayer.js. This is unnatural and against the grain. I suspect
that there are other similar scenarios.

- Original Message - 
From: "Filip S. Adamsen" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, June 25, 2008 7:51 AM
Subject: Re: T5 5.0.13 Javascript rendering at end of document - questions

regd



Actually, you can just put the JavaScript in a .js file and then include



it with @IncludeJavaScriptLibrary. Then add a call to
RenderSupport#addScript in your page's afterRender handler that does the



setup you need.

For this and more, check
http://tapestry.apache.org/tapestry5/tapestry-core/guide/ajax.html.

-Filip

On 2008-06-25 13:46, kranga wrote:

One more addition: When including the flash player in a page, the
recommended technique is to put inline javascript that renders the

flash

player where the javascript appears in the page. The javascript relies

on

an external javascript file being included. If I do an asset injection

of

the Flash javascript, it ends up at the bottom of the page and the

flash

player inline javascript fails. So it seems like one would need to
override this behavior. Otherwise I'd have to package up the inline
javascript as a method, inject that and then call it in place. But I'm
concerned with putting all the javascript for the flash in a Java file.



That is not a natural fit.



I have some questions regarding the decision to render Javascript at

the

end of the document:

1) What was the rationale/dirver for this?
2a) The upgrade notes say to use RenderSupport. Can anyone provide a
short description of how to use RenderSupport to inject a simple
javascript function?
2b) This implies that a lot of inline javascript will have to be moved



from .tml to .java classes. It seems this will reduce the

"naturalness"

of being able to use javascript normally.



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






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



Re: T5 5.0.13 Javascript rendering at end of document - questions regd

2008-06-25 Thread kranga

Filip,
   That will not work because 1) the Flash player javascript is called 
in-line to render the Flash player and 2) within the flash player 
javascript, I've got some dynamic parameters being added. I can rework (2) 
to make it a function parameter and put the dynamic nature in the inline 
function call but that will still fail. Here is why:




   
   HTML tags 

renderFlashPlayer(${myParam}) 

   Other HTML tags ...


   
   
   


So if renderFlashPlayer lives in flashPlayer.js, it will simply not work! My 
only alternative is to manually include flashUtil.js in the header and 
inline flashPlayer.js. This is unnatural and against the grain. I suspect 
that there are other similar scenarios.


- Original Message - 
From: "Filip S. Adamsen" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, June 25, 2008 7:51 AM
Subject: Re: T5 5.0.13 Javascript rendering at end of document - questions 
regd



Actually, you can just put the JavaScript in a .js file and then include 
it with @IncludeJavaScriptLibrary. Then add a call to 
RenderSupport#addScript in your page's afterRender handler that does the 
setup you need.


For this and more, check 
http://tapestry.apache.org/tapestry5/tapestry-core/guide/ajax.html.


-Filip

On 2008-06-25 13:46, kranga wrote:
One more addition: When including the flash player in a page, the 
recommended technique is to put inline javascript that renders the flash 
player where the javascript appears in the page. The javascript relies on 
an external javascript file being included. If I do an asset injection of 
the Flash javascript, it ends up at the bottom of the page and the flash 
player inline javascript fails. So it seems like one would need to 
override this behavior. Otherwise I'd have to package up the inline 
javascript as a method, inject that and then call it in place. But I'm 
concerned with putting all the javascript for the flash in a Java file. 
That is not a natural fit.



I have some questions regarding the decision to render Javascript at the 
end of the document:


1) What was the rationale/dirver for this?
2a) The upgrade notes say to use RenderSupport. Can anyone provide a 
short description of how to use RenderSupport to inject a simple 
javascript function?
2b) This implies that a lot of inline javascript will have to be moved 
from .tml to .java classes. It seems this will reduce the "naturalness" 
of being able to use javascript normally.



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



Re: T5 5.0.13 Javascript rendering at end of document - questions regd

2008-06-25 Thread kranga
I take that back. Putting the flash player inline javascript in a method 
will not help since when it is called, the flash player external javascript 
will still not have been processed. So now I'm forced to statically or 
conditionally include the flash player javascript in my layout at the top. 
This defeats the goal of allowing components to contribute javascript to a 
page.


I think a mechanism to override the inclusion of javascript at the bottom of 
the page is needed. There are far too many javascript utilities that have 
been written that will fail to work in the mode. And I suspect almost all 
inline-rendering techniques that depend on an included javascript file will 
fail.



One more addition: When including the flash player in a page, the 
recommended technique is to put inline javascript that renders the flash 
player where the javascript appears in the page. The javascript relies on 
an external javascript file being included. If I do an asset injection of 
the Flash javascript, it ends up at the bottom of the page and the flash 
player inline javascript fails. So it seems like one would need to 
override this behavior. Otherwise I'd have to package up the inline 
javascript as a method, inject that and then call it in place. But I'm 
concerned with putting all the javascript for the flash in a Java file. 
That is not a natural fit.



I have some questions regarding the decision to render Javascript at the 
end of the document:


1) What was the rationale/dirver for this?
2a) The upgrade notes say to use RenderSupport. Can anyone provide a 
short description of how to use RenderSupport to inject a simple 
javascript function?
2b) This implies that a lot of inline javascript will have to be moved 
from .tml to .java classes. It seems this will reduce the "naturalness" 
of being able to use javascript normally.





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



T5 5.0.13 Javascript rendering at end of document - questions regd

2008-06-25 Thread kranga
One more addition: When including the flash player in a page, the 
recommended technique is to put inline javascript that renders the flash 
player where the javascript appears in the page. The javascript relies on an 
external javascript file being included. If I do an asset injection of the 
Flash javascript, it ends up at the bottom of the page and the flash player 
inline javascript fails. So it seems like one would need to override this 
behavior. Otherwise I'd have to package up the inline javascript as a 
method, inject that and then call it in place. But I'm concerned with 
putting all the javascript for the flash in a Java file. That is not a 
natural fit.



I have some questions regarding the decision to render Javascript at the 
end of the document:


1) What was the rationale/dirver for this?
2a) The upgrade notes say to use RenderSupport. Can anyone provide a short 
description of how to use RenderSupport to inject a simple javascript 
function?
2b) This implies that a lot of inline javascript will have to be moved 
from .tml to .java classes. It seems this will reduce the "naturalness" of 
being able to use javascript normally. 



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



T5 5.0.13 Javascript rendering at end of document - questions regd

2008-06-25 Thread kranga
I have some questions regarding the decision to render Javascript at the end 
of the document:


1) What was the rationale/dirver for this?
2a) The upgrade notes say to use RenderSupport. Can anyone provide a short 
description of how to use RenderSupport to inject a simple javascript 
function?
2b) This implies that a lot of inline javascript will have to be moved from 
.tml to .java classes. It seems this will reduce the "naturalness" of being 
able to use javascript normally. 



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



Re: Instability in Tapestry 5.0.12-SNAPSHOT

2008-05-20 Thread kranga

Somebody likes fish :)

+1 for the idea
-1 for the fishiness of it!

I would go with a distinguisher in the package other than the version so 
that come T6, new users are wondering "what on earth?"


My suggestion would be

org.apache.tapestry.ng(for Next Generation)

or along the food line:

org.apache.tapestry.mignon
org.apache.tapestry.ribeye
org.apache.tapestry.nystrip
org.apache.tapestry.porterhouse

you get the drift :)


- Original Message - 
From: "Christian Edward Gruber" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Monday, May 19, 2008 6:22 PM
Subject: Re: Instability in Tapestry 5.0.12-SNAPSHOT


Again, the differences between T3, T4, and T5 are not really  "versions" 
in the typical sense.  They're different architectural  bases.  You might 
call them three different web frameworks entirely.   So there should be no 
reason technically for them to overlap, and they  should have three 
different packages.  You might as well have them by  three different 
codenames, at which point you have


org.apache.tapestry.trout
org.apache.tapestry.tuna
org.apache.tapestry.tilapia

Different frameworks, all under the Tapestry project.  The fact that 
org.apache.tapestry.yellowtail shows up in four years should have no 
bearing on the other three. (again, not that it will, just making a 
point)


Christian.


On 19-May-08, at 17:59 , Markus Joschko wrote:


I'm not against a package rename but against the version number.

The only benefit of putting a version number in, is to help tap4 users
now. But who will care about tap4 in 2 years?
The version number will still be in the code base by then.
If the official version number of tapestry is changing from 5 to 2011
or whatsoever, developers will at best be irritated by the tapestry5
package names




On Mon, May 19, 2008 at 11:41 PM, Sven Homburg <[EMAIL PROTECTED]
> wrote:

markus,

i voted for package renaming like "org.apache.tapestry5"
but i go even conform with your mind.

if i read the reason for the package renaming, i was relay
alienated for that,

but on the other side, i am not sure, its more easier for
some tap4 user to migrate slowly to tap5.

but i am not sure, in our real fast spinning world,
if  there are much developer they say "i migrate tommorow"
and belive their own mind voice.

2008/5/19 Markus Joschko <[EMAIL PROTECTED]>:


Looks like I am alone but I don't like the idea of putting version
numbers into package names.
In the highly unlikely case that there will be a tapestry 6 (not for
technical but solely for marketing reasons ;-)) it might confuse
developers. Are the classes in tapestry5 still valid or not?

Only developers who will run tapestry4 and 5 in one webapplication
might have the problem of distinguishing between the packages.
I guess that they are the minority and it might be reasonable for  them
to read the class comments if they are in doubt which package  belongs
to which tapestry version.

so -1 for a tapestry5 or v5.

my 2cents,
Markus

On Mon, May 19, 2008 at 9:58 PM, Blower, Andy
<[EMAIL PROTECTED]> wrote:

I agree.


-Original Message-
From: Massimo Lusetti [mailto:[EMAIL PROTECTED]
Sent: 19 May 2008 16:02
To: Tapestry users
Subject: Re: Instability in Tapestry 5.0.12-SNAPSHOT

On Mon, May 19, 2008 at 4:57 PM, Howard Lewis Ship <[EMAIL PROTECTED]
>
wrote:


The question is: would it have been better to just broadly rename
org.apache.tapestry to org.apache.tapestry5?  There was quite a  bit

of

discussion back on forth among the developers on this one.


I would say yes.

--
Massimo
http://meridio.blogspot.com

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





--
with regards
Sven Homburg
http://tapestry5-components.googlecode.com



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



T5 Form issues

2008-05-16 Thread kranga
Using IE 7: Form gets submitted even if there are client-side validation 
errors.


Event bubbling side-effect: If you have a page that contains a form and a 
component A, and further if the component itself has a form, then if the 
component's form is submitted and you have a simple onValidateForm() method, 
that gets called for the component's form validation submission as well. 
Thats a not so pleasant side-effect ... on option would be allow a @Bubble 
annotation that should be present for an event handler to handle a bubbled 
event? 



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



T5 - How to get Servlet context init params

2008-05-14 Thread kranga
There are several references to using ApplicationDefaults, SymbolProvider 
etc. in past emails but nothing concrete. Is there any way of getting a 
handle to the ServletContextSymbolProvider in a page or AppModule? 



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



Re: T5: ASO in HttpServletRequestFilter

2008-05-13 Thread kranga
Obvious: Because you can't access the HttpServletRequest from within the 
RequestFilter to access methods such as getRequestUri() (needed by 3rd party 
library being called in the filter).


If I didn't have access to the ASO manager, then I could write up the filter 
as a traditional Servlet filter. Why bother with the Tapestry filter chain 
in the first place? Or do I need to configure my servletRequestFilter to be 
"after" some other filter? If so, where do I find the list of these "after" 
"before" definitions?


- Original Message - 
From: "Robert Zeigler" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Tuesday, May 13, 2008 10:43 AM
Subject: Re: T5: ASO in HttpServletRequestFilter



Why not use a RequestFilter, instead?
You can access the ApplicationStateManager from withing a RequestFilter.

Robert

On May 13, 2008, at 5/139:41 AM , kranga wrote:


Version: 5.0.11
It appears that if you inject an application state manager into an 
HttpServletRequestFilter and try to access an ASO, you get a null 
pointer exception since the Tapestry Request object has still not  been 
set up. This means that if you do need to access an ASO, you  are forced 
to use the session directly (and hence the session from  within your 
pages too).


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



T5: ASO in HttpServletRequestFilter

2008-05-13 Thread kranga

Version: 5.0.11
It appears that if you inject an application state manager into an 
HttpServletRequestFilter and try to access an ASO, you get a null pointer 
exception since the Tapestry Request object has still not been set up. This 
means that if you do need to access an ASO, you are forced to use the 
session directly (and hence the session from within your pages too). 



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



T5: Calling method with parameter in prop

2008-05-09 Thread kranga
In looking at converting from T3 to T5, I've to deal with constructs such 
as:


class="ognl:menuClassName('home')"  where getMenuClassName uses the 
parameter to compare with the page's "id" passed in to determine if this is 
the currentPage or not. So the template has multiple links with constructs 
such as:


class="ognl:menuClassName('about')"
class="ognl:menuClassName('contact')" etc.

How do I do this in T5 given that prop bindings to methods cannot accept 
arguments? I'm sure there is a workaround, I just can't seem to find one. 



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



Re: T5: Persistence pains

2008-05-05 Thread kranga
We use a serialization strategy that zips the serialized form and base64 
encodes it. We're yet to see a performance issue with the solution. The 
issue with persisting each field in separate parameter is obviously that of 
the number of such fields you are able to persist.


- Original Message - 
From: "Dmitry Shyshkin" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Monday, May 05, 2008 4:48 AM
Subject: Re: T5: Persistence pains


The problem in "client" strategy that it used Serializable mechanism of 
jvm. Of cause it produce a lot of data (not getting in mind that most 
domain objects are not Serializable). I use own persistent strategy called 
'parameter'. It is similar to "client" with follow exceptions.


   *  It uses ValueEncoder to convert from Object to String and from
 String to Object. It save a lot of space, because for domain
 object only it id is persistent, which is rarely longer than 6
 characters.
   * It persist each field in separate parameters (when "client"
 persist all data in parameter t:ac) . In this way it is similar to
 activation context's friendly url behavior. User see somethings
 like this http://somewhere.com/page?user=123&order=12&item=5

With help of this strategy I persist data between request to the same 
page. It solves both: problem with multiple browser tabs and problem with 
too many persistent fields in session.


Ivan Dubrov wrote:


Right. Most annoying things for us about “session” and “flash” scopes was 
that they don’t work in several tabs. And “client” can’t hold too much 
data.





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



Re: T5: Persistence pains

2008-05-03 Thread kranga
The biggest argument to be made for "request scope" state that is 
automatically (or framework assisted developer code) persisted in the page 
vs. the "flash" technique of Tapestry is when considering multiple browsers 
opened by the user with the same session. Every app that I've developed, 
we've had to diligently ensure that nothing other than "login" credentials 
were stored in the session and everything was persisted within the request. 
For T3, our team developed an elaborate set of components that made this 
trivial (including our own annotations based support). The fact that Tap 5 
gets in the way of trying to have a very light session is a little 
disconcerting. The other side-effect of "flash" would be thrashing in a 
clustered environment.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, May 03, 2008 5:37 PM
Subject: Re: T5: Persistence pains


On Fri, May 2, 2008 at 6:36 PM, Joel Wiegman <[EMAIL PROTECTED]> 
wrote:

Josh,

 Thanks for the great suggestions.

 I guess I'm still befuddled as to why a web framework would resist 
having a "request scope" so dilligently.


It's not resistance, it's a different mindset, one that states that
URLs should stand on their own in the browser and represent data to be
presented to the user (i.e., render page requests) rather than
behaviors to execute (the action requests).

From what you describe, your activate event handler method should be
able to load whatever additional data is needed and store it in simple
component fields: that's your request scope.  The fact that Tapestry
links action requests to page requests is a separate issue.

The goal is that if the user clicks the refresh button (the other
annoying thing users do, besides hit the browser back button) that
there won't be unexpected side-effects (such as, for instance,
re-submitting an order, re-sending an email, etc., etc.).



 The "flash" scope appears to makes some intelligent guesses as to when 
you want your objects removed from the session, but the 
back-button-example I listed is one of quite a few reasons why making 
such guesses is a fools game.  As we all know, HTTP is a 
request-response, stateless protocol, but Tapestry appears to be 
resisting storing state in one of the most basic constructs available in 
HTTP... the request.  Anyone know why this is?


Because we can store it inside ordinary fields instead?



 As you illustrated, I'm sure there are quite a few elaborate ways of 
dancing around the issue in any application (redundant checking, 
re-verification, passing "clearThisValue" flags around, etc.).  None seem 
very elegant though (and would probably be associated with "this is why 
I'm doing this" comments).


 As for your activation context suggestions, those are some neat ideas. 
I hadn't considered your "marking" suggestion.   I'm a little afraid to 
use it though.  I can see a Tapestry pattern evolving from that that 
yields (String... stuff) as your parameter to your onActivate with a 
boatload of extravagant logic.


 Anyway, still haven't heard a useful suggestion to get objects into a 
"request only" scope.  If anyone can think of something please post!


It would be interesting to see what some of these values are that can
only be set inside an action request but must then span into a render
request.



 Thanks,

 Joel




 -Original Message-
 From: [EMAIL PROTECTED] on behalf of Josh Canfield
 Sent: Fri 5/2/2008 6:31 PM
 To: Tapestry users
 Subject: Re: T5: Persistence pains

 I generally consider flash persistence as a way to get an object from
 the action request to the render request...

 If you're going to set it in the render request you should consider
 adding code that validates that your data and context match up. You
 could, for instance, also flash persist your id and check it against
 the id from the context. If they don't match then null your other
 properties.

 > While some may argue that this is "just poor design", what if the 
fields
 > I initialize varies by product?  I'd get a "merging" of the two 
products

 > on the screen depending on what was persisted first.

 Storing these things in your component smells funny... but I don't
 know your app. If someone is coming to the page for the first time you
 want an empty object, if they are posting an update to the form then
 Tapestry is going to populate the values. If you are navigating within
 the page using pagelinks, but it's a form then I'd consider posting
 the form instead...

 Josh

 On Fri, May 2, 2008 at 2:39 PM, Joel Wiegman <[EMAIL PROTECTED]> 
wrote:

 > Sure Howard.
 >
 > Quite simply, "the back button".  When loading a page with an 
activation

 > context, say:
 >
 > http://myapp.com/editproduct/20  (where 20 is a product ID)
 >
 > I'll initialize some flash-persistable values on the page from the
 > Product whose ID is 20.
 >
 > Now if the user clicks on the Back button and goes to a link that 
reuses

 > the

Re: Client side validation and IE

2008-03-24 Thread kranga
T5 uses Prototype and Scriptaculous for client side validation/ajax stuff. 
Our experience with Prototype and Scriptaculous has not been that great, 
especially when it comes to upgrading versions. Is there any way to disable 
the use of those libraries and/or the use of a different library (JQuery?)?


It seems like a very invasive decision for T5 to force the use of a 
javascript UI library and also perform client side validation using a 
specific UI paradigm.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Friday, March 21, 2008 6:23 PM
Subject: Re: Client side validation and IE



Hm. It worked last time I checked.  I have trouble checking the IE
stuff since I work on a Mac.  It involves me firing up a virtual
machine, etc.

On Wed, Mar 19, 2008 at 10:47 PM, Dmitry S <[EMAIL PROTECTED]> wrote:


 Hi,
 I tried T5 (5.0.11) client side validation in Internet Explorer, and it
 seems that it not works in IE6 (I see POST in jetty log) and IE7 brings 
up

 an ugly Error popup window "Object does not support property or method"

 --
 View this message in context: 
http://www.nabble.com/Client-side-validation-and-IE-tp16172230p16172230.html

 Sent from the Tapestry - User mailing list archive at Nabble.com.


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






--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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



Re: new features in 5.0.11

2008-03-15 Thread kranga

Funny - my experience has been the exact opposite.

Building a general purpose framework on one's personal experience can have 
shortfalls. For example you state in your blog "I also think Tapestry's 
built-in rules for URLs are really strong and appealing; I simply don't see 
customizing the built-in rules to be a priority, or frankly, of any great 
value."


I can tell you the URL scheme of Tapestry would not work at all for some of 
the apps I've built.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Friday, March 14, 2008 2:38 AM
Subject: Re: new features in 5.0.11



It's nice that you think that.

The reality is that almost every application I've worked on or
consulted for had a subset of pages that needed to be protected via
HTTPS and the remainder could operate via HTTP.

On Thu, Mar 13, 2008 at 6:01 PM, kranga <[EMAIL PROTECTED]> wrote:

Defining secure access via HTTPS is a high level architectural decision.
 Seldom is one going to want to do that by annotation.

 - Original Message -
 From: "Angelo Chen" <[EMAIL PROTECTED]>
 To: 
 Sent: Thursday, March 13, 2008 10:07 AM
 Subject: t5: new features in 5.0.11


 >
 > Hi,
 >
 > As usual I always like to look at new features of every release, here 
are

 > the one officially listed as new to the 5.0.11:
 >
 > 1. The @Cached annotation has been added to allowing the caching of 
method

 > results.
 >
 > Can't understand this, any use case to explain this?
 >
 > 2. Tapestry can now generate accessor methods for fields automatically 
via

 > the @Property annotation.
 >
 > This is a cool feature, saving a lot of code.
 >
 > 3. It is now possible to override the built-in display and edit blocks 
for

 > data types.
 >
 > What's this?
 >
 > 4. Tapestry now supports "Index" pages at the root or in sub-folders.
 >
 > nice feature.
 >
 > 5. Tapestry pages may now be secured for access only via HTTPS.
 >
 > good feature.
 >
 > 6. Added the FormFragment component to allow for forms that are 
mutable on
 > the client-side. In addition, the Form component may now update a 
Zone.

 >
 > good feature.
 >
 > a.c.
 > --
 > View this message in context:
 > 
http://www.nabble.com/t5%3A-new-features-in-5.0.11-tp16025541p16025541.html

 > Sent from the Tapestry - User mailing list archive at Nabble.com.
 >
 >
 > -
 > 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]






--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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



Re: new features in 5.0.11

2008-03-13 Thread kranga
Defining secure access via HTTPS is a high level architectural decision. 
Seldom is one going to want to do that by annotation.


- Original Message - 
From: "Angelo Chen" <[EMAIL PROTECTED]>

To: 
Sent: Thursday, March 13, 2008 10:07 AM
Subject: t5: new features in 5.0.11




Hi,

As usual I always like to look at new features of every release, here are
the one officially listed as new to the 5.0.11:

1. The @Cached annotation has been added to allowing the caching of method
results.

Can't understand this, any use case to explain this?

2. Tapestry can now generate accessor methods for fields automatically via
the @Property annotation.

This is a cool feature, saving a lot of code.

3. It is now possible to override the built-in display and edit blocks for
data types.

What's this?

4. Tapestry now supports "Index" pages at the root or in sub-folders.

nice feature.

5. Tapestry pages may now be secured for access only via HTTPS.

good feature.

6. Added the FormFragment component to allow for forms that are mutable on
the client-side. In addition, the Form component may now update a Zone.

good feature.

a.c.
--
View this message in context: 
http://www.nabble.com/t5%3A-new-features-in-5.0.11-tp16025541p16025541.html

Sent from the Tapestry - User mailing list archive at Nabble.com.


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



T5 direction - general purpose vs specialized?

2008-01-28 Thread kranga
I was testing t5 (5.0.7) and saw that the form component automatically 
throws bubble messages for validation. T5 also seems to utilize 
Scriptaculous for achieving this. So my question is - is Tapestry meant to 
be specialized or general purpose? All our clients dictate the look-n-feel 
of error messages and such and so the default bubble will never work for us. 
I'm surprised that such a UI specific decision is made by T5. How much work 
will it be to use a different scheme for display/presentation of error 
messages? How dependent is T5 going to be on Scriptaculous and how much 
tweaking will one have to do to circumvent its use? 



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



Re: T5: Page from sub-package

2008-01-22 Thread kranga
Thanks for the input Kevin...

The T5 documentation states: The dispatcher here strips terms off of the path 
until it finds a known page name. Thus, "/mypage/27" would look first for a 
page whose name was "mypage/27", then look for a page name "mypage". Assuming 
the second search was succesful, the page would be activated with the context 
"27".

So obviously it is not working per the spec.

-

I remember running into that before.  I spent some time trying to figure it
out before deciding to just restructure my pages.

The issue, as near as I can tell, is that Tapestry cannot distinguish
between activation context and pages.  Or rather, a preference is given to
the former over the latter.  My opinion, it should be the other way around,
and thinking about it now, may not actually require that much of a change to
the T5 code.

-- 
Kevin 


On 1/22/08 7:15 AM, in article [EMAIL PROTECTED],
"kranga" <[EMAIL PROTECTED]> wrote:

> I'm using 5.0.7
> 
> I have a page called Admin.java in the root "pages" package. I also have a
> page called Search.java in package "pages/admin/"
> When I send a request to /admin, Tapestry correctly renders the admin page.
> But when I send a request to /admin/search, I still get the admin page. How
> do I get the Search.java page to be invoked?
> 
> 
> -
> 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]



T5: Page from sub-package

2008-01-22 Thread kranga

I'm using 5.0.7

I have a page called Admin.java in the root "pages" package. I also have a 
page called Search.java in package "pages/admin/"
When I send a request to /admin, Tapestry correctly renders the admin page. 
But when I send a request to /admin/search, I still get the admin page. How 
do I get the Search.java page to be invoked? 



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



Re: Tapestry 5 Roadmap

2007-10-23 Thread kranga
I didn't implicate you as stupid. You wouldn't be using Tapestry if you were 
stupid. I was commenting on you summarily dismissing the concerns of quite a 
few Tapestry users about the lack of version compatiblity and your implying 
that this was the industry norm.


Look, Howard has carte blanche on what he wants to do or not do with 
Tapestry. He states that T5 is laying the foundation for future 
compatiblity. So be it. All I can say is that in a few years when there is 
the "next new thing" out there and T5 cannot support it, he may yet again 
abandon backwards compatiblity. If he does, again, he has carte blanche. 
But, you cannot claim that the lack of backward compatiblity is a non-issue. 
That is a slap in the face of corporations and consultants like me who 
pushed to get T3/T4 adopted and now look not so good because the corporation 
is faced with finding developers who can code to an outdated framework and 
where the upgrade path is steep. But that is open source and life. Just 
don't call it "normal business practice in the marketplace."


I didn't and never meant to insult anyone personally. No ad hominim attacks 
..


- Original Message - 
From: "Christian Gruber" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Tuesday, October 23, 2007 11:32 AM
Subject: Re: Tapestry 5 Roadmap


Ok, whatever.  I give in.  I'll go and use T4 and whine at Howard  now. 
Oh wait, no I won't.  I'll work on T5 and try to encourage it  into as 
re-usable, and less brittle and change-vulnerable a form as I  can, so 
that there is more likelihood of upgradability. (Howard's  doing quite 
well about that already)


Honestly, I wouldn't be so hostile at the moment if Kranga hadn't  dropped 
the implication that I was stupid for merely observing  something about 
version numbers.  Just follow the links.  I'm not  saying anyone's wrong 
for saying that they want compatibility.  I'm  just saying (and it was all 
I was saying) that often (and provably  often - see the links) major 
version numbers indicate  incompatibility.  That's not my opinion - that's 
an observation.  I  wasn't saying it was right, or better.  I'm saying 
it's fair of the  author to do what other software has clearly done before 
him, and  Howard had the decency to make a major version bump to indicate 
that  it's a new platform.  I suppose he could have called it TapestryNG 
or  something.


Anyway, I'm out of this conversation.  When people are comparing  opinion 
with observed (and referenced) facts and giving me grief for  it, they 
should try editing Wikipedia more.  There at least that kind  of thing 
isn't tolerated.


Christian.

On 23-Oct-07, at 9:15 AM, Peter Stavrinides wrote:

Christian, kranga is right. You can't keep telling yourself it is  okay 
to change the framework to the point that an entire rewrite is  needed to 
existing code. Some upgrading is expected (and necessary),  but Tapestry 
will die a quick death, no matter how good it is under  the hood, if you 
slap devotees in the face again and again.



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



Re: Tapestry 5 Roadmap

2007-10-23 Thread kranga
I am speaking from my experience (and based on others in the mailing list 
who have echoed a similar sentiment). It is very frustrating for an 
organization to decide to use a framework and then find it is "legacy" in 6 
months. Such is software development (and open source) and developers and 
corporations take that into account when putting their resources in. This 
shows in the lack of Tapestry adoption. And btw native database apis don't 
change. Oracle for e.g. has a huge backward compatiblity legacy. There are 
changes in most software, but not a complete rewrite.


- Original Message - 
From: "Christian Gruber" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Friday, October 19, 2007 11:52 AM
Subject: Re: Tapestry 5 Roadmap



Egregious?  That demands and answer and perhaps an apology.

Firstly, try porting and app from Weblogic Portal 8 to Weblogic Portal  9. 
It has conversion tools, but it's not compatible without up- conversion. 
Upconversion doesn't count.


Then think of eclipse and the plugins geared for such.

As to appservers themselves, core platforms have a higher bar for 
backwards compatibility and always have than component frameworks. 
Databases are also externally compatible only because they conform to  an 
API they didn't write themselves (SQL92, etc.).  I'm not sure about 
MySQL, but many SQL databases that have native APIs are not API 
compatible between releases when using that native API.  And try to  move 
the files over between databases, and you have to do an export  and an 
import, because you can't just install an upgrade and have  everything 
work.  As I said, upconversion doesn't count.


We're talking about a component framework, which is highly finicky.   If 
you update the major versions, it's not unreasonable that existing 
components won't work.  I mean Howard could have spent a lot of effort 
making a bridge or translation system to maintain compatibility (which  is 
often how total rewrites gain their backwards compatibility... see 
windows), but he didn't (clearly) think that was worth his time.  Of 
course, it's open-source, so you could do it, if you wanted it badly 
enough.


Oh, and blah blah blah fork blah blah.  You know that part.

Regardless of all of this, at least one major apache project has this 
policy too, and that's from 2 minutes on 
google.http://apr.apache.org/versioning.html .  Major versions mean 
incompatible releases.  That's (in my  experience, except for platforms 
themselves) often the (non-marketing)  meaning of major versions. A few 
other examples:


http://www.jmock.org/versioning.html
http://xstream.codehaus.org/versioning.html
http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html
http://wiki.eclipse.org/Version_Numbering
... oh, and most unix libraries.

While not absolutely true in all cases, it is most certainly true in  many 
cases, and is not unreasonable.


Now apologize for your imputation, sir, for you are substantially, 
demonstrably incorrect.


Christian.

P.S.  Ok, I'm not really that offended, just irritated with how  personal 
you just made it.  I don't like being called out for simple  observations 
from 15 years in software development.


On 19-Oct-07, at 7:00 AM, kranga wrote:

That is an incredible statement! There have been numerous  discussions on 
this mailing list on the way T4 was made completely  incompatible since 
it was going to incorporate the very best and  then T5 was made even more 
incompatible to incorporate the latest.  This has been a vexing issue 
with quite a few people and  organizations who invested in T3/T4 based 
projects.


By way of example, tell me how these products are not compatible  within 
major releases:

Websphere 4, 5, 6
WebLogic:  8, 9, 10
MySQL: 4, 5
Hibernate: 2, 3

There are some pieces that change and new features are introduced.  But 
your don't have to do a major rewrite to use the newer version.  As an 
example, if T5 were T4 + annotations, that would be a  compatible 
release. But Howard has chosen to rewrite it from the  ground up with no 
compatiblity concern. Well, thats his prerogative  as this is open-source 
community driven development. If I want, I  can take the T3 code base and 
establish my own framework. However,  it also reflects on the popularly 
or lack of for Tapestry. This  topic has been beaten to death and I don't 
wish to bring it up  again. However, your point regarding versions was 
egregious.


- Original Message - From: "Christian Gruber" 
<[EMAIL PROTECTED]

>
To: "Tapestry users" 
Sent: Thursday, October 18, 2007 10:58 AM
Subject: Re: Tapestry 5 Roadmap


I'm not sure where "incompatible releases" comes in.  No one  releases 
1.0 -> 2.0 compatible releases except O/S vendors.   That's typically 
what the larg

Re: Tapestry 5 Roadmap

2007-10-19 Thread kranga
That is an incredible statement! There have been numerous discussions on 
this mailing list on the way T4 was made completely incompatible since it 
was going to incorporate the very best and then T5 was made even more 
incompatible to incorporate the latest. This has been a vexing issue with 
quite a few people and organizations who invested in T3/T4 based projects.


By way of example, tell me how these products are not compatible within 
major releases:

Websphere 4, 5, 6
WebLogic:  8, 9, 10
MySQL: 4, 5
Hibernate: 2, 3

There are some pieces that change and new features are introduced. But your 
don't have to do a major rewrite to use the newer version. As an example, if 
T5 were T4 + annotations, that would be a compatible release. But Howard has 
chosen to rewrite it from the ground up with no compatiblity concern. Well, 
thats his prerogative as this is open-source community driven development. 
If I want, I can take the T3 code base and establish my own framework. 
However, it also reflects on the popularly or lack of for Tapestry. This 
topic has been beaten to death and I don't wish to bring it up again. 
However, your point regarding versions was egregious.


- Original Message - 
From: "Christian Gruber" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, October 18, 2007 10:58 AM
Subject: Re: Tapestry 5 Roadmap


I'm not sure where "incompatible releases" comes in.  No one releases 
 1.0 -> 2.0 compatible releases except O/S vendors.  That's typically 
what the large version number change means - these are incompatible. 
That's not a strike against Tapestry, that's an industry expectation.


Christian


On 18-Oct-07, at 6:45 AM, kranga wrote:

The question is very relevant. The concern of the project should be  to 
build out the business functionality using existing tools. If the  tools 
in question are not yet released and in production, there is a  very 
legitimate concern that the maintenance of the tool will become  a 
partial focus. Tapestry may be a compelling offering  technologically, 
but it has many other factors going against it -  lack of a developer 
mindshare, incompatible releases in the past,  etc. We have used Tapestry 
for big projects - but we are still using  T3 since T4 and T5 are 
completely incompatible. You cannot push beta  software past project 
stakeholders unless that beta software is also  providing you with 
competitive advantage. T5 has some able  competitors in Wicket and 
JSF/Stripes, etc while still lacking an  ajax foundation for instance. So 
the competitive advantage is not  clear cut.


- Original Message - From: "Alex Shneyderman" 
<[EMAIL PROTECTED]

>
To: "Tapestry users" 
Sent: Thursday, October 18, 2007 3:22 AM
Subject: Re: Tapestry 5 Roadmap


The one question I could not answer without looking ridiculous was 
"What

happens to our multi-million dollar project if Howard is hit by a  bus
tomorrow"


I think the question is irrelevant. The question you should be 
answering:

Is the current base usable enough to push through on the project?. A
relevant after-question (if answer to the above is not exactly) to 
answer

how easy it is to add the features you are missing if you have to.  And
how easy it is to poke through the tapestry's source-base to fix  bugs 
that

might exist and you will find during the project's development.

If you can cross off HLS as your dependency then t5 is probably the 
best

choice to make from what's available out there :-)

Alex.

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




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



Re: Tapestry 5 Roadmap

2007-10-18 Thread kranga
The question is very relevant. The concern of the project should be to build 
out the business functionality using existing tools. If the tools in 
question are not yet released and in production, there is a very legitimate 
concern that the maintenance of the tool will become a partial focus. 
Tapestry may be a compelling offering technologically, but it has many other 
factors going against it - lack of a developer mindshare, incompatible 
releases in the past, etc. We have used Tapestry for big projects - but we 
are still using T3 since T4 and T5 are completely incompatible. You cannot 
push beta software past project stakeholders unless that beta software is 
also providing you with competitive advantage. T5 has some able competitors 
in Wicket and JSF/Stripes, etc while still lacking an ajax foundation for 
instance. So the competitive advantage is not clear cut.


- Original Message - 
From: "Alex Shneyderman" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, October 18, 2007 3:22 AM
Subject: Re: Tapestry 5 Roadmap



The one question I could not answer without looking ridiculous was "What
happens to our multi-million dollar project if Howard is hit by a bus
tomorrow"


I think the question is irrelevant. The question you should be answering:
Is the current base usable enough to push through on the project?. A
relevant after-question (if answer to the above is not exactly) to answer
how easy it is to add the features you are missing if you have to. And
how easy it is to poke through the tapestry's source-base to fix bugs that
might exist and you will find during the project's development.

If you can cross off HLS as your dependency then t5 is probably the best
choice to make from what's available out there :-)

Alex.

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



Re: Tapestry 5 Roadmap

2007-10-17 Thread kranga

Actually, this is one advantage of Tapestry: guaranteed quality.


That flies in the face of the philosophy of open source ... 

- Original Message - 
From: "Yunhua Sang" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, October 17, 2007 11:09 AM
Subject: Re: Tapestry 5 Roadmap



2. Tapestry is an one man show. ..


Actually, this is one advantage of Tapestry: guaranteed quality.

On 10/17/07, Daniel Jue <[EMAIL PROTECTED]> wrote:


>  "What
> happens to our multi-million dollar project if Howard is hit by a bus
> tomorrow"

Yes, please don't do that.

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



T5 Release date?

2007-10-16 Thread kranga
Is there a new roadmap for the release of T5? The website says Fall 2007 and 
includes a note that the release has slipped ... 



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



Re: Comparison

2007-09-29 Thread kranga
We've been using serialize + gzip + base64 encode using T3 for a couple of 
years - never had an issue with performance at all ...


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, September 27, 2007 7:03 PM
Subject: Re: Comparison


An ASO is an application state object.  ASOs are created on demand, and
shared between pages.  ASOs are generally stored in the HttpSession.

A client ASO would be all that, but would be stored on the client (inside
hidden form fields or query parameters). This has some costs: serializing
the objects, and the question of security.


On 9/27/07, Anton Gavazuk <[EMAIL PROTECTED]> wrote:


Sorry for interruption  :) - what is Client-side ASO?


2007/9/27, Howard Lewis Ship <[EMAIL PROTECTED]>:
>
> Client-side page persistence is in there, I'l have to check if it is
> documented. Client-side ASOs are not there yet (and there is not yet a
> JIRA
> issue to implement them).
>
> On 9/27/07, kranga <[EMAIL PROTECTED]> wrote:
> >
> > The one feature that T5 is missing and keeps us in T3 is lack of
support
> > for
> > client-side session persistence. With the redirect-after-submit
paradigm
> > ingrained in T5 (a design decision I think a framework shouldn't be
> > making),
> > I can't have state hidden in forms persisted through the redirect and
> > hence
> > am forced to use the session.
> >
> > - Original Message -
> > From: "Francois Armand" <[EMAIL PROTECTED]>
> > To: "Tapestry users" 
> > Sent: Thursday, September 27, 2007 4:24 AM
> > Subject: Re: Comparison
> >
> >
> > > Christian Gorbach wrote:
> > >> Here's a recent comparison of Wicket and Tap from Ken Tong:
> > >>
> >
http://agileskills2.org/blog/2007/09/my_thoughts_on_the_differences.html
> > >> cheers
> > >> c)hristian
> > >>
> > > (I'm sorry, I would have answer on your blog, but it seems that
> > something
> > > does not work with typekey login, I get a error message : "The site
> > you're
> > > trying to comment on has not signed up for this feature. Please
inform
> > the
> > > site owner.")
> > >
> > > Well, I mostly agree with the major part of your post, except for
the
> > ease
> > > of use : a few month ago, I has to choose a new web framework and
> tested
> > > wicket (1.3, first betas) and Tapestry 5. And I found Tapestry 5 far
> > > simpler to understand and use than Wicket, with no possible
comparison
> !
> > >
> > > So, perhaps previous version of Tapestry used to be hard, but
Tapestry
> 5
> > > is just the simplest Java web framework that I ever used (note: this
> > > assertion really depends of my personal background, the fact that I
> > never
> > > code any line of Swing but I know Spring/IoC for a long time, and
that
> I
> > > only spend some time with Struts, Struts 2, Stripes, Wicket and
> Tapestry
> > > 5).
> > >
> > > Really, Tapestry 5 has a lot of default, the bigger one being that
> it's
> > > still alpha, but it *is* simple.  Being productive with it is a
matter
> > of
> > > minutes...
> > >
> > >
> > > --
> > > Francois Armand
> > > Etudes & Développements J2EE
> > > Groupe Linagora - http://www.linagora.com
> > > Tél.: +33 (0)1 58 18 68 28
> > > ---
> > > InterLDAP - http://interldap.org FederID - http://www.federid.org/
> > > Open Source identities management and federation
> > >
> > >
> > >
-
> > > 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]
> >
> >
>
>
> --
> Howard M. Lewis Ship
> Partner and Senior Architect at Feature50
>
> Creator Apache Tapestry and Apache HiveMind
>





--
Howard M. Lewis Ship
Partner and Senior Architect at Feature50

Creator Apache Tapestry and Apache HiveMind


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



Re: Comparison

2007-09-27 Thread kranga
The one feature that T5 is missing and keeps us in T3 is lack of support for 
client-side session persistence. With the redirect-after-submit paradigm 
ingrained in T5 (a design decision I think a framework shouldn't be making), 
I can't have state hidden in forms persisted through the redirect and hence 
am forced to use the session.


- Original Message - 
From: "Francois Armand" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, September 27, 2007 4:24 AM
Subject: Re: Comparison



Christian Gorbach wrote:

Here's a recent comparison of Wicket and Tap from Ken Tong:
http://agileskills2.org/blog/2007/09/my_thoughts_on_the_differences.html
cheers
c)hristian

(I'm sorry, I would have answer on your blog, but it seems that something 
does not work with typekey login, I get a error message : "The site you're 
trying to comment on has not signed up for this feature. Please inform the 
site owner.")


Well, I mostly agree with the major part of your post, except for the ease 
of use : a few month ago, I has to choose a new web framework and tested 
wicket (1.3, first betas) and Tapestry 5. And I found Tapestry 5 far 
simpler to understand and use than Wicket, with no possible comparison !


So, perhaps previous version of Tapestry used to be hard, but Tapestry 5 
is just the simplest Java web framework that I ever used (note: this 
assertion really depends of my personal background, the fact that I never 
code any line of Swing but I know Spring/IoC for a long time, and that I 
only spend some time with Struts, Struts 2, Stripes, Wicket and Tapestry 
5).


Really, Tapestry 5 has a lot of default, the bigger one being that it's 
still alpha, but it *is* simple.  Being productive with it is a matter of 
minutes...



--
Francois Armand
Etudes & Développements J2EE
Groupe Linagora - http://www.linagora.com
Tél.: +33 (0)1 58 18 68 28
---
InterLDAP - http://interldap.org FederID - http://www.federid.org/
Open Source identities management and federation


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



Re: Comparison

2007-09-27 Thread kranga
Someone correct me if I'm wrong - but I believe GWT is designed for "single 
page" applications - aka swing style where additional UI screens are 
dialogs/panels etc. I think the size of your javascript will rapidly 
increase as you try to stuff more pieces that should be standalone pages 
into panels within a single page.


- Original Message - 
From: "Borut Bolčina" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, September 27, 2007 5:29 AM
Subject: Re: Comparison



Thanks for your input Francois.

Nobody has mentioned GWT so far. Is it an enterprise player at all? There
are posts on the web and seminars on how to build large web apps with GWT.
How does the dev cycle between developer and designer look like with GWT?

-Borut

2007/9/25, Francois Armand <[EMAIL PROTECTED]>:


Borut Bolčina wrote:
> Hello,
>
> has anyone done a fair comparison of T5, JSF (any incarnation), Wicket
> or/and any other Java web framework. I
>
Well, realy broad question. You should find some ideas here :
http://raibledesigns.com/rd/entry/choosing_a_jvm_web_framework1 and all
around the web. Of course, the subject is highly trollistic.

> Can you please expose strengths and weaknesses of T5 and other players
in
> enterprise environment. Just drop a plus and minus for one or two
features.
>
In my point of view, really bascaly, I would say :

* Struts 2 / Spring MVC / Stripe : nice MVC, "classic" java framework.
Far better than Struts, but *I* don't like the way they work.

More "component / event oriented" :
* JSF : after EJB 2, the new over-engineered Sun tech ... Well, Seam
seems to be the best approach to JSF. The big plus : it's a JSR, so
eventually, it shall be supported/known by a lots of people.

* Wicket : the "web is like Swing" approach is interesting. Some friends
of mine love it, but something with the "statefull by default" behaviour
dislike me (I never did Swing development, perhaps it's a reason)

* Tapestry 5 : really simple and nice, I like the IoC (but I was doing
Spring/Guice development for almost 6 month before discovering T5), the
ease of doing new component.
The big minus are : it's still alpha (and so it lacks polish, AJAX,
basic components, etc), it lacks a big community/visibility, the
migration path between major version is quite frightening (but it should
be better from now).

Of course, it's my biased opinion. After all, I wouldn't use T5 if I
dislike it.

--
Francois Armand
Etudes & Développements J2EE
Groupe Linagora - http://www.linagora.com
Tél.: +33 (0)1 58 18 68 28
---
InterLDAP - http://interldap.org
FederID - http://www.federid.org/
Open Source identities management and federation


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



Comment about Tapestry's growth

2007-09-07 Thread kranga

http://www.javalobby.org/java/forums/t101110.html

Tapestry, despite being a strong competitor to JSF, has gone virtually no 
where. once it is experienced its initial growth spurt after being released. 
It's basically flat. Unlike the Ruby on Rails vs. Spring data, the data at 
dice.com seems to support this one. There are currently only 87 jobs listed 
for Tapestry. This part is hard to debate no matter how you spin the 
numbers. Tapestry is virtually flat as far as having any kind of growth.



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



Re: T5: Redirect after form submit - concerns

2007-07-13 Thread kranga
If T5 already has the ability to persist fields into a form, then how to do 
you retain those fields during a redirect? The URL is not long enough to 
serialize every hidden field. So you'd be forced to store it in the session, 
which breaks the scenario of multiple browser windows in the same session.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Monday, July 09, 2007 10:06 AM
Subject: Re: T5: Redirect after form submit - concerns



T5 has the ability to to persist field properties onto the client (as
zipped/based64) automatically.  These show up as hidden form fields or
extra query parameters.  Not implemented yet is the ability to "scope"
the data to only hidden form fields (but leave normal links unchanged)
... the API is present, there just isn't an implementation yet.

On 7/9/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
We are in the process of evaluating T5 and other frameworks to upgrade 
our existing trading applications from T3. We extensively use objects 
serialized to hidden fields (zipped and base64 encoded) to manage state 
because we absolutely have to support multiple browser windows in the 
same session. However, T5's redirect after form submit throws a wrench in 
the design since it forces the uses of session to store the data which 
fails with multiple browsers and creates unnecessary traffic in a 
clustered deployment. Why is this redirect necessary and is there a way 
of overriding/turning it off? If there is no way around it, T5 will not 
be an option for us to upgrade to. So I'm hoping to arrive at a solution.


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





--
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache 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]




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



T5: Redirect after form submit - concerns

2007-07-09 Thread kranga
We are in the process of evaluating T5 and other frameworks to upgrade our 
existing trading applications from T3. We extensively use objects serialized to 
hidden fields (zipped and base64 encoded) to manage state because we absolutely 
have to support multiple browser windows in the same session. However, T5's 
redirect after form submit throws a wrench in the design since it forces the 
uses of session to store the data which fails with multiple browsers and 
creates unnecessary traffic in a clustered deployment. Why is this redirect 
necessary and is there a way of overriding/turning it off? If there is no way 
around it, T5 will not be an option for us to upgrade to. So I'm hoping to 
arrive at a solution.

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



T5: Feature request

2007-06-26 Thread kranga

Hi Tapestry developers:
   Is it possible to add friendly/custom URL support using annotations? If 
I mark my page class with an annotation such as @URL("/a/b/c/foo"), then 
Tapestry can internally automatically generate a filter that maps the URL to 
my page class. So a request such as /a/b/c/foo?id=1 can be handled by the 
appropriate class (in this case setting a field called id to 1). Is this 
possible? 



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



Re: T5: New Validators and server side validation

2007-05-17 Thread kranga
We just introduced client side validation for Tapestry fields using an ajax 
call back to the server side (with Tapestry 3). So you only write Java code 
for the validation and the same code gets called from the client side. All 
parameters for controlling your validation are automatically sent back as 
part of the ajax call and you can define when the check is triggered (e.g. 
onBlur) and which one of the "error marker" components tied to the input 
field will show the errors. Makes the code very clean and the front-end 
experience is slick (e.g. registration page has the same validator to check 
if username is taken and this is fired from the client and from the 
server!). I'd suggest T5 move to such a design.


- Original Message - 
From: "Bill Holloway" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, May 16, 2007 2:27 PM
Subject: Re: T5: New Validators and server side validation



That's got it, Ben.  Thanks.  Wish I knew more about javascript
prototyping.  Too much technology to stay familiar with.

Bill

On 5/16/07, Ben Sommerville <[EMAIL PROTECTED]> wrote:

Bill,

This
> pageRenderSupport.addScript(
> "Tapestry.Field.email('%s', %s);",
> field.getClientId(),
> quote(buildMessage(formatter, field)));

does not construct a function validating emails.  What it is doing is
inserting
a function call to register a particular field for validation.

On the page sent to the client you would get something like





That is the source of your error message, the Tapestry.Field.email
function
does not exist but you are trying to call it.

What you need to do is define the email validation function yourself in a
javascript file.  I would add it to a different namespace so that it is
clear
it is not a standard Tapestry function.

e.g. in myproject-valdation.js

var MyProject = {};

MyProject.Field =  {

email: function(field, message) {
Tapestry.addValidator(field, false, function(value, event) {
if( X ) {
event.recordError(message)
}
});
}
}

where  is the javascript to test if "value" is a valid email address.

Add a script include to your border/page (to load your validation
function)


and change the render method to use MyProject.Field.email and you are 
good

to go

cheers.
--
Ben Sommerville



> -Original Message-
> From: Bill Holloway [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 16 May 2007 4:33 PM
> To: Tapestry users
> Subject: Re: T5: New Validators and server side validation
>
> In implementing an e-mail validator myself, one thing I notice in all
> this is a Javascript error that reads
>
> Error: Tapestry.Field.email is not a function...
>
> I did some digging and found in org/apache/tapestry/tapestry.js the
> building up of the Tapestry object has in it a section involving
> "Collection of field based functions related to validation."  In that
> part of the object prototyping (I guess), each of the built-in
> validation types (required, minlength, maxlength, min, and max) has a
> function assigned that, essentially, duplicates the functionality of
> the Java-based validators.  All that prototyping must be for the
> client-side functionality.
>
> So I'm wondering why my AppModule-provided EmailValidator class'
> render() method isn't contributing the script.  Its code is
>
> pageRenderSupport.addScript(
> "Tapestry.Field.email('%s', %s);",
> field.getClientId(),
> quote(buildMessage(formatter, field)));
>
> Since I implementing something for render(), I would think that at
> least some kind of function for Tapestry.Field.email would show up
> (even if it has the wrong number of fields, etc), knocking out the
> "...is not a function" error.
>
> Bill
>


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





--
"The future is here.  It's just not evenly distributed yet."

-- Traditional

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



Re: Tapestry 5 Redirects

2007-04-15 Thread kranga


Why do you need numbers to understand that an extra redirect adds to 
rendering delay?


On storing values in session, why should I be forced to use a "flash" 
technology to handle session. A framework that attempts to be non-intrusive 
shouldn't force a session storage strategy because of the way it handles 
links! Doing a redirect on every link request is a very intrusive idea. I 
hope the Tap developers will re-evaluate this decision in light of the 
intrusiveness. As an example, lets say someone wanted to build ajax 
functionality on top of this link request. Every ajax request would be 
returned as a redirect response. Doesn't sound good.


A framework forcing you to do something because thats how it works - well, 
that sounds like something Tap 5 was aiming to avoid. Or am I wrong on that?


- Original Message - 
From: "Massimo Lusetti" <[EMAIL PROTECTED]>

To: "Tapestry users" <[EMAIL PROTECTED]>
Sent: Friday, April 13, 2007 11:04 AM
Subject: Re: Tapestry 5 Redirects



On 4/13/07, kranga <[EMAIL PROTECTED]> wrote:


1) Log analysis: Your page hit statistics and other log based audit and
troubleshooting activity need to take this into account.


All requests fall in to logs, anyway logs are configurable server
entities and are by no means related to application scope.


2) Extra unwanted delay and traffic in rendering pages.


Do you have numbers?


Storing page state in the session in general is a bad idea. When you have
multiple browser windows connected to the same session, you have complete
chaos.


Someone has already answered your question in this thread.


--
Massimo
http://meridio.blogspot.com

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



Re: Tapestry 5 Redirects

2007-04-13 Thread kranga

Reasons I can think of:

1) Log analysis: Your page hit statistics and other log based audit and 
troubleshooting activity need to take this into account.

2) Extra unwanted delay and traffic in rendering pages.

Storing page state in the session in general is a bad idea. When you have 
multiple browser windows connected to the same session, you have complete 
chaos.


- Original Message - 
From: "Patrick Moore" <[EMAIL PROTECTED]>

To: "Tapestry users" <[EMAIL PROTECTED]>
Sent: Friday, April 13, 2007 12:59 AM
Subject: Re: Tapestry 5 Redirects



well at least one reason is that phone browsers ask the user to
confirm each and every client-side redirect

On 4/12/07, Massimo Lusetti <[EMAIL PROTECTED]> wrote:

On 4/12/07, Andreas Pardeike <[EMAIL PROTECTED]> wrote:

> Is that clever design? I can think of several reasons why this could be
> a bad idea. What's the reasoning behind this?

Redirects helps you keeping your url and page states cleans, i mean
helps you a lot.
Which use case do you think to address?

--
Massimo
http://meridio.blogspot.com

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



Re: T5 vs T4 vs Community

2007-04-05 Thread kranga
Well, I hope you are earnest in that objective moving forward. At the end of 
the day I am not questioning the technological marvel that Tapestry is. 
Otherwise I wouldn't be using it. But I feel like quite a few of us who have 
championed the use of Tapestry within our organizations have been let down. 
Hopefully T5 and beyond will work to build a user base.


- Original Message - 
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, March 31, 2007 3:33 PM
Subject: Re: T5 vs T4 vs Community



The difference is that I'm designing everything in T5 to support that
goal (a clean separation to support easy upgrades). This wasn't a goal
in T1 to T4 ... chalk it up to experience.

On 3/31/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

You said:
"I guess there will be two questions to ask when the time comes:  What is 
the best framework?  Are there likely to be sweeping changes after T5? 
I'm inclined to agree with HLS that after T5, it should be possible to 
make changes under the hood without breaking existing code."


I don't know on what basis you are making this conclusion. The only facts 
that I have to go by are:

1) Past performance: Changes between T3, T4 and T5
2) Pace of technology change
3) Stated objectives/design principles/priorities by Tap devs.

"it should be possible to make changes under the hood without breaking 
existing code" => I've been around long enough to know how that works!


---

I can see your points, but I disagree.

With regard to the dramatic changes between 4.x and 5, I think it is 
worth

it to go through short-term pain for long-term gain.  I have seriously
questioned my choice of Tapestry because of these changes but keep coming 
up

with, "Wow, this is how it should be done!"

If I look at the applications I've done in 4.0.x, I have good separation
between the layers. I have investments in the CSS, and the HTML that will
largely be retained, as well as all of the services, security and
persistence infrastructure.

I will probably go from 4.0.2 to 5.0.x because I currently don't need the
AJAX functionality, though I would certainly go to 4.1.x if a project 
comes

up where I need it.

Maybe JSF is where your future lies. If I were you, since there seems to 
be

no serious time-pressure, I would look at your T3 applications and think
about preparing for a move.  Start refactoring now to ensure good 
separation

that will help you regardless of what you pick as your T3 successor.

I guess there will be two questions to ask when the time comes:  What is 
the

best framework?  Are there likely to be sweeping changes after T5?  I'm
inclined to agree with HLS that after T5, it should be possible to make
changes under the hood without breaking existing code.


IMHO

Jonathan



> -Original Message-
> From: kranga [mailto:[EMAIL PROTECTED]
> Sent: Saturday, March 31, 2007 9:23 AM
> To: Tapestry users
> Subject: Re: T5 vs T4 vs Community
>
> We invested in T3 and are sticking with it until JSF matures some more
> (with
> Infragistics releasing their component base for JSF, thats a great 
> boost).

> Clearly the Tapestry developers are in the pursuit of new
> features/technologies rather than building up a community. Not that 
> there

> is
> anything wrong with that, it is just their priority. However, the
> consequence is reflected in the "niche and esoteric" nature of Tapestry
> with
> a glaring lack of widespread use. Tapestry gives you no lock-in and for
> every upgrade you think of, you are given the opportunity to evaluate 
> any

> other framework out there :)
>
> - Original Message -
> From: "Martino Piccinato" <[EMAIL PROTECTED]>
> To: "Tapestry users" 
> Sent: Thursday, March 29, 2007 10:39 AM
> Subject: Re: T5 vs T4 vs Community
>
>
> > Well, I know it's not T4 => T5, I was just adding a possible source 
> > of

> bad
> > perception due to this misconception (and to misnaming...?)
> >
> > I think that the fact of not having a stable T4 "ajax ready" release 
> > add
> > confusion to this. A customer thinking that T4 => T5 might think 
> > "well

> > they
> > are not pushing that much on T4 with ajax because they are already
> working
> > on T5, so as I want to work with Ajax why should I work with T4 that
> will
> > be
> > soon outdated and not retrocompatible with T5?". And so on...
> >
> >
> >
> >
> > And actually having
> >
> > On 3/29/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote:
> >>
> >> Martino,
> >> your comment is because you consider T4=>T5 as the major part of 
> 

RE: T5 vs T4 vs Community

2007-03-31 Thread kranga
You said:
"I guess there will be two questions to ask when the time comes:  What is the 
best framework?  Are there likely to be sweeping changes after T5?  I'm 
inclined to agree with HLS that after T5, it should be possible to make changes 
under the hood without breaking existing code."

I don't know on what basis you are making this conclusion. The only facts that 
I have to go by are:
1) Past performance: Changes between T3, T4 and T5
2) Pace of technology change
3) Stated objectives/design principles/priorities by Tap devs.

"it should be possible to make changes under the hood without breaking existing 
code" => I've been around long enough to know how that works!

---

I can see your points, but I disagree.  

With regard to the dramatic changes between 4.x and 5, I think it is worth
it to go through short-term pain for long-term gain.  I have seriously
questioned my choice of Tapestry because of these changes but keep coming up
with, "Wow, this is how it should be done!" 

If I look at the applications I've done in 4.0.x, I have good separation
between the layers. I have investments in the CSS, and the HTML that will
largely be retained, as well as all of the services, security and
persistence infrastructure.

I will probably go from 4.0.2 to 5.0.x because I currently don't need the
AJAX functionality, though I would certainly go to 4.1.x if a project comes
up where I need it.

Maybe JSF is where your future lies. If I were you, since there seems to be
no serious time-pressure, I would look at your T3 applications and think
about preparing for a move.  Start refactoring now to ensure good separation
that will help you regardless of what you pick as your T3 successor.  

I guess there will be two questions to ask when the time comes:  What is the
best framework?  Are there likely to be sweeping changes after T5?  I'm
inclined to agree with HLS that after T5, it should be possible to make
changes under the hood without breaking existing code.


IMHO

Jonathan



> -Original Message-
> From: kranga [mailto:[EMAIL PROTECTED]
> Sent: Saturday, March 31, 2007 9:23 AM
> To: Tapestry users
> Subject: Re: T5 vs T4 vs Community
> 
> We invested in T3 and are sticking with it until JSF matures some more
> (with
> Infragistics releasing their component base for JSF, thats a great boost).
> Clearly the Tapestry developers are in the pursuit of new
> features/technologies rather than building up a community. Not that there
> is
> anything wrong with that, it is just their priority. However, the
> consequence is reflected in the "niche and esoteric" nature of Tapestry
> with
> a glaring lack of widespread use. Tapestry gives you no lock-in and for
> every upgrade you think of, you are given the opportunity to evaluate any
> other framework out there :)
> 
> - Original Message -
> From: "Martino Piccinato" <[EMAIL PROTECTED]>
> To: "Tapestry users" 
> Sent: Thursday, March 29, 2007 10:39 AM
> Subject: Re: T5 vs T4 vs Community
> 
> 
> > Well, I know it's not T4 => T5, I was just adding a possible source of
> bad
> > perception due to this misconception (and to misnaming...?)
> >
> > I think that the fact of not having a stable T4 "ajax ready" release add
> > confusion to this. A customer thinking that T4 => T5 might think "well
> > they
> > are not pushing that much on T4 with ajax because they are already
> working
> > on T5, so as I want to work with Ajax why should I work with T4 that
> will
> > be
> > soon outdated and not retrocompatible with T5?". And so on...
> >
> >
> >
> >
> > And actually having
> >
> > On 3/29/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote:
> >>
> >> Martino,
> >> your comment is because you consider T4=>T5 as the major part of people
> >> does.
> >>
> >> On 3/29/07, Martino Piccinato <[EMAIL PROTECTED]> wrote:
> >> >
> >> > I think another bad perception might origin from the fact of having
> the
> >> T4
> >> > "Ajax ready" 4.1 release still not released as stable after quite a
> >> > long
> >> > time and a completely new not retrocompatible T5 appear (the same to
> >> > me:
> >> > not
> >> > critiques, just observations).
> >> >
> >>
> >
> 
> 
> -
> 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]



Re: T5 vs T4 vs Community

2007-03-31 Thread kranga
We invested in T3 and are sticking with it until JSF matures some more (with 
Infragistics releasing their component base for JSF, thats a great boost). 
Clearly the Tapestry developers are in the pursuit of new 
features/technologies rather than building up a community. Not that there is 
anything wrong with that, it is just their priority. However, the 
consequence is reflected in the "niche and esoteric" nature of Tapestry with 
a glaring lack of widespread use. Tapestry gives you no lock-in and for 
every upgrade you think of, you are given the opportunity to evaluate any 
other framework out there :)


- Original Message - 
From: "Martino Piccinato" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Thursday, March 29, 2007 10:39 AM
Subject: Re: T5 vs T4 vs Community



Well, I know it's not T4 => T5, I was just adding a possible source of bad
perception due to this misconception (and to misnaming...?)

I think that the fact of not having a stable T4 "ajax ready" release add
confusion to this. A customer thinking that T4 => T5 might think "well 
they

are not pushing that much on T4 with ajax because they are already working
on T5, so as I want to work with Ajax why should I work with T4 that will 
be

soon outdated and not retrocompatible with T5?". And so on...




And actually having

On 3/29/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote:


Martino,
your comment is because you consider T4=>T5 as the major part of people
does.

On 3/29/07, Martino Piccinato <[EMAIL PROTECTED]> wrote:
>
> I think another bad perception might origin from the fact of having the
T4
> "Ajax ready" 4.1 release still not released as stable after quite a 
> long
> time and a completely new not retrocompatible T5 appear (the same to 
> me:

> not
> critiques, just observations).
>






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



Re: TapIDEA future, post "Time to move on"

2006-08-30 Thread kranga
While one can disagree about the actual productivity increase offered by an 
IDE plugin, you can't deny that it is a major plus for new adoptions. That 
said, I think Tapestry is in a unique situation with the incompatibility 
between T3, 4 and 5. We've developed some large applications using T3 and 
given the direction Tap is heading in, are definitely going to evaluate 
other frameworks when we think of upgrading (high barrier to upgrade implies 
lower barrier to exit the platform). As it is, I have no incentive to adopt 
T4 when T5 is going to be different. By the time T5 matures, there will be 
several other frameworks (including Wicket, Echo2 and perhaps even .NET 2.0) 
that will be exciting alternatives. At the end of the day, even though I am 
a technologist at heart, technology exists because of business and 
businesses don't care about how "cool" your internal architecture is, they 
care about not spending millions to just upgrade to the latest without a 
proportional increase in business functionality or decrease in cost of 
operations neither of which are the case here IMHO.


Now before you respond, please note this is my personal experience. I'm sure 
others will beg to disagree. I am making this post for those in a similar 
situation aware of this being a shared experience (I know people have posted 
of how they vouched for Tapestry only to look not so favorable a few years 
down the road). With the current trend future compatibility will always be 
broken because there will always be the next great thing and so the 
temptation to make T6 incompatible. T3 for all its worth gives me enough so 
I can weigh options and evaluate trends with leisure.


T3: Judgement day!


- Original Message - 
From: "andyhot" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Tuesday, August 29, 2006 8:10 PM
Subject: Re: TapIDEA future, post "Time to move on"



spindle-core (for Tap4) does this way in an IDE independent way.

I was taking a look at it 4 months ago, and I was able to do exactly this.
For instance:
public static void main(String[] args) {
   TapestryCore core = new TapestryCore(new TestLogger(),
   new LocalCoreListeners(), new LocalPreferenceSource());
   ITapestryProject project = new LocalProject();
   LocalBuild build = new LocalBuild(project);

   build.build(false, new HashMap());

   System.out.println(build.problemPersister);
   }

All Local* classes where my implementations for the IDE-agnostic 
interfaces

that spindle-core provides.
When i first tried it, it did output a few non errors (i think it didn't
understand default-value)
so I don't know what (other) errors currently exist.
I can give the latest version a try in a big project and see how it goes.

Konstantin Ignatyev wrote:

Agreed, but that could be done as build time 'check'
step. Something like JSP compiler task
http://ant.apache.org/manual/OptionalTasks/jspc.html

I think it could be easier to create than full IDE
plugin and such core service might be a very good
foundation for people willing to build IDE specific UI
layer atop of it.

--- D&J Gredler <[EMAIL PROTECTED]> wrote:



I mostly agree with you that current tooling gets us
pretty far, but there's
a lot to be said for turning the most frequent
"runtime" errors into
"compile-time" errors, something that often requires
special Tapestry
awareness.

On 8/29/06, Konstantin Ignatyev
<[EMAIL PROTECTED]> wrote:



My point is that in case of Tapestry/Wicket there


is


no need to worry much about tools, because


existing


ones provide pretty good environment to work


within.


Therefore focus on APIs and conventions seems very
reasonable to me.






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






--
Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / J2EE Consulting


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



Re: A bit OT: how to manage database connections for multiple components rendered simultaneously.

2006-07-18 Thread kranga
1) To have 9 pages rendering simultaneously you need to have very very high 
traffic.
2) We have systems with 500 connections to the database running just fine. 
It is easier to throw hardware on a well-known problem (at least to some 
extent) than to spend cycles over-engineering.
3) Think of caching the data if possible or think of implementing an 
aggregator that can send a single request on behalf of all components and 
distribute the results to them.



- Original Message - 
From: "Rui Pacheco" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Tuesday, July 18, 2006 6:30 PM
Subject: Re: A bit OT: how to manage database connections for multiple 
components rendered simultaneously.




Still, if the components were all rendered at the same time, you would be
tying up 9 connections simultaneously, and that would kill your response
times.

On 7/18/06, kranga <[EMAIL PROTECTED]> wrote:


Yes I would be fine with opening/closing 9 connections to the database if
they are from a connection pool because then I would be opening/closing 0
connections in reality!

- Original Message -
From: "James Carman" <[EMAIL PROTECTED]>
To: "'Tapestry users'" 
Sent: Monday, July 17, 2006 12:48 PM
Subject: RE: A bit OT: how to manage database connections for multiple
components rendered simultaneously.


> So, you'd be okay with opening/closing 9 connections to the database
> during
> each request cycle?  I'd think it would be better to just use one 
> during

> the
> entire request cycle.
>
> -Original Message-
> From: kranga [mailto:[EMAIL PROTECTED]
> Sent: Monday, July 17, 2006 12:40 PM
> To: Tapestry users
> Subject: Re: A bit OT: how to manage database connections for multiple
> components rendered simultaneously.
>
> Even if all components ask for their own connection, assuming 
> components

> release connections when they are done, you would still expect only 1
> connection in use (though it may physically travel on upto 8 different
> connection, there is only 1 connection open at any given time).
>
> A much better optimization would be to add an observer/mediator style
> pattern - a "data provider" that each component is able to tell what
data
> it
>
> needs (perhaps in the renderComponent method) and when the first 
> request

> for
>
> the data is made, the provider creates a SQL encompassing all requests,
> gets
>
> it and is able to dish it out. However, I personally (without any more
> info)
>
> would classify this optimization as pre-mature. 8 requests to the
database
> may only result in about 400ms while I have a monster elsewhere slowing
> everything down. Plus you need to take into account how often the index
> page
>
> is actually invoked.
>
> - Original Message -
> From: "James Carman" <[EMAIL PROTECTED]>
> To: "'Tapestry users'" 
> Sent: Monday, July 17, 2006 11:36 AM
> Subject: RE: A bit OT: how to manage database connections for multiple
> components rendered simultaneously.
>
>
>> Unless all components ask for their own connection, which I think is
what
>> they were saying.
>>
>> -Original Message-
>> From: kranga [mailto:[EMAIL PROTECTED]
>> Sent: Monday, July 17, 2006 11:28 AM
>> To: Tapestry users
>> Subject: Re: A bit OT: how to manage database connections for multiple
>> components rendered simultaneously.
>>
>> Unless I'm missing something, you will not be using 9 connections as
the
>> components will render in serial order. So you will make 9 requests
over
>> a
>> single connection.
>>
>> - Original Message -
>> From: "James Carman" <[EMAIL PROTECTED]>
>> To: "'Tapestry users'" ; "'Tapestry users'"
>> 
>> Sent: Monday, July 17, 2006 10:19 AM
>> Subject: RE: A bit OT: how to manage database connections for multiple
>> components rendered simultaneously.
>>
>>
>>> All code within one request can easily just use one
connection.  That's
>>> what
>>> we do with Tapernate.
>>>
>>> -Original Message-
>>> From: Rui Pacheco [mailto:[EMAIL PROTECTED]
>>> Sent: Monday, July 17, 2006 10:13 AM
>>> To: Tapestry users; Tapestry users
>>> Subject: A bit OT: how to manage database connections for multiple
>>> components rendered simultaneously.
>>>
>>> Hi all
>>>
>>> This is not a pure Tapestry question, but I believe you have seen 
>>> this

>>> before and might be able to give me some guiding light.
>>

Re: A bit OT: how to manage database connections for multiple components rendered simultaneously.

2006-07-18 Thread kranga
Yes I would be fine with opening/closing 9 connections to the database if 
they are from a connection pool because then I would be opening/closing 0 
connections in reality!


- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>

To: "'Tapestry users'" 
Sent: Monday, July 17, 2006 12:48 PM
Subject: RE: A bit OT: how to manage database connections for multiple 
components rendered simultaneously.



So, you'd be okay with opening/closing 9 connections to the database 
during
each request cycle?  I'd think it would be better to just use one during 
the

entire request cycle.

-Original Message-
From: kranga [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 12:40 PM
To: Tapestry users
Subject: Re: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Even if all components ask for their own connection, assuming components
release connections when they are done, you would still expect only 1
connection in use (though it may physically travel on upto 8 different
connection, there is only 1 connection open at any given time).

A much better optimization would be to add an observer/mediator style
pattern - a "data provider" that each component is able to tell what data 
it


needs (perhaps in the renderComponent method) and when the first request 
for


the data is made, the provider creates a SQL encompassing all requests, 
gets


it and is able to dish it out. However, I personally (without any more 
info)


would classify this optimization as pre-mature. 8 requests to the database
may only result in about 400ms while I have a monster elsewhere slowing
everything down. Plus you need to take into account how often the index 
page


is actually invoked.

- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>

To: "'Tapestry users'" 
Sent: Monday, July 17, 2006 11:36 AM
Subject: RE: A bit OT: how to manage database connections for multiple
components rendered simultaneously.



Unless all components ask for their own connection, which I think is what
they were saying.

-Original Message-
From: kranga [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 11:28 AM
To: Tapestry users
Subject: Re: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Unless I'm missing something, you will not be using 9 connections as the
components will render in serial order. So you will make 9 requests over 
a

single connection.

- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>

To: "'Tapestry users'" ; "'Tapestry users'"

Sent: Monday, July 17, 2006 10:19 AM
Subject: RE: A bit OT: how to manage database connections for multiple
components rendered simultaneously.



All code within one request can easily just use one connection.  That's
what
we do with Tapernate.

-Original Message-
From: Rui Pacheco [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 10:13 AM
To: Tapestry users; Tapestry users
Subject: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Hi all

This is not a pure Tapestry question, but I believe you have seen this
before and might be able to give me some guiding light.

I have a web application, which I am splitting into several fragments,
ie,
components, each one rendering content stored in a database. I just
realised
my index page would have 9 such fragments and if each is to retrieve a
connection from the pool to get its content, the stress on the db server
might be crazy, even if each request is quite short.

I have a connection pool, but even with that I don't believe its healthy
to
use 9 connections at the same time. What about the other users?

How would you deal with this issue?
--
Cumprimentos,
Rui Pacheco



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





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



Re: A bit OT: how to manage database connections for multiple components rendered simultaneously.

2006-07-17 Thread kranga
Even if all components ask for their own connection, assuming components 
release connections when they are done, you would still expect only 1 
connection in use (though it may physically travel on upto 8 different 
connection, there is only 1 connection open at any given time).


A much better optimization would be to add an observer/mediator style 
pattern - a "data provider" that each component is able to tell what data it 
needs (perhaps in the renderComponent method) and when the first request for 
the data is made, the provider creates a SQL encompassing all requests, gets 
it and is able to dish it out. However, I personally (without any more info) 
would classify this optimization as pre-mature. 8 requests to the database 
may only result in about 400ms while I have a monster elsewhere slowing 
everything down. Plus you need to take into account how often the index page 
is actually invoked.


- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>

To: "'Tapestry users'" 
Sent: Monday, July 17, 2006 11:36 AM
Subject: RE: A bit OT: how to manage database connections for multiple 
components rendered simultaneously.




Unless all components ask for their own connection, which I think is what
they were saying.

-Original Message-
From: kranga [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 11:28 AM
To: Tapestry users
Subject: Re: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Unless I'm missing something, you will not be using 9 connections as the
components will render in serial order. So you will make 9 requests over a
single connection.

- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>

To: "'Tapestry users'" ; "'Tapestry users'"

Sent: Monday, July 17, 2006 10:19 AM
Subject: RE: A bit OT: how to manage database connections for multiple
components rendered simultaneously.



All code within one request can easily just use one connection.  That's
what
we do with Tapernate.

-Original Message-
From: Rui Pacheco [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 10:13 AM
To: Tapestry users; Tapestry users
Subject: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Hi all

This is not a pure Tapestry question, but I believe you have seen this
before and might be able to give me some guiding light.

I have a web application, which I am splitting into several fragments, 
ie,

components, each one rendering content stored in a database. I just
realised
my index page would have 9 such fragments and if each is to retrieve a
connection from the pool to get its content, the stress on the db server
might be crazy, even if each request is quite short.

I have a connection pool, but even with that I don't believe its healthy
to
use 9 connections at the same time. What about the other users?

How would you deal with this issue?
--
Cumprimentos,
Rui Pacheco



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





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



Re: A bit OT: how to manage database connections for multiple components rendered simultaneously.

2006-07-17 Thread kranga
Unless I'm missing something, you will not be using 9 connections as the 
components will render in serial order. So you will make 9 requests over a 
single connection.


- Original Message - 
From: "James Carman" <[EMAIL PROTECTED]>
To: "'Tapestry users'" ; "'Tapestry users'" 


Sent: Monday, July 17, 2006 10:19 AM
Subject: RE: A bit OT: how to manage database connections for multiple 
components rendered simultaneously.



All code within one request can easily just use one connection.  That's 
what

we do with Tapernate.

-Original Message-
From: Rui Pacheco [mailto:[EMAIL PROTECTED]
Sent: Monday, July 17, 2006 10:13 AM
To: Tapestry users; Tapestry users
Subject: A bit OT: how to manage database connections for multiple
components rendered simultaneously.

Hi all

This is not a pure Tapestry question, but I believe you have seen this
before and might be able to give me some guiding light.

I have a web application, which I am splitting into several fragments, ie,
components, each one rendering content stored in a database. I just 
realised

my index page would have 9 such fragments and if each is to retrieve a
connection from the pool to get its content, the stress on the db server
might be crazy, even if each request is quite short.

I have a connection pool, but even with that I don't believe its healthy 
to

use 9 connections at the same time. What about the other users?

How would you deal with this issue?
--
Cumprimentos,
Rui Pacheco



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



User subscription email broken?

2006-06-28 Thread kranga
Apparently [EMAIL PROTECTED] is giving errors (no 
such email address). Does anyone know what the right email address is for 
users to subscribe? 



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



Re: Tapestry 3 to 4.1 to 5

2006-06-25 Thread kranga
Duh! Yes, as you guys guessed, I meant Hivemind not Hibernate. I think I 
need to hibernate a little more and get my mind back ...


Thanks for your input ...
- Original Message - 
From: "kranga" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Saturday, June 24, 2006 8:05 PM
Subject: Tapestry 3 to 4.1 to 5


We have a very large financial services applicaiton built with Tapestry 3 
and it meets all the requirements for the project. But in looking ahead, I 
am trying to get some data to guide technology decisions for the project.


My questions are:
- Hibernate is used extensively in 4.x and though the principal is that 
you don't need to worry about Hibernate, the emails on this list make it 
look like a lot of deviations from defaults require Hibernate. Does anyone 
know if Hibernate is used outside of Tapestry? Specifically how is its 
user-base size and popularity when compared with Spring?


- I've heard that 5 is not going to be backward compatible with 3. So that 
would give me absolutely no reason to upgrade to 4.x anytime soon. Is the 
4.x to 5 incompatibility true? If so, it also seems like Tapestry is 
negatively skewed from a "business" perspective - high barrier to adopt 
the framework (the learning curve is higher and frankly it is almost 
impossible to find anyone in the market with Tapestry experience) but it 
provides a low barrier to exit - if versions are not going to be 
compatible and require significant effort, then why not evalulate other 
frameworks out there?


- Anyone have experience comparing this with Echo 2? The echo 2 demo on 
their website does look impressive.


Your thoughts are appreciated...
KR

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



Tapestry 3 to 4.1 to 5

2006-06-24 Thread kranga
We have a very large financial services applicaiton built with Tapestry 3 
and it meets all the requirements for the project. But in looking ahead, I 
am trying to get some data to guide technology decisions for the project.


My questions are:
- Hibernate is used extensively in 4.x and though the principal is that you 
don't need to worry about Hibernate, the emails on this list make it look 
like a lot of deviations from defaults require Hibernate. Does anyone know 
if Hibernate is used outside of Tapestry? Specifically how is its user-base 
size and popularity when compared with Spring?


- I've heard that 5 is not going to be backward compatible with 3. So that 
would give me absolutely no reason to upgrade to 4.x anytime soon. Is the 
4.x to 5 incompatibility true? If so, it also seems like Tapestry is 
negatively skewed from a "business" perspective - high barrier to adopt the 
framework (the learning curve is higher and frankly it is almost impossible 
to find anyone in the market with Tapestry experience) but it provides a low 
barrier to exit - if versions are not going to be compatible and require 
significant effort, then why not evalulate other frameworks out there?


- Anyone have experience comparing this with Echo 2? The echo 2 demo on 
their website does look impressive.


Your thoughts are appreciated...
KR 



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



Re: I do not like the new tapestry logo

2006-05-16 Thread kranga

Unicorn? Peugot symbol?

- Original Message - 
From: "Peter Svensson" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Monday, May 15, 2006 6:41 AM
Subject: Re: I do not like the new tapestry logo


Hmm. The old one wasn't too good, but the new one feels more .. feminine in
a way. Also more corporate. More stylish, to be sure. I'm undecided.

Cheers,
PS

On 5/15/06, liigo <[EMAIL PROTECTED]> wrote:


I'm sorry if I hurt someone.
but i really like the old tapestry logo than the new one.
maybe we need redesign another much better one.


the new tapestry logo:

http://svn.apache.org/viewcvs/tapestry/tapestry-logo/tapestry_logo_200x290.png?rev=406173&view=auto

the old one:
http://jakarta.apache.org/tapestry/images/Tapestry-Banner.png


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



Re: Validation on Tapestry 4

2006-05-10 Thread kranga
Hey, while we are on Tapestry Validation, has anyone read this article on a 
javascript validator combined with prototype library? Sounds like a cool 
alternative that might provide an alternative (and perhaps better?) model.


http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/

- Original Message - 
From: "Pedro Viegas" <[EMAIL PROTECTED]>

To: "Tapestry users" 
Sent: Wednesday, May 10, 2006 8:08 PM
Subject: Re: Validation on Tapestry 4


Hi Rui,

I feel a bit sad reading your comments.
I have been browsing this list since a good friend of mine pointed it out to
me like mandatory for a tapestry developer.
I have been blessed with precious help from common folks like you and me,
Tapestry gurus that do regular consulting work on Tap, and even Tapestry
commiters who take the time to help us newbies with the
real-life-not-so-motivating little or not so little problems.
I myself am still on the very beginning of the process, and have been trying
to start giving something back to the list out of shear gratitude of
precisely what you're hinting the other way. I feel this list as the lighter
atmosphere I have encountered.
Everybody of every level of expertise now and again takes the time to help
one another, very few posts go unanswered.

Honestly I must state that you don't have to feel that way about this list.
I'm sure that if you take the time you'll see for yourself that your current
views, are not at all accurate.

One more note. I must say you have been a little harsh on Sam.
Not wanting to step on somebody's toes or go about defending who doesn't
need defending, but I have been reading Sam's posts daily for a few days in
this list. He has given very good contributions to the community, including
the one for yourself, he has in the past days been loosing sleep working
with the Tacos team to integrate a set of components he and his team has
built in the past weeks into Tacos library for all us to use in the near
future. Very quality work, free of charge and with no gain whatsoever to
himself.

So, you will understand why I had to post this opinion. The help you
received was very to the point and all of us point out the book simply
because... it's great!!! It's a very practical book that get's you
developing right on it's first pages.

As for Sam, well, with all I have described, it's ridiculous to state that a
comment from him is contributing to a not so light atmosphere in this list.
As I have posted in another topic after Sam's efforts provided with yet
another component... praise Sam. :-)

Just thought to set a few information here so that wrong impressions get
carried away and the proper feedback due to contributors like Sam is given.

Hope you read my intentions well.
Best of luck on your tapestry learning path... best of luck to us both on
this path, and rest assured your on the right place for gatting the help you
need.

Regards,

On 5/11/06, Rui Pacheco <[EMAIL PROTECTED]> wrote:


I was not talking about specific cases, like my problem with validation
which was admittedly my fault.
What I want to say is that its not very friendly to send the URL of a
book.
It gives the impression that "I dont care". Sometimes, all we need is a
holding hand.

Dont want to start a flame war, but the folks over at the Wicket mailing
list dont seem to be bothered with answering any and all questions.
Granted,
there are no books about Wicket, the framework is you and they want to
draw
developers. But the atmosphere is lighter. At least I feel more
comfortable
there.

Once again, these are my views. Dont take this personally or as an attack
on
the framework. I love Tapestry and it is working up to what I expected it
to
be.

On 5/11/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
>
> On 5/10/06, Rui Pacheco <[EMAIL PROTECTED]> wrote:
> > Well, first, you reference it as Kent's book. Most people come to
> Tapestry
> > because a project landed on their laps and they need to get up to
speed
> > quickly. Referencing a book as "Kent's" is somewhat vague.
> >
> > Second, most of the time we just want quick answers. I know I didnt
need
> the
> > book, I just needed some help clearing a couple of specific doubts.
When
> > we're looking for a quick answer, referencing the book is the same as
> saying
> > "go away". It sends the wrong vibe about the mailing list.
>
> I hate to disagree, but when someone is asking about a significant and
> complex piece of functionality which is amply documented elsewhere, I
> think it is perfectly legitimate to point them at that documentation,
> rather than typing all the documentation into an email.  I brought up
> Kent's book (which costs money, admittedly) only because I felt that
> his coverage of validation was superior to the standard Tap4 docs, and
> because you'd already gotten a link to the standard docs, so I wanted
> to make sure you knew about both sources.  I also included the full
> title of the book and mentioned where to find a link to it.  I don't
> real