Re: Transparent and automatic AJAX support for Cocoon Forms

2005-04-21 Thread Sylvain Wallez
Michael McGrady wrote:
Thought I'd pass on to the Struts list the great success and popularity Frank Zammetti's ideas are having on the Cocoon list.
 

Ahem...
I'm very sorry, but the ajaxification of Cocoon has *nothing* to do with 
Frank Zametti's ideas. These ideas are *mine* and I *never heard of 
Frank before*. You should have read the detailed description of my work 
[1] to understand how different they are from Frank's very classical use 
of XHR (nothing original here - there are plenty of similar articles 
around).

I took a completely different approach, requiring absolutely no 
page-specific client-side JS code. The use of XHR is totally transparent 
and the page writer doesn't have to care about it.

Client-side JS detects the availability of XHR in the host browser and 
uses it if it exists. Otherwise, a regular form post is done. On the 
server side, when answering to an XHR request, Cocoon produces partial 
page update directives, just by adding an additional transformer (it's a 
filter in Cocoon parlance) to the production pipeline of the regular 
full page. These update directives are then parsed by the client-side JS 
to update page parts that need to be updated.

The result is that, using a small generic client-side JS library (approx 
200 lines with comments etc), you can ajaxify any kind of form or page 
with most often nothing to do in page templates. And it degrades 
gracefully to full-page reloads on non ajax-aware browsers.

This is a very productive approach that avoids most classical problems 
of Ajax: there's no need for a lot client-side JS code that is difficult 
to make really cross-browser, difficult to test, avoids opening too many 
entry points in the application that could create security holes.

So please, rather than taking attribution when it's totally unjustified, 
consider learning from other's ideas.

Sylvain
[1] http://marc.theaimsgroup.com/?l=xml-cocoon-devm=111348478712544w=2
--
Sylvain WallezAnyware Technologies
http://apache.org/~sylvainhttp://anyware-tech.com
Apache Software Foundation Member Research  Technology Director


Re: Transparent and automatic AJAX support for Cocoon Forms

2005-04-21 Thread Michael McGrady
Well, first of all, I was not talking about you.  I was talking aboiut
Antonio Gallardo and cited his notes on Cocoon.  You, no doubt, should
be the one I was talking about.  And, if I had done what I should have
done, I guess, then you would be right to be angry, I think.  Reminds
me of the old saw I'm not much but I am all I think about.  And,
second of all, I took attribution and gave attribution for nothing. 
Reminds me of the old saw Much ado about [absolutely] nothing.

You might note that the article referenced is by a gentleman called
Frank W. Zammetti.  Okay?

Take a deep breath.

On 4/21/05, Sylvain Wallez [EMAIL PROTECTED] wrote:
 Michael McGrady wrote:
 
 Thought I'd pass on to the Struts list the great success and popularity 
 Frank Zammetti's ideas are having on the Cocoon list.
 
 
 
 Ahem...
 
 I'm very sorry, but the ajaxification of Cocoon has *nothing* to do with
 Frank Zametti's ideas. These ideas are *mine* and I *never heard of
 Frank before*. You should have read the detailed description of my work
 [1] to understand how different they are from Frank's very classical use
 of XHR (nothing original here - there are plenty of similar articles
 around).
 
 I took a completely different approach, requiring absolutely no
 page-specific client-side JS code. The use of XHR is totally transparent
 and the page writer doesn't have to care about it.
 
 Client-side JS detects the availability of XHR in the host browser and
 uses it if it exists. Otherwise, a regular form post is done. On the
 server side, when answering to an XHR request, Cocoon produces partial
 page update directives, just by adding an additional transformer (it's a
 filter in Cocoon parlance) to the production pipeline of the regular
 full page. These update directives are then parsed by the client-side JS
 to update page parts that need to be updated.
 
 The result is that, using a small generic client-side JS library (approx
 200 lines with comments etc), you can ajaxify any kind of form or page
 with most often nothing to do in page templates. And it degrades
 gracefully to full-page reloads on non ajax-aware browsers.
 
 This is a very productive approach that avoids most classical problems
 of Ajax: there's no need for a lot client-side JS code that is difficult
 to make really cross-browser, difficult to test, avoids opening too many
 entry points in the application that could create security holes.
 
 So please, rather than taking attribution when it's totally unjustified,
 consider learning from other's ideas.
 
 Sylvain
 
 [1] http://marc.theaimsgroup.com/?l=xml-cocoon-devm=111348478712544w=2
 
 --
 Sylvain WallezAnyware Technologies
 http://apache.org/~sylvainhttp://anyware-tech.com
 Apache Software Foundation Member Research  Technology Director