Bertrand Delacretaz wrote:
I need more time to think about all this, for now here are a few thoughts:

Le 2 déc. 05, à 18:59, Sylvain Wallez a écrit :

...Dynamic pipelines
...
I'd like to be able to write the following in a flowscript:

 var pipeline = flow.newPipeline("non-caching");
 pipeline.setGenerator("stream");
 pipeline.addTransformer("xslt", "normalize.xsl");
 if (cocoon.matchers.xpath("/foo/[EMAIL PROTECTED] = '" +
         cocoon.session.attributes.bar_id + "']", pipeline)) {
     handleBar(pipeline);
 } else {
     wrongId();
 }

IMHO, being able to use this stuff *outside* of Cocoon, without having to learn more than that, would make a big difference. A small facade with a clever class loader should make it possible to embed this PipelineEngine in most any java environment, not?

After all these years, the really unique thing about Cocoon is still the XML-based processing pipelines. Being able to use this as a small embeddable component would add a lot of value to our offering.

Yep. And not only that: it can be a strong marketing asset. If CocoonPipelines becomes a defacto standard for sophisticated XML processing, it can spread in many places and bring many users. They may not use the web front-end at first, but are more likely to get infected than if they have to buy the whole thing in a single bundle.

....Tell me your thoughts. Am I completely off-track,...

Again, I need more time to think about all this but I like your ideas very much.

Trying to play the devil's advocate, the questions that come to mind are

a) Do we need this?
If we were a company I'd ask about the return on investment: from all this, what are the two most important features or components that will bring us forward?

There are technical and non-technical answers:
- our "customer" base is shrinking: sure many people use it, but the population is aging, and not much new users are coming in - technically, Cocoon is reaching its limits in terms of evolution. Tons of legacy accumulated over the years make it really hard to bring in new things.

b) Are we able to execute this?
IIUC, what you're suggesting amounts to a rewrite of large parts of Cocoon.

I would even go as far as saying a full rewrite. Now this doesn't means starting from scratch, as we have our knowledge, and lots of interesting code that can be extracted and placed in a new structure.

Problem is, it seems like very few of us are currently able to regularly dedicate significant amounts of time and energy to the development of new things here.

Yep. But this community is slowly dying anyway, so either we go to retirement with a few old-timers keeping the product alive, or we consider more radical changes that will rejuvenate the old-timers and attract young people.

Starting a big "this-new-thing-is-going-to-be-so-good" project sounds very risky to me at this time, unless there's a way to do it in small steps which each bring something to our users. Or unless someone who wants it is able to commit sufficient resources to it, of course...but we know that there has to be a community behind such an effort.

... or do you also want to build this great new thing?...

I'd love to...but I'm not sure if I have a need for that in my current and envisionable projects. And the realities of life won't allow me to spend a significant part of my time on it unfortunately.

In the meantime, maybe offering an embeddable version of your "dynamic pipelines" thing would be a great help in getting more people to use the unique things that Cocoon has to offer. But it's a much smaller vision than yours ;-)

Yes, but that can be the first step: define this pipeline API and the minimal amount of components for it to be usable (a parser, an XSLT and XInclude transformer and a bunch of serializers), and build on it. Doing it that way can also ensure this pipeline API is kept independent from the surrounding front-end, be it flowscript, Spring webflow or an ESB engine.

Sylvain

--
Sylvain Wallez                        Anyware Technologies
http://bluxte.net                     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director

Reply via email to