Yeap,
First off.
***** THIS IS NOT AN OFFICIAL RELEASE. ******
Do not expect this to work the way the current or future axkit's will work.
Do not take this code as in indication of what any final product will look like.
etc etc.
*********************************************
Having said that, any feed back would be gratefully received.
you need to check out the axkit-pipeline-2 branch from the axkit cvs tree.
cvs checkout -r axkit-pipeline-2 xml-axkit
This currently is a build for apache1. It's a rewrite of the way the pipeline
system works. Fundamentally, it's a change from a push pipeline to a pull
pipeline.
(A push pipeline, each stage is run independantly, the output pushed to the next handler).
A pull pipeline looks just like a function call stack, starting at the outside... which means each stage ask the stage before it for the representation it wants before getting it, which allows for lots of self optimisation.
send( get_binary ( get_text ( get_dom( get_dom( get_dom( ) ) ) ) ) )
(in the code this is the $self->upstream()->get_dom() stuff).
The (dis)advantage is that the pipeline gets created first, before things
like the cache get created, which allow for the cache to interact with the
pipline (and thus XSP). The disdvantage is is that it's a little slower than
the current axkit due to this overhead.
It however also means that we can make the cache just another pipeline module.
So incremental caching is available if you want it out of the box.
AxKit.pm is a lot smaller.
Chained XSP works.
Chained sax handlers work the way you would expect them to, they're just a style
using the Apache::AxKit::Pipeline::SAX processor
Error stylesheets have been fixed, there is an Error Provider now which you need
to set up as you server 500 handler.
The original plan was I that i write this, then we look at porting this to apache2
(having cleaned it all up). However there was 'some discussion' on this point and
on what the apache2 version should look like, which has lead to a bit of a hiatus.
It's not heavily documented, so you'll need to mail me questions and stuff. The main
thing is most pipeline stuff is now under
Apache::AxKit::Pipeline::*
and they should be used instead of the Language::* modules, but there is a backwards
compat layer for stuff I've not looked at yet.
There is still some work on my machine to commit around allowing different Pipeline
controllers to be used, so you could in theory write one which works exactly the
way the current axkit works but with the loss in functionality.
Mike.
On 19 Apr 2004, at 07:07, Tom Schindl wrote:
Hi Mike,
is it somehwo possible to take a look at what you've done on pipeline/apache2 stuff?
Thx
Tom
Mike Chamberlain wrote:+1 from me.
[1] http://totalcinema.com/axkit/axkitguidelines.xml
I like the idea of having a Pumpkin, I think the problem we've been having recently is
no one has been wanting to take charge, and at other times too many people want to
run the show / have conflicting ideas and there isn't anyone who is willing to act
as a chairman to get a decision made. - As can been seen from the hiatus on the dev
work I was doing on the pipeline / apache2.
I'd also like to see more use of the -dev list to discuss ideas. IRC is all well and
good, but it doesn't leave any records for anyone else to see or comment on.
Mike.