<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
I think this would be useful in some cases, may be worth adding, not
sure.  However, I would put language in the documentation that warns
against using this unless the user knows what they're doing.<br>
<br>
Consider an airline application what wants to ensure the "confirm"
button during a purchase does not get clicked 2x.  This sounds like an
ideal way to ensure this doesn't happen.  Here are the problems:<br>
<br>
1) If they use Ajax to do the confirm, this could prematurely remove
the tree causing problems.  If they use Ajax to replace large chunks of
the tree, this feature would not be applicable in those cases.<br>
<br>
2) If the user clicks the button then immediately clicks stop on their
browser before any response is returned, they'll be on the page which
won't have a view associated with it.  Whatever they click next will be
re-submitted to a non-existent page -- the developer would then have to
do extra work to ensure "the right thing" happens for this user (I
would argue more work than it would have been to ensure a 2x submit
didn't happen to begin with).<br>
<br>
3) If the user is fast and sends 2x requests before the server
completes the processing, then 1 of the 2 threads may lose its state
mid-processing... also this opens the possibility of 2x submit
anyway... so the logic to ensure this doesn't purchase 2 tickets still
has to be done.<br>
<br>
So at the surface, it looks like a great way to ensure the user can't
go backwards in the application and redo or undo things they shouldn't
be allowed to do... however, I don't think it guarantees this without
the developer being really careful.  What it DOES do, is allow a
sophisticated developer the ability to cleanup state earlier and make
the application much more efficient in how it uses memory.<br>
<br>
Ken<br>
<br>
<br>
Dan Allen wrote:
<blockquote
 cite="mid:19758da0906151050q7aa569d7qc644938744a4dc2c@mail.gmail.com"
 type="cite">
  <div class="gmail_quote">On Mon, Jun 15, 2009 at 1:23 PM, Kito Mann <span
 dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:kito.mann@virtua.com">kito.mann@virtua.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I
think this is a good idea. Did you file an issue for it, Dan?</blockquote>
  <div><br>
I have not yet. I can do that.<br>
  </div>
  </div>
  <br>
-- <br>
Dan Allen<br>
Senior Software Engineer, Red Hat | Author of Seam in Action<br>
  <br>
  <a moz-do-not-send="true" href="http://mojavelinux.com">http://mojavelinux.com</a><br>
  <a moz-do-not-send="true" href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br>
  <a moz-do-not-send="true" href="http://in.relation.to/Bloggers/Dan">http://in.relation.to/Bloggers/Dan</a><br>
  <br>
NOTE: While I make a strong effort to keep up with my email on a daily<br>
basis, personal or other work matters can sometimes keep me away<br>
from my email. If you contact me, but don't hear back for more than a
week,<br>
it is very likely that I am excessively backlogged or the message was<br>
caught in the spam filters.  Please don't hesitate to resend a message
if<br>
you feel that it did not reach my attention.<br>
</blockquote>
</body>
</html>