Hello everyone regarding the MyFaces 2.0 xmlhttprequest layer!
As I posted earlier, I wanted to recycle the Trinidad code because it is
tested!
Ok i have the post sufficiently running, and also the event callbacks,
as far as I can gather it from the specs and the RI.
But there is an issue, currently I have a small compatibility layer
which basically hides the namespaced Trinidad xmlhttprequest code away
to make that compatibility, for now this is sufficient, but.
The Trinidad request queue has about 1000 lines of code, 80% of it(the
entire iframe part, multi part form posts, the abstractions to hide
different transport mechanisms, etc...) is not needed for the jsf2
spec! To the worse some parts really need a serious cleanup which I do
not dare to touch. Other parts I already have cleaned up somewhat, like
the entire logging.
And probably due to running over some abstraction layers it might behave
differently to the ri in some vital areas which then need to be nailed
down and fixed (one area definitely being the alerts in the codebase
and some internal error messages)!
I have started to pick up the work on I had done before on a simple
transport layer (basically just a queue and a hook into xmlhttprequest)
which currently has about 130 locs and in the end will have about 200
which is trimmed down to the absolute core of what we seem to need for
the current state of the spec!
What I would propose is following, once I am done with it I will commit
it as well, and for now I will make the transports switchable,
people in the long run should decide which transport we will use.
I am not too eager to drag all the trinidad code around,especially
if Trinidad wants to become jsf2 compatible anyway it has to reroute its
own communication layer for the ppr stuff over the official apis or
provide its own anyway for the things which cannot be covered by the
current spec. It does not make too much sense to fix the Trinidad
codebase down to the level to become fully compatible to the ri in every
detail! Too much work and I would probably break Trinidad that way anyway!
The transport definitely will be pluggable, this is javascript afterall,
and I do not have any intention to hardwire anything since it is rather
easy in javascript to make things very dynamic!
Comments anyone?
Werner