You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Werner Punz <we...@gmail.com> on 2009/08/28 17:30:46 UTC

myfaces 2.0: f:ajax again

Hello everyone, I am in the middle of coding the f:ajax tag, I am not 
entirely done with it yet, but I will commit my code next week.
But after committing I would need a helping hand.
As it seems we need a decent tag handler for the thing.

The f:ajax is a Behavior delivering javascript which has to be hooked
into facelets via a tag handler.
The main issue here is I am not that deep into facelets to really
be able to pull this off decently in a short period of time.
(
Without spending several days investigating the Facelets implementation 
and learning it, so call me to stupid for not getting it within an hour ;-)
)

After all there have been substantial additions in the area of composite 
components and the tag handler has to deal with all his (pulling out the 
meta information in the composite case applying to it, or has to serve
composite components as enclosing tag.

What I want to do for now is to debug my code, which will be mainly, the 
ajax Behavior class and the renderer out, so that it works against a 
blackboxed RI, and then I want to commit it so that someone else can do 
the tag handler, who has more understanding of the facelets side of things.

Also have the behavior hooks in the lifecycle been coded yet?
If not the f:ajax tag is not that pending without the behavior handling 
in the lifecycle f:ajax cannot really work.


Werner



Re: myfaces 2.0: f:ajax again

Posted by Werner Punz <we...@gmail.com>.
Leonardo Uribe schrieb:
> Hi Werner
> 
> I committed a basic implementation of f:ajax tag. It does everything it 
> should be from my point of view (facelets vdl contract), but I don't 
> know if we have to put some additional code based on what does other 
> parts of code (for example register some ajax resources or something 
> like that). I hope this helps. It has some documentation too.
> 
> I think the best at this point for me is move to other issues while you 
> complete the missing code. Maybe I could help implementing the missing 
> parts related to partial state saving objects in behavior api, since I 
> did most of the code, but this task conflict with some code you are working.
> 
Yes that is high on my list today, I am doing the last finishing touches 
on the java reloading for today then I will move over to the f:ajax tag 
again.


Werner


Re: myfaces 2.0: f:ajax again

Posted by Leonardo Uribe <lu...@gmail.com>.
Hi Werner

I committed a basic implementation of f:ajax tag. It does everything it
should be from my point of view (facelets vdl contract), but I don't know if
we have to put some additional code based on what does other parts of code
(for example register some ajax resources or something like that). I hope
this helps. It has some documentation too.

I think the best at this point for me is move to other issues while you
complete the missing code. Maybe I could help implementing the missing parts
related to partial state saving objects in behavior api, since I did most of
the code, but this task conflict with some code you are working.

regards

Leonardo Uribe

2009/8/31 Werner Punz <we...@gmail.com>

> Leonardo Uribe schrieb:
>
>> Hi Werner
>>
>> I'm checking the code trying to find missing stuff required to implement
>> f:ajax. On MYFACES-2323 I'll put all information I can deduct about f:ajax
>> and facelets. It could be good to have a empty tag handler file for ajax
>> committed, so we can put comments there and start implement it, but I don't
>> know if the code you are working has this file.
>>
>>  Actually what I am doing currently is to implement the behavior and the
> renderer for now, once I know it runs I will commit it into the codebase.
>
> Then basically you can dock it on via a custom tag handler, we wont need
> jsp as far as I know since the JSP part is omitted for f:ajax for now.
>
> The main issue I have with the tag handler is that it touches two new parts
> which I am not too familiar with, the behavior bindings in the core and the
> tag handler API of facelets (with some jsf2 specific extensions).
> It is not impossible for me to read myself into those parts, the only
> problem is time, since I have to work for the next weeks three days per week
> for a customer, but I assume we would get faster results by someone taking
> over those parts who kow them better than I do.
>
> What makes the tag handler particularily different is that it has to
> resolve
> the situations of being a child of another tag or being a parent tag itself
> and also it has to touch the compound componend stuff of facelets
> by resolving the facelet compound component stuff.
> All this must be resolved in the tag handler not in the behavior, I assume.
> The behavior itself by contract does not do too much it just can
> issue an event and can return a javascript code which has to be bound to
> the component.
>
>
> It however is rather straight forward not too different to a classical
> component, I am almost done with it it just needs some testing. However
> implementing it revealed a huge hole in the basic api of the behavior.
> Behaviors themselves can be partially state saved by providing the necessary
> interface but they do not have anything regarding getStateHelper in the base
> class like UIComponentBase has. I probably will extract an  interface for
> impl only,
> so that we can have a generic API für such cases for our state helpers and
> I will introduce a state helper which can deal with behaviors.
> (Done that but currently bound to the ajax behavior)
>
>
> Werner
>
>

Re: myfaces 2.0: f:ajax again

Posted by Werner Punz <we...@gmail.com>.
Leonardo Uribe schrieb:
> Hi Werner
> 
> I'm checking the code trying to find missing stuff required to implement 
> f:ajax. On MYFACES-2323 I'll put all information I can deduct about 
> f:ajax and facelets. It could be good to have a empty tag handler file 
> for ajax committed, so we can put comments there and start implement it, 
> but I don't know if the code you are working has this file.
> 
Actually what I am doing currently is to implement the behavior and the 
renderer for now, once I know it runs I will commit it into the codebase.

Then basically you can dock it on via a custom tag handler, we wont need 
jsp as far as I know since the JSP part is omitted for f:ajax for now.

The main issue I have with the tag handler is that it touches two new 
parts which I am not too familiar with, the behavior bindings in the 
core and the tag handler API of facelets (with some jsf2 specific 
extensions).
It is not impossible for me to read myself into those parts, the only 
problem is time, since I have to work for the next weeks three days per 
week for a customer, but I assume we would get faster results by someone 
taking over those parts who kow them better than I do.

What makes the tag handler particularily different is that it has to resolve
the situations of being a child of another tag or being a parent tag 
itself and also it has to touch the compound componend stuff of facelets
by resolving the facelet compound component stuff.
All this must be resolved in the tag handler not in the behavior, I 
assume. The behavior itself by contract does not do too much it just can
issue an event and can return a javascript code which has to be bound to 
the component.


It however is rather straight forward not too different to a classical 
component, I am almost done with it it just needs some testing. However 
implementing it revealed a huge hole in the basic api of the behavior. 
Behaviors themselves can be partially state saved by providing the 
necessary interface but they do not have anything regarding 
getStateHelper in the base class like UIComponentBase has. I probably 
will extract an  interface for impl only,
so that we can have a generic API für such cases for our state helpers 
and I will introduce a state helper which can deal with behaviors.
(Done that but currently bound to the ajax behavior)


Werner


Re: myfaces 2.0: f:ajax again

Posted by Leonardo Uribe <lu...@gmail.com>.
Hi Werner

I'm checking the code trying to find missing stuff required to implement
f:ajax. On MYFACES-2323 I'll put all information I can deduct about f:ajax
and facelets. It could be good to have a empty tag handler file for ajax
committed, so we can put comments there and start implement it, but I don't
know if the code you are working has this file.

regards

Leonardo Uribe

2009/8/29 Werner Punz <we...@gmail.com>

> Ok as it seems Leonardo is taking over the job.
>
> Werner
>
>
> Werner Punz schrieb:
>
>  Hello everyone, I am in the middle of coding the f:ajax tag, I am not
>> entirely done with it yet, but I will commit my code next week.
>> But after committing I would need a helping hand.
>> As it seems we need a decent tag handler for the thing.
>>
>> The f:ajax is a Behavior delivering javascript which has to be hooked
>> into facelets via a tag handler.
>> The main issue here is I am not that deep into facelets to really
>> be able to pull this off decently in a short period of time.
>> (
>> Without spending several days investigating the Facelets implementation
>> and learning it, so call me to stupid for not getting it within an hour ;-)
>> )
>>
>> After all there have been substantial additions in the area of composite
>> components and the tag handler has to deal with all his (pulling out the
>> meta information in the composite case applying to it, or has to serve
>> composite components as enclosing tag.
>>
>> What I want to do for now is to debug my code, which will be mainly, the
>> ajax Behavior class and the renderer out, so that it works against a
>> blackboxed RI, and then I want to commit it so that someone else can do the
>> tag handler, who has more understanding of the facelets side of things.
>>
>> Also have the behavior hooks in the lifecycle been coded yet?
>> If not the f:ajax tag is not that pending without the behavior handling in
>> the lifecycle f:ajax cannot really work.
>>
>>
>> Werner
>>
>>
>>
>>
>

Re: myfaces 2.0: f:ajax again

Posted by Werner Punz <we...@gmail.com>.
Ok as it seems Leonardo is taking over the job.

Werner


Werner Punz schrieb:
> Hello everyone, I am in the middle of coding the f:ajax tag, I am not 
> entirely done with it yet, but I will commit my code next week.
> But after committing I would need a helping hand.
> As it seems we need a decent tag handler for the thing.
> 
> The f:ajax is a Behavior delivering javascript which has to be hooked
> into facelets via a tag handler.
> The main issue here is I am not that deep into facelets to really
> be able to pull this off decently in a short period of time.
> (
> Without spending several days investigating the Facelets implementation 
> and learning it, so call me to stupid for not getting it within an hour ;-)
> )
> 
> After all there have been substantial additions in the area of composite 
> components and the tag handler has to deal with all his (pulling out the 
> meta information in the composite case applying to it, or has to serve
> composite components as enclosing tag.
> 
> What I want to do for now is to debug my code, which will be mainly, the 
> ajax Behavior class and the renderer out, so that it works against a 
> blackboxed RI, and then I want to commit it so that someone else can do 
> the tag handler, who has more understanding of the facelets side of things.
> 
> Also have the behavior hooks in the lifecycle been coded yet?
> If not the f:ajax tag is not that pending without the behavior handling 
> in the lifecycle f:ajax cannot really work.
> 
> 
> Werner
> 
> 
>