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