You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Ganesh <ga...@j4fry.org> on 2009/03/26 08:16:39 UTC

MyFaces 2.0 AJAX solution

Dear MyFaces team,

>From this mailing list I saw you are making progres in the implementation 
of MyFaces 2.0. However, the AJAX part must be hard to get running. Here 
is what we would like to propose to you:

The J4Fry Team (http://www.j4fry.org) has been developing a JSF AJAX component under the apache
2.0 licence since 2006 to achieve better AJAX JSF integration in business
critical software. We have introduced a great amount of stability,
cross-browser capability and feature richness in the component. It has
been in productive use for years in applications with several thousand
users and meets sophisticated non functional requirements.
We would love to make it part of MyFaces 2.0. Here is what our AJAX JSF 
solution has to offer:

- PPR (partial page rendering) picks single components out of the
JSF tree and triggers their encode() methods
- PPS (partial page submit) submits only part of a form and reduces
phases 2, 3, and 4 only to the submitted components
- Facelets support: We are using an extension of the FaceletsViewHandler
to gain access to its buildView method and call it before encoding the
components
- XHTML and HTML are equally well supported (especially the upper case
/lower case differences for tag names)
- Portlet support: When accessing the request (to determine the
encoding) or the response (to acces the ResponseWriter) we check their
types before casting and provide alternative portlet callbacks. We've
tested doing AJAX inside a portal with liferay.
- Portal support: When running in portals it may be inappropriate to
access resouces through the classpath, so we provide a way to define the
file path via web.xml
- JSF 1.1 and 1.2 comaptibility (tested with MyFaces 1.1.1, 1.1.5, 1.2
and JSF RI 1.2).
- Request queing with configurable queue size. The spec requires
queueing AJAX request, but doesn't always make sense, so with J4Fry AJAX
the size of the queue is configurable.
- During the AJAX request we offer a way to disable components either by
Id or by type.
- J4Fry AJAX accepts a loadingbar attribute pointing to an image that is
to show up while the AJAX request is running.
- To achieve compatibility with different JSF implementations we search
for 5 different keys designating the JSF view state ("jsf_sequence",
"jsf_tree_64", "jsf_viewid", "jsf_state_64", "javax.faces.ViewState")
- We work around several flaws in IE to allow a cross-browser capable
AJAX experience (use insertAdjacentHTML when createContextualFragment
isn't available, parse response with VBScript if content-type=iso88591
instead of ISO-8859-1 and run contained scripts after replacing HTML
elements)
- We've tested AJAX on IE 5.5 - IE 7, FF 2-3, Safari and Opera
- Our solution comprises 1057 lines of Javascript code and 1073 lines of
Java code (a great part of the Java code implements a declarative solution
that won't be required for JSF 2.0 compatibility)
- The entire solution is designed and implemented to achieve high
performance
- Our sourceforge downloads are approaching the 3000
(https://sourceforge.net/search/?type_of_search=soft&words=j4fry).
- We are personally supporting 7 productive systems that are using our
components.
- We've run J4Fry AJAX on Tomcat, BEA and Glassfish.
- Here's a link to out AJAX documentation: 
http://www.j4fry.org/jsfAjax.shtml
- We're a completely non-commercial community of JSF developers with
dependencies of no company whatsoever.

To do:
- Separate J4Fry AJAX from the rest of J4Fry's JSF components
(see http://www.j4fry.org/jsfComponents.shtml)
- Create a JSF 2.0 spec compatible interface.
- Reorganize package structure to fit MyFaces 2.0
- Translate comments in our the Javascript files from german to english

The main AJAX commiters in our team are Alex Bell and Ganesh Jung. Both
are located in Munich, Germany and would volunteer to do the integration
work as well as testing and future support. Most of the J4Fry developers
are located in germany.
There must be an team that is already working on MyFaces 2.0 AJAX. We are 
willing to integrate with the existing personal structures to find a common
cooperative base with the goal of making MyFaces 2.0 AJAX the best AJAX
of JSF 2.0 implematations!
Please tell us, whether you are welcoming our cooperation.

Best Regards,
Ganesh Jung


Re: MyFaces 2.0 AJAX solution

Posted by Matthias Wessendorf <ma...@apache.org>.
On Thu, Mar 26, 2009 at 7:51 PM, Ganesh <ga...@j4fry.org> wrote:
> Hi,
>
> Alex and me will be happy to help getting the AJAX part into shape. Werner,
> can you please send your latest snapshot, so we can have at look at it? I


> will then come back to you with a proposal at which places we could hook in
> J4Fry AJAX code, if this approach is ok for you.

sure, when the code fits, why not :-)
Help is always appreciated. But please keep in mind that the discussion
needs to be held in the open, meaning here on the dev@ list ;-)

-Matthias

>
> Best Regards,
> Ganesh
>
>
> Werner Punz schrieb:
>>
>> Werner Punz schrieb:
>>
>>> Reasonable enough, I will see what I can do (under normal full time
>>> circumstances this would be absolutely no problem)
>>> the April for now is rather clear so I finally again can dedicate
>>> some days per week again on JSF2, the work which consumed my opensource
>>> days now is mostly done (by today), after that I am trying to clear things
>>> up I will know more after the JSF Days...
>>>
>>> Anyway, since my time in May and June is rather limited as it seems, a
>>> helping hand who can dedicate some time would be appreciated!
>>>
>> Ok it seems that I will get dedicated
>> time in may and june as well
>> so the deadline looks reasonable to me, no matter what
>> although helping hands are welcome.
>>
>> Cheers
>>
>> Werner
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: MyFaces 2.0 AJAX solution

Posted by Matthias Wessendorf <ma...@apache.org>.
eh,yeah,sure.
private things don't belong here.
all dev-related things do...

-M

On Fri, Mar 27, 2009 at 9:57 AM, Werner Punz <we...@gmail.com> wrote:
> Werner Punz schrieb:
>>
>> Matthias Wessendorf schrieb:
>>>
>>> On Thu, Mar 26, 2009 at 10:22 PM, Werner Punz <we...@gmail.com>
>>> wrote:
>>>>
>>>> The code is in the repo... I will start to work on it tomorrow again..
>>>> Contact me via mail (or google talk same address)
>>>> if you need further assistance!
>>>
>>> I'd still prefer that the discussion is done via this *public* mailing
>>> list...
>>
>> Of course...
>> It is just that some minor things should not flood the mailing list...
>>
> Just to clarify things, there are some things, like private things which
> should not get
> into the mailing list, important structural discussions should be kept in
> public. So non technical issues -> private conversation, technical questions
> -> mailing list.
>
> Werner
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
Werner Punz schrieb:
> Matthias Wessendorf schrieb:
>> On Thu, Mar 26, 2009 at 10:22 PM, Werner Punz <we...@gmail.com> 
>> wrote:
>>> The code is in the repo... I will start to work on it tomorrow again..
>>> Contact me via mail (or google talk same address)
>>> if you need further assistance!
>>
>> I'd still prefer that the discussion is done via this *public* mailing 
>> list...
> 
> Of course...
> It is just that some minor things should not flood the mailing list...
> 
Just to clarify things, there are some things, like private things which 
should not get
into the mailing list, important structural discussions should be kept 
in public. So non technical issues -> private conversation, technical 
questions -> mailing list.

Werner


Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
Matthias Wessendorf schrieb:
> On Thu, Mar 26, 2009 at 10:22 PM, Werner Punz <we...@gmail.com> wrote:
>> The code is in the repo... I will start to work on it tomorrow again..
>> Contact me via mail (or google talk same address)
>> if you need further assistance!
> 
> I'd still prefer that the discussion is done via this *public* mailing list...

Of course...
It is just that some minor things should not flood the mailing list...

Cheers

Werner


Re: MyFaces 2.0 AJAX solution

Posted by Matthias Wessendorf <ma...@apache.org>.
On Thu, Mar 26, 2009 at 10:22 PM, Werner Punz <we...@gmail.com> wrote:
> The code is in the repo... I will start to work on it tomorrow again..
> Contact me via mail (or google talk same address)
> if you need further assistance!

I'd still prefer that the discussion is done via this *public* mailing list...

-M

>
>
> Werner
>
>
> Matthias Wessendorf schrieb:
>>
>> On Thu, Mar 26, 2009 at 7:51 PM, Ganesh <ga...@j4fry.org> wrote:
>>>
>>> Hi,
>>>
>>> Alex and me will be happy to help getting the AJAX part into shape.
>>> Werner,
>>> can you please send your latest snapshot, so we can have at look at it? I
>>
>> no followed the thread here, but... isn't the code in the svn repo ?
>> (I'd expect that..)
>>
>> -M
>>
>>> will then come back to you with a proposal at which places we could hook
>>> in
>>> J4Fry AJAX code, if this approach is ok for you.
>>>
>>> Best Regards,
>>> Ganesh
>>>
>>>
>>> Werner Punz schrieb:
>>>>
>>>> Werner Punz schrieb:
>>>>
>>>>> Reasonable enough, I will see what I can do (under normal full time
>>>>> circumstances this would be absolutely no problem)
>>>>> the April for now is rather clear so I finally again can dedicate
>>>>> some days per week again on JSF2, the work which consumed my opensource
>>>>> days now is mostly done (by today), after that I am trying to clear
>>>>> things
>>>>> up I will know more after the JSF Days...
>>>>>
>>>>> Anyway, since my time in May and June is rather limited as it seems, a
>>>>> helping hand who can dedicate some time would be appreciated!
>>>>>
>>>> Ok it seems that I will get dedicated
>>>> time in may and june as well
>>>> so the deadline looks reasonable to me, no matter what
>>>> although helping hands are welcome.
>>>>
>>>> Cheers
>>>>
>>>> Werner
>>>>
>>
>>
>>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
The code is in the repo... I will start to work on it tomorrow again..
Contact me via mail (or google talk same address)
if you need further assistance!


Werner


Matthias Wessendorf schrieb:
> On Thu, Mar 26, 2009 at 7:51 PM, Ganesh <ga...@j4fry.org> wrote:
>> Hi,
>>
>> Alex and me will be happy to help getting the AJAX part into shape. Werner,
>> can you please send your latest snapshot, so we can have at look at it? I
> 
> no followed the thread here, but... isn't the code in the svn repo ?
> (I'd expect that..)
> 
> -M
> 
>> will then come back to you with a proposal at which places we could hook in
>> J4Fry AJAX code, if this approach is ok for you.
>>
>> Best Regards,
>> Ganesh
>>
>>
>> Werner Punz schrieb:
>>> Werner Punz schrieb:
>>>
>>>> Reasonable enough, I will see what I can do (under normal full time
>>>> circumstances this would be absolutely no problem)
>>>> the April for now is rather clear so I finally again can dedicate
>>>> some days per week again on JSF2, the work which consumed my opensource
>>>> days now is mostly done (by today), after that I am trying to clear things
>>>> up I will know more after the JSF Days...
>>>>
>>>> Anyway, since my time in May and June is rather limited as it seems, a
>>>> helping hand who can dedicate some time would be appreciated!
>>>>
>>> Ok it seems that I will get dedicated
>>> time in may and june as well
>>> so the deadline looks reasonable to me, no matter what
>>> although helping hands are welcome.
>>>
>>> Cheers
>>>
>>> Werner
>>>
> 
> 
> 


Re: MyFaces 2.0 AJAX solution

Posted by Matthias Wessendorf <ma...@apache.org>.
On Thu, Mar 26, 2009 at 7:51 PM, Ganesh <ga...@j4fry.org> wrote:
> Hi,
>
> Alex and me will be happy to help getting the AJAX part into shape. Werner,
> can you please send your latest snapshot, so we can have at look at it? I

no followed the thread here, but... isn't the code in the svn repo ?
(I'd expect that..)

-M

> will then come back to you with a proposal at which places we could hook in
> J4Fry AJAX code, if this approach is ok for you.
>
> Best Regards,
> Ganesh
>
>
> Werner Punz schrieb:
>>
>> Werner Punz schrieb:
>>
>>> Reasonable enough, I will see what I can do (under normal full time
>>> circumstances this would be absolutely no problem)
>>> the April for now is rather clear so I finally again can dedicate
>>> some days per week again on JSF2, the work which consumed my opensource
>>> days now is mostly done (by today), after that I am trying to clear things
>>> up I will know more after the JSF Days...
>>>
>>> Anyway, since my time in May and June is rather limited as it seems, a
>>> helping hand who can dedicate some time would be appreciated!
>>>
>> Ok it seems that I will get dedicated
>> time in may and june as well
>> so the deadline looks reasonable to me, no matter what
>> although helping hands are welcome.
>>
>> Cheers
>>
>> Werner
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

MyFaces 2.0 AJAX solution

Posted by Ganesh <ga...@j4fry.org>.
Hi,

Alex and me will be happy to help getting the AJAX part into shape. 
Werner, can you please send your latest snapshot, so we can have at look 
at it? I will then come back to you with a proposal at which places we 
could hook in J4Fry AJAX code, if this approach is ok for you.

Best Regards,
Ganesh


Werner Punz schrieb:
> Werner Punz schrieb:
>
>> Reasonable enough, I will see what I can do (under normal full time 
>> circumstances this would be absolutely no problem)
>> the April for now is rather clear so I finally again can dedicate
>> some days per week again on JSF2, the work which consumed my 
>> opensource days now is mostly done (by today), after that I am trying 
>> to clear things up I will know more after the JSF Days...
>>
>> Anyway, since my time in May and June is rather limited as it seems, 
>> a helping hand who can dedicate some time would be appreciated!
>>
> Ok it seems that I will get dedicated
> time in may and june as well
> so the deadline looks reasonable to me, no matter what
> although helping hands are welcome.
>
> Cheers
>
> Werner
>

Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
Werner Punz schrieb:

> Reasonable enough, I will see what I can do (under normal full time 
> circumstances this would be absolutely no problem)
> the April for now is rather clear so I finally again can dedicate
> some days per week again on JSF2, the work which consumed my opensource 
> days now is mostly done (by today), after that I am trying to clear 
> things up I will know more after the JSF Days...
> 
> Anyway, since my time in May and June is rather limited as it seems, a 
> helping hand who can dedicate some time would be appreciated!
> 
Ok it seems that I will get dedicated
time in may and june as well
so the deadline looks reasonable to me, no matter what
although helping hands are welcome.

Cheers

Werner


Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
Simon Lessard schrieb:
> Hi all,
> 
> As an additional info on JSF 2.0, the branch currently don't see much 
> commits because I'm synchronizing it to the latest internal (non-public) 
> spec snapshot.
> 
>  From the announced date, that draft along with other minor 
> modifications will become available on April 8th. At that date, I should 
> be able to commit a version of the branch including most of the new API 
> (missing only those added between the internal snapshot and the final 
> draft). So that's roughly two more weeks, giving you (Werner, Ganesh, 
> others) some time to talk about it and/or combine the current solutions 
> without any form of hurry. My personal (not voted on or announced for 
> that matter yet) target for a first alpha release of MyFaces 2.0 is July 
> 1st and that release should include the AJAX module imho as it's one of 
> the most important feature of 2.0. Would that be reasonable for you Werner?
> 
> 
Reasonable enough, I will see what I can do (under normal full time 
circumstances this would be absolutely no problem)
the April for now is rather clear so I finally again can dedicate
some days per week again on JSF2, the work which consumed my opensource 
days now is mostly done (by today), after that I am trying to clear 
things up I will know more after the JSF Days...

Anyway, since my time in May and June is rather limited as it seems, a 
helping hand who can dedicate some time would be appreciated!



Werner


Re: MyFaces 2.0 AJAX solution

Posted by Simon Lessard <si...@gmail.com>.
Hi all,

As an additional info on JSF 2.0, the branch currently don't see much
commits because I'm synchronizing it to the latest internal (non-public)
spec snapshot.

>From the announced date, that draft along with other minor modifications
will become available on April 8th. At that date, I should be able to commit
a version of the branch including most of the new API (missing only those
added between the internal snapshot and the final draft). So that's roughly
two more weeks, giving you (Werner, Ganesh, others) some time to talk about
it and/or combine the current solutions without any form of hurry. My
personal (not voted on or announced for that matter yet) target for a first
alpha release of MyFaces 2.0 is July 1st and that release should include the
AJAX module imho as it's one of the most important feature of 2.0. Would
that be reasonable for you Werner?


Regards,

~ Simon

On Thu, Mar 26, 2009 at 8:20 AM, Werner Punz <we...@gmail.com> wrote:

> Yes it is nothing more than first steps, this sounds indeed interesting.
> The problem I face currently is that I am assigned jobwise to a load of
> other tasks so I am not even sure when I will find time for my next commit
> on jsf2...
>
> I will give a short status on what is done:
> Currently, unless someone else has added stuff.
> The core API of the last spec I could get hold off was implemented APIwise.
>
> The entire ajax send API itself is already implemented via xhr and a
> request queue! I started off by using the core Trinidad Codebase, but ended
> with dropping big parts of it by reimplementation and just adding
> the parts which didn´t need overhaul one by one.
> The situation was simply that parts of the Trinidad codebase implemented a
> load of things not needed by the specs, so I ended up supporting both for
> now with a small adapter layer!
>
> What is missing is the response writer for the ajax cycle and the entire
> handling of the PPR in the response, unfortunately I wanted to finish this
> off a while ago but was assigned to other projects jobwise which had higher
> priority!
>
> So my personal guess is that we are at 70% but... and this is a big but:
>
> Since I currently do not have clearly dedicated days of being able to do
> those things, I am not sure if I can finish the task at all...
> That is the sad situation on my side. Although I will try!
> And as it seems I will have a few days in April to work on it again, unless
> I will get another assignment with higher priority :-(
>
>
> So if anyone wants to take over go ahead...
>
> Anyway your solution sounds very sophisticated with a lot of browser
> bugfixing we probably would have had to do from scratch.. This is indeed an
> interesting proposal.
>
>
>
> Werner
>
>
>
> Matthias Wessendorf schrieb:
>
>  Hey Ganesh,
>>
>> sounds interesting. Thanks for bringing this up, here!
>>
>> Werner did already some (first) steps in that direction, based on the
>> Trinidad codebase;
>> I haven't followed MyFaces 2.0 that close recently, due to some
>> workloads...
>>
>> -Matthias
>>
>> On Thu, Mar 26, 2009 at 8:16 AM, Ganesh <ga...@j4fry.org> wrote:
>>
>>> Dear MyFaces team,
>>>
>>> From this mailing list I saw you are making progres in the implementation
>>> of
>>> MyFaces 2.0. However, the AJAX part must be hard to get running. Here is
>>> what we would like to propose to you:
>>>
>>> The J4Fry Team (http://www.j4fry.org) has been developing a JSF AJAX
>>> component under the apache
>>> 2.0 licence since 2006 to achieve better AJAX JSF integration in business
>>> critical software. We have introduced a great amount of stability,
>>> cross-browser capability and feature richness in the component. It has
>>> been in productive use for years in applications with several thousand
>>> users and meets sophisticated non functional requirements.
>>> We would love to make it part of MyFaces 2.0. Here is what our AJAX JSF
>>> solution has to offer:
>>>
>>> - PPR (partial page rendering) picks single components out of the
>>> JSF tree and triggers their encode() methods
>>> - PPS (partial page submit) submits only part of a form and reduces
>>> phases 2, 3, and 4 only to the submitted components
>>> - Facelets support: We are using an extension of the FaceletsViewHandler
>>> to gain access to its buildView method and call it before encoding the
>>> components
>>> - XHTML and HTML are equally well supported (especially the upper case
>>> /lower case differences for tag names)
>>> - Portlet support: When accessing the request (to determine the
>>> encoding) or the response (to acces the ResponseWriter) we check their
>>> types before casting and provide alternative portlet callbacks. We've
>>> tested doing AJAX inside a portal with liferay.
>>> - Portal support: When running in portals it may be inappropriate to
>>> access resouces through the classpath, so we provide a way to define the
>>> file path via web.xml
>>> - JSF 1.1 and 1.2 comaptibility (tested with MyFaces 1.1.1, 1.1.5, 1.2
>>> and JSF RI 1.2).
>>> - Request queing with configurable queue size. The spec requires
>>> queueing AJAX request, but doesn't always make sense, so with J4Fry AJAX
>>> the size of the queue is configurable.
>>> - During the AJAX request we offer a way to disable components either by
>>> Id or by type.
>>> - J4Fry AJAX accepts a loadingbar attribute pointing to an image that is
>>> to show up while the AJAX request is running.
>>> - To achieve compatibility with different JSF implementations we search
>>> for 5 different keys designating the JSF view state ("jsf_sequence",
>>> "jsf_tree_64", "jsf_viewid", "jsf_state_64", "javax.faces.ViewState")
>>> - We work around several flaws in IE to allow a cross-browser capable
>>> AJAX experience (use insertAdjacentHTML when createContextualFragment
>>> isn't available, parse response with VBScript if content-type=iso88591
>>> instead of ISO-8859-1 and run contained scripts after replacing HTML
>>> elements)
>>> - We've tested AJAX on IE 5.5 - IE 7, FF 2-3, Safari and Opera
>>> - Our solution comprises 1057 lines of Javascript code and 1073 lines of
>>> Java code (a great part of the Java code implements a declarative
>>> solution
>>> that won't be required for JSF 2.0 compatibility)
>>> - The entire solution is designed and implemented to achieve high
>>> performance
>>> - Our sourceforge downloads are approaching the 3000
>>> (https://sourceforge.net/search/?type_of_search=soft&words=j4fry).
>>> - We are personally supporting 7 productive systems that are using our
>>> components.
>>> - We've run J4Fry AJAX on Tomcat, BEA and Glassfish.
>>> - Here's a link to out AJAX documentation:
>>> http://www.j4fry.org/jsfAjax.shtml
>>> - We're a completely non-commercial community of JSF developers with
>>> dependencies of no company whatsoever.
>>>
>>> To do:
>>> - Separate J4Fry AJAX from the rest of J4Fry's JSF components
>>> (see http://www.j4fry.org/jsfComponents.shtml)
>>> - Create a JSF 2.0 spec compatible interface.
>>> - Reorganize package structure to fit MyFaces 2.0
>>> - Translate comments in our the Javascript files from german to english
>>>
>>> The main AJAX commiters in our team are Alex Bell and Ganesh Jung. Both
>>> are located in Munich, Germany and would volunteer to do the integration
>>> work as well as testing and future support. Most of the J4Fry developers
>>> are located in germany.
>>> There must be an team that is already working on MyFaces 2.0 AJAX. We are
>>> willing to integrate with the existing personal structures to find a
>>> common
>>> cooperative base with the goal of making MyFaces 2.0 AJAX the best AJAX
>>> of JSF 2.0 implematations!
>>> Please tell us, whether you are welcoming our cooperation.
>>>
>>> Best Regards,
>>> Ganesh Jung
>>>
>>>
>>>
>>
>>
>>
>

Re: MyFaces 2.0 AJAX solution

Posted by Werner Punz <we...@gmail.com>.
Yes it is nothing more than first steps, this sounds indeed interesting.
The problem I face currently is that I am assigned jobwise to a load of 
other tasks so I am not even sure when I will find time for my next 
commit on jsf2...

I will give a short status on what is done:
Currently, unless someone else has added stuff.
The core API of the last spec I could get hold off was implemented APIwise.

The entire ajax send API itself is already implemented via xhr and a 
request queue! I started off by using the core Trinidad Codebase, but 
ended with dropping big parts of it by reimplementation and just adding
the parts which didn´t need overhaul one by one.
The situation was simply that parts of the Trinidad codebase implemented 
a load of things not needed by the specs, so I ended up supporting both 
for now with a small adapter layer!

What is missing is the response writer for the ajax cycle and the entire
handling of the PPR in the response, unfortunately I wanted to finish 
this off a while ago but was assigned to other projects jobwise which 
had higher priority!

So my personal guess is that we are at 70% but... and this is a big but:

Since I currently do not have clearly dedicated days of being able to do 
those things, I am not sure if I can finish the task at all...
That is the sad situation on my side. Although I will try!
And as it seems I will have a few days in April to work on it again, 
unless I will get another assignment with higher priority :-(


So if anyone wants to take over go ahead...

Anyway your solution sounds very sophisticated with a lot of browser 
bugfixing we probably would have had to do from scratch.. This is indeed 
an interesting proposal.



Werner



Matthias Wessendorf schrieb:
> Hey Ganesh,
> 
> sounds interesting. Thanks for bringing this up, here!
> 
> Werner did already some (first) steps in that direction, based on the
> Trinidad codebase;
> I haven't followed MyFaces 2.0 that close recently, due to some workloads...
> 
> -Matthias
> 
> On Thu, Mar 26, 2009 at 8:16 AM, Ganesh <ga...@j4fry.org> wrote:
>> Dear MyFaces team,
>>
>> From this mailing list I saw you are making progres in the implementation of
>> MyFaces 2.0. However, the AJAX part must be hard to get running. Here is
>> what we would like to propose to you:
>>
>> The J4Fry Team (http://www.j4fry.org) has been developing a JSF AJAX
>> component under the apache
>> 2.0 licence since 2006 to achieve better AJAX JSF integration in business
>> critical software. We have introduced a great amount of stability,
>> cross-browser capability and feature richness in the component. It has
>> been in productive use for years in applications with several thousand
>> users and meets sophisticated non functional requirements.
>> We would love to make it part of MyFaces 2.0. Here is what our AJAX JSF
>> solution has to offer:
>>
>> - PPR (partial page rendering) picks single components out of the
>> JSF tree and triggers their encode() methods
>> - PPS (partial page submit) submits only part of a form and reduces
>> phases 2, 3, and 4 only to the submitted components
>> - Facelets support: We are using an extension of the FaceletsViewHandler
>> to gain access to its buildView method and call it before encoding the
>> components
>> - XHTML and HTML are equally well supported (especially the upper case
>> /lower case differences for tag names)
>> - Portlet support: When accessing the request (to determine the
>> encoding) or the response (to acces the ResponseWriter) we check their
>> types before casting and provide alternative portlet callbacks. We've
>> tested doing AJAX inside a portal with liferay.
>> - Portal support: When running in portals it may be inappropriate to
>> access resouces through the classpath, so we provide a way to define the
>> file path via web.xml
>> - JSF 1.1 and 1.2 comaptibility (tested with MyFaces 1.1.1, 1.1.5, 1.2
>> and JSF RI 1.2).
>> - Request queing with configurable queue size. The spec requires
>> queueing AJAX request, but doesn't always make sense, so with J4Fry AJAX
>> the size of the queue is configurable.
>> - During the AJAX request we offer a way to disable components either by
>> Id or by type.
>> - J4Fry AJAX accepts a loadingbar attribute pointing to an image that is
>> to show up while the AJAX request is running.
>> - To achieve compatibility with different JSF implementations we search
>> for 5 different keys designating the JSF view state ("jsf_sequence",
>> "jsf_tree_64", "jsf_viewid", "jsf_state_64", "javax.faces.ViewState")
>> - We work around several flaws in IE to allow a cross-browser capable
>> AJAX experience (use insertAdjacentHTML when createContextualFragment
>> isn't available, parse response with VBScript if content-type=iso88591
>> instead of ISO-8859-1 and run contained scripts after replacing HTML
>> elements)
>> - We've tested AJAX on IE 5.5 - IE 7, FF 2-3, Safari and Opera
>> - Our solution comprises 1057 lines of Javascript code and 1073 lines of
>> Java code (a great part of the Java code implements a declarative solution
>> that won't be required for JSF 2.0 compatibility)
>> - The entire solution is designed and implemented to achieve high
>> performance
>> - Our sourceforge downloads are approaching the 3000
>> (https://sourceforge.net/search/?type_of_search=soft&words=j4fry).
>> - We are personally supporting 7 productive systems that are using our
>> components.
>> - We've run J4Fry AJAX on Tomcat, BEA and Glassfish.
>> - Here's a link to out AJAX documentation:
>> http://www.j4fry.org/jsfAjax.shtml
>> - We're a completely non-commercial community of JSF developers with
>> dependencies of no company whatsoever.
>>
>> To do:
>> - Separate J4Fry AJAX from the rest of J4Fry's JSF components
>> (see http://www.j4fry.org/jsfComponents.shtml)
>> - Create a JSF 2.0 spec compatible interface.
>> - Reorganize package structure to fit MyFaces 2.0
>> - Translate comments in our the Javascript files from german to english
>>
>> The main AJAX commiters in our team are Alex Bell and Ganesh Jung. Both
>> are located in Munich, Germany and would volunteer to do the integration
>> work as well as testing and future support. Most of the J4Fry developers
>> are located in germany.
>> There must be an team that is already working on MyFaces 2.0 AJAX. We are
>> willing to integrate with the existing personal structures to find a common
>> cooperative base with the goal of making MyFaces 2.0 AJAX the best AJAX
>> of JSF 2.0 implematations!
>> Please tell us, whether you are welcoming our cooperation.
>>
>> Best Regards,
>> Ganesh Jung
>>
>>
> 
> 
> 


Re: MyFaces 2.0 AJAX solution

Posted by Matthias Wessendorf <ma...@apache.org>.
Hey Ganesh,

sounds interesting. Thanks for bringing this up, here!

Werner did already some (first) steps in that direction, based on the
Trinidad codebase;
I haven't followed MyFaces 2.0 that close recently, due to some workloads...

-Matthias

On Thu, Mar 26, 2009 at 8:16 AM, Ganesh <ga...@j4fry.org> wrote:
> Dear MyFaces team,
>
> From this mailing list I saw you are making progres in the implementation of
> MyFaces 2.0. However, the AJAX part must be hard to get running. Here is
> what we would like to propose to you:
>
> The J4Fry Team (http://www.j4fry.org) has been developing a JSF AJAX
> component under the apache
> 2.0 licence since 2006 to achieve better AJAX JSF integration in business
> critical software. We have introduced a great amount of stability,
> cross-browser capability and feature richness in the component. It has
> been in productive use for years in applications with several thousand
> users and meets sophisticated non functional requirements.
> We would love to make it part of MyFaces 2.0. Here is what our AJAX JSF
> solution has to offer:
>
> - PPR (partial page rendering) picks single components out of the
> JSF tree and triggers their encode() methods
> - PPS (partial page submit) submits only part of a form and reduces
> phases 2, 3, and 4 only to the submitted components
> - Facelets support: We are using an extension of the FaceletsViewHandler
> to gain access to its buildView method and call it before encoding the
> components
> - XHTML and HTML are equally well supported (especially the upper case
> /lower case differences for tag names)
> - Portlet support: When accessing the request (to determine the
> encoding) or the response (to acces the ResponseWriter) we check their
> types before casting and provide alternative portlet callbacks. We've
> tested doing AJAX inside a portal with liferay.
> - Portal support: When running in portals it may be inappropriate to
> access resouces through the classpath, so we provide a way to define the
> file path via web.xml
> - JSF 1.1 and 1.2 comaptibility (tested with MyFaces 1.1.1, 1.1.5, 1.2
> and JSF RI 1.2).
> - Request queing with configurable queue size. The spec requires
> queueing AJAX request, but doesn't always make sense, so with J4Fry AJAX
> the size of the queue is configurable.
> - During the AJAX request we offer a way to disable components either by
> Id or by type.
> - J4Fry AJAX accepts a loadingbar attribute pointing to an image that is
> to show up while the AJAX request is running.
> - To achieve compatibility with different JSF implementations we search
> for 5 different keys designating the JSF view state ("jsf_sequence",
> "jsf_tree_64", "jsf_viewid", "jsf_state_64", "javax.faces.ViewState")
> - We work around several flaws in IE to allow a cross-browser capable
> AJAX experience (use insertAdjacentHTML when createContextualFragment
> isn't available, parse response with VBScript if content-type=iso88591
> instead of ISO-8859-1 and run contained scripts after replacing HTML
> elements)
> - We've tested AJAX on IE 5.5 - IE 7, FF 2-3, Safari and Opera
> - Our solution comprises 1057 lines of Javascript code and 1073 lines of
> Java code (a great part of the Java code implements a declarative solution
> that won't be required for JSF 2.0 compatibility)
> - The entire solution is designed and implemented to achieve high
> performance
> - Our sourceforge downloads are approaching the 3000
> (https://sourceforge.net/search/?type_of_search=soft&words=j4fry).
> - We are personally supporting 7 productive systems that are using our
> components.
> - We've run J4Fry AJAX on Tomcat, BEA and Glassfish.
> - Here's a link to out AJAX documentation:
> http://www.j4fry.org/jsfAjax.shtml
> - We're a completely non-commercial community of JSF developers with
> dependencies of no company whatsoever.
>
> To do:
> - Separate J4Fry AJAX from the rest of J4Fry's JSF components
> (see http://www.j4fry.org/jsfComponents.shtml)
> - Create a JSF 2.0 spec compatible interface.
> - Reorganize package structure to fit MyFaces 2.0
> - Translate comments in our the Javascript files from german to english
>
> The main AJAX commiters in our team are Alex Bell and Ganesh Jung. Both
> are located in Munich, Germany and would volunteer to do the integration
> work as well as testing and future support. Most of the J4Fry developers
> are located in germany.
> There must be an team that is already working on MyFaces 2.0 AJAX. We are
> willing to integrate with the existing personal structures to find a common
> cooperative base with the goal of making MyFaces 2.0 AJAX the best AJAX
> of JSF 2.0 implematations!
> Please tell us, whether you are welcoming our cooperation.
>
> Best Regards,
> Ganesh Jung
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf