Re: [STATUS] Cocoon Roadmap

2002-03-03 Thread Sylvain Wallez

Stefano Mazzocchi wrote:

People,

I know some of you are discouradged by the lack of overall 'polishness'
of the latest and greatest version of Cocoon.

I think I can speak for the entire development community if I greatly
apologize for that. And I think you deserve it.

Yes, we are all volunteers, but one way or another, we are earning
something from this (if ever, visibility, respect and, last but not
least, fun and knowledge) and we must continue the level of the past
quality of our work in order to keep things going and to keep things
sane.

In this regard, I want to tell you a few things that are going on:

1) DOCUMENTATION: the documentation has been cleaned up a little, the
stylesheets of the web site polished to look much more readable and
light. Some documents were removed because we plan to incorporate more
stuff into that.

In this regard, please, help us making this better!

The reason why documentation is normally not that good is that we
generally don't need it since we can look into the code (which is the
best documentation, if you know where to look) or simply email the guy
who wrote it.

But this doesn't scale: documentation is the only way to make knowledge
scale well.

So, if you have *any* kind of notes, mockups, emails-to-your-boss,
courses you made to your colleagues, about cocoon and friends, please,
let us know! It doesn't matter if they are not formatted properly, if
they are not using our Documentation DTD or anything, don't worry, go to
bugzilla (http://nagoya.apache.org) and throw it into the PATCH queue,
somebody will pick it up, refactor it, place in into the docs and, most
important, *give you credits for it*!

It's *that* easy, believe me.

To make things easier for those who want to write with our document DTD, 
I've written a CSS2 stylesheet for it. I tested it with the XMLmind XML 
editor (aka XXE, see http://www.xmlmind.com/xmleditor/) : it's a cool 
open-source CSS2 enabled XML editor written in Java, which provides 
word-processor like document editing.

Since the CSS renders like the web site, writing a doc in the document 
DTD is like writing a web page ! Check it out in 
src/documentation/xdocs/css, and be indulgent since it's my first CSS2 
stylesheet :)

snip/

Doesn't matter if you think you don't know enough: it's *exactly*
because you don't feel like a guru (yet!) that your opinions, views,
input is important to all the other people that haven't finished
climbing the 'unfortunately steep' Cocoon learning curve :/

2) SPEED: we are currently *very* close in having Xalan XSLTC working
for Cocoon. XSLTC is a new XSLT processor that was donated to Apache by
Sun Microsytems and, just like XSP, transforms a stylesheet into
bytecode.

Tests on my machine show 600% speed improvement over Xalan-J!!! And 200%
speed improvement over MSXML (the native library that powers Internet
Explorer)!!!

That's sooo great : no, Java isn't slow !

along with an incredibly lower memory footprint (thus, reduced garbage
collection, and overall improved performance and scalability)

There are a few compliance bugs to sort out, but we are confident that
we'll be able to ship Cocoon with XSLTC in the near future (if not in
2.0.2, for sure in 2.0.3)

At the same time, we are looking into faster and more scalable ways to
store the cached files.

With these two things together, Cocoon might be able to increase
performance in the next couple of releases between 200% and 600%
(depending on your use of XSLT and cache, of course). We are very
excited about this.

Another issue what we are working on is the sitemap interpretation vs.
compilation: we currently have two engines for the sitemap, the one
based on XSLT-generated code  and then compiled (the one you are using
right now) and a new interpreted-based one. 

We believe that with Hotspot server JVMs, the interpreted version might
be faster, but we don't have numbers to show that today. For sure,
sitemap reload time is almost instant now, compared to the compiled
solution. And this is very nice for development cycles.

Quick tests showed that request processing can be up to 10% faster than 
with the compiled engine (see 
http://marc.theaimsgroup.com/?l=xml-cocoon-devm=101169776323572w=4 ).

I expect the interpreted sitemap engine to be shipped very soon,
probably already in 2.0.2.

So, if nobody objects, I'll move it to the main trunk for 2.0.2.

3) SYMMETRY: the cocoon devs have always been aware of the intrinsic
cocoon asymmetry between content flowing out and content flowing in.

There are number of things that we are working on in this regard:

 3.1) Writeable Sources: we are working on making the protocol handlers
symmetrical, meaning that you can read from any resource (say
dbxml://database/docs/news) and also *write* on it. (this should remove
the need to create custom write-somewhere transformers for each type of
resource being used to write on)

This is a reality with the latest CVS for files (using the 'file:' 
protocol). Writing 

[STATUS] Cocoon Roadmap

2002-03-02 Thread Stefano Mazzocchi

People,

I know some of you are discouradged by the lack of overall 'polishness'
of the latest and greatest version of Cocoon.

I think I can speak for the entire development community if I greatly
apologize for that. And I think you deserve it.

Yes, we are all volunteers, but one way or another, we are earning
something from this (if ever, visibility, respect and, last but not
least, fun and knowledge) and we must continue the level of the past
quality of our work in order to keep things going and to keep things
sane.

In this regard, I want to tell you a few things that are going on:

1) DOCUMENTATION: the documentation has been cleaned up a little, the
stylesheets of the web site polished to look much more readable and
light. Some documents were removed because we plan to incorporate more
stuff into that.

In this regard, please, help us making this better!

The reason why documentation is normally not that good is that we
generally don't need it since we can look into the code (which is the
best documentation, if you know where to look) or simply email the guy
who wrote it.

But this doesn't scale: documentation is the only way to make knowledge
scale well.

So, if you have *any* kind of notes, mockups, emails-to-your-boss,
courses you made to your colleagues, about cocoon and friends, please,
let us know! It doesn't matter if they are not formatted properly, if
they are not using our Documentation DTD or anything, don't worry, go to
bugzilla (http://nagoya.apache.org) and throw it into the PATCH queue,
somebody will pick it up, refactor it, place in into the docs and, most
important, *give you credits for it*!

It's *that* easy, believe me.

Doesn't matter if you think you don't know enough: it's *exactly*
because you don't feel like a guru (yet!) that your opinions, views,
input is important to all the other people that haven't finished
climbing the 'unfortunately steep' Cocoon learning curve :/

2) SPEED: we are currently *very* close in having Xalan XSLTC working
for Cocoon. XSLTC is a new XSLT processor that was donated to Apache by
Sun Microsytems and, just like XSP, transforms a stylesheet into
bytecode.

Tests on my machine show 600% speed improvement over Xalan-J!!! And 200%
speed improvement over MSXML (the native library that powers Internet
Explorer)!!!

along with an incredibly lower memory footprint (thus, reduced garbage
collection, and overall improved performance and scalability)

There are a few compliance bugs to sort out, but we are confident that
we'll be able to ship Cocoon with XSLTC in the near future (if not in
2.0.2, for sure in 2.0.3)

At the same time, we are looking into faster and more scalable ways to
store the cached files.

With these two things together, Cocoon might be able to increase
performance in the next couple of releases between 200% and 600%
(depending on your use of XSLT and cache, of course). We are very
excited about this.

Another issue what we are working on is the sitemap interpretation vs.
compilation: we currently have two engines for the sitemap, the one
based on XSLT-generated code  and then compiled (the one you are using
right now) and a new interpreted-based one. 

We believe that with Hotspot server JVMs, the interpreted version might
be faster, but we don't have numbers to show that today. For sure,
sitemap reload time is almost instant now, compared to the compiled
solution. And this is very nice for development cycles.

I expect the interpreted sitemap engine to be shipped very soon,
probably already in 2.0.2.

3) SYMMETRY: the cocoon devs have always been aware of the intrinsic
cocoon asymmetry between content flowing out and content flowing in.

There are number of things that we are working on in this regard:

 3.1) Writeable Sources: we are working on making the protocol handlers
symmetrical, meaning that you can read from any resource (say
dbxml://database/docs/news) and also *write* on it. (this should remove
the need to create custom write-somewhere transformers for each type of
resource being used to write on)

 3.2) Drains: there has been discussions about making possible to use
serializers to send content into those writeable sources (a.k.a. known
as 'drains', easier to understand for those of us with an electronical
background). Nothing has been resolved yet on this regard, but
discussions continue. Note that this might require back-incompatible
changes to the Serializer interface.

 3.3) Pipe-aware selection: it has been proposed that if Selectors had a
way to look into the content on the pipeline, it would be much easier to
reuse shipped pipeline components instead of having to write custom
actions to take care of the 'updated stream'. This might also allow a
simpler implementation of WebDAV on top of Cocoon, but might require a
back-incompatible change to the Selector interface.

I would personally expect 3.1) to appear soon in the 2.0.x series. For
3.2) and 3.3) there is still lots of design work to do, so it won't be
before