[yes, you!] Gump is your friend!

2004-11-06 Thread Stefano Mazzocchi
[EMAIL PROTECTED] wrote:
Author: giacomo
Date: Sat Nov  6 04:38:55 2004
New Revision: 56757
Modified:
   cocoon/trunk/gump.xml
Log:
made concurrent-util dependency for core ??
Modified: cocoon/trunk/gump.xml
==
--- cocoon/trunk/gump.xml   (original)
+++ cocoon/trunk/gump.xml   Sat Nov  6 04:38:55 2004
@@ -83,6 +83,7 @@
 
 
 
+
thanks Giacomo, yeah, this will do it.
People, we've worked our collective ars off to make gump build cocoon 
(had to convince about a million people to do about a million different 
things) but gump moved from 65% (when I started pushing) to 92% as of 
yesterday (before giacomo reduced it to todays 85%).

In case you are not aware of how much things we are talking about, we 
are currently buildling:

  705!
different projects. Yes, you heard it: the current status of gump is 92% 
of 705 projects and given that a few cocoon blocks prevent other 10 
blocks to build, I expect to reach 95% when we are finished integrating.

For a more detailed description look at:
 http://brutus.apache.org/gump/public/buildLog.html
or, in case it's building
 http://brutus.apache.org/gump/test/buildLog.html
which runs only once a day and it's more likely to be finished.
Now.
Here are a few suggestions for people:
 1) if you don't know how to map a java package to the gump name of the 
project, look at this page

 http://brutus.apache.org/gump/public/gump_xref/package_project.html
it lists the java packages contained in each project and gives you a 
first rough indication of where to look for (and to avoid misnaming a 
project).

 2) if you find a problem down the road, or if you want to add a new 
project to gump, the Gump CVS module contains the metadata used by 
brutus to make the gump runs. That module is *open* to every ASF 
committer, so if you spot a problem, go right ahead and fix it. Don't be 
afraid of breaking things, we can always roll back and it takes a few 
hours for somebody to notice if things went wrong. We break gump all the 
time so it's not a big deal and nobody will shout at you ;-)

 3) if you care about non-standard builds, take a look at
 http://brutus.apache.org/gump/kaffe/
and
 http://brutus.apache.org/gump/jdk1.5/
these are new gump runs that we are attempting to build.
 4) I *KNOW* those pages are horrible and those email are noisy and 
full of crap that makes it harder to spot the problem. I'm working on it.

 5) I *KNOW* it's annoying that gump does not backtracks with the 
previous builds to find out who is really the project that generated the 
changes. I'll be working on that right after so that not only gump will 
be able to indicate who caused what effect but also gump will work 
*both* as a continuous integration system and as a nightly build system.

If you have any questions, suggestions, comments or criticism, I (and 
the other gumpmeisters) are very happy to receive them.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-proxy (in module cocoon) success

2004-11-05 Thread Stefano Mazzocchi
Gump wrote:
To whom it may satisfy...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project cocoon-block-proxy *no longer* has an issue.
It worked!! :-)
Gosh, gump is really black magic... all right, let's keep going...
[sound of stefano keeping exploring the jungle of dependencies]
--
Stefano


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-ojb (in module cocoon) failed

2004-11-04 Thread Stefano Mazzocchi
Gump wrote:
main:
[mkdir] Created dir: /home/gump/workspaces2/public/workspace/cocoon/build/cocoon-04112004/blocks/ojb/mocks
[javac] Compiling 7 source files to /home/gump/workspaces2/public/workspace/cocoon/build/cocoon-04112004/blocks/ojb/mocks
[javac] /home/gump/workspaces2/public/workspace/cocoon/src/blocks/ojb/mocks/org/apache/ojb/odmg/OJB.java:25: package org.odmg does not exist
[javac] import org.odmg.Implementation;
[javac] ^
[javac] /home/gump/workspaces2/public/workspace/cocoon/src/blocks/ojb/mocks/org/apache/ojb/odmg/OJB.java:29: cannot resolve symbol
[javac] symbol  : class Implementation 
[javac] location: class org.apache.ojb.odmg.OJB
[javac] public static Implementation getInstance() {
[javac]   ^
[javac] 2 errors
This is weird. I can't find a reference to this classes. Anybody has a clue?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: trunk does not compile

2004-11-03 Thread Stefano Mazzocchi
Torsten Curdt wrote:
will do that... strange!

works now
...weird ...weird ...weird
bug in svn? update your svn client to the latest 1.0.x version.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-proxy (in module cocoon) failed

2004-11-03 Thread Stefano Mazzocchi
Antonio Gallardo wrote:
Stefano Mazzocchi dijo:
Antonio Gallardo wrote:

Stefano Mazzocchi dijo:

Antonio Gallardo wrote:

Stefano Mazzocchi dijo:

Gump wrote:


cocoon-block-proxy-compile:
 [javac] Compiling 4 source files to
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-02112004/blocks/proxy/dest
 [javac]
/home/gump/workspaces2/public/workspace/cocoon/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java:294:
cannot resolve symbol
 [javac] symbol  : method getRequestBodyAsString ()
 [javac] location: class
org.apache.commons.httpclient.methods.PostMethod
 [javac] String body = ((PostMethod)
this.method).getRequestBodyAsString();
 [javac]   ^
 [javac] 1 error
I don't know how to fix this one from the gump side, it needs some
code
changes since httpclient change a lot since this code was created.
Any ideas?

I saw the code of httpclient 2.0.x and 3.0 and it is quite diferent.
They
are changing a lot in the new 3.0.x release. If we want gump compile
this
block, we need to add a dependency to our own distributed jar version
2.0.2.
I know this is a hack. The other way is to see more in depth and find a
way to compile code using both httpclient 2.0.2 and 3.0 too.
WDYT?
That build is against the 2.0.x branch.

Its posible in the CVS version.
In the javadocs for release 2.0.2, the PostMethod. Because is direct
derived from EntityEnclosingMethod:
http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/PostMethod.html
Now go to the CVS. in the HTTPCLIENT_2_0_BRANCH We still see the
method getRequestBodyAsString() inside:
http://cvs.apache.org/viewcvs.cgi/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/EntityEnclosingMethod.java?rev=1.18.2.5&only_with_tag=HTTPCLIENT_2_0_BRANCH&view=markup
...
I am not a CVS guru, but in the HEAD (3.0 release) there is not the
method.
Seems like they broke a contract? I mean removing a method without
deprecate it first?
yeah, they did, but what I don't  understand is why we didn't build
against HTTPCLIENT_2_0_BRANCH.

I think we are not using the HTTPCLIENT_2_0_BRANCH. See:
http://cvs.apache.org/viewcvs.cgi/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/PostMethod.java?only_with_tag=HTTPCLIENT_2_0_BRANCH&view=markup
And in the EntityEnclisingMethod:
http://cvs.apache.org/viewcvs.cgi/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/EntityEnclosingMethod.java?rev=1.18.2.5&only_with_tag=HTTPCLIENT_2_0_BRANCH&view=auto
Is gump using the right branch?
great question, I'll check it out on the gump end, thanks.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-proxy (in module cocoon) failed

2004-11-02 Thread Stefano Mazzocchi
Antonio Gallardo wrote:
Stefano Mazzocchi dijo:
Antonio Gallardo wrote:

Stefano Mazzocchi dijo:

Gump wrote:

cocoon-block-proxy-compile:
  [javac] Compiling 4 source files to
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-02112004/blocks/proxy/dest
  [javac]
/home/gump/workspaces2/public/workspace/cocoon/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java:294:
cannot resolve symbol
  [javac] symbol  : method getRequestBodyAsString ()
  [javac] location: class
org.apache.commons.httpclient.methods.PostMethod
  [javac] String body = ((PostMethod)
this.method).getRequestBodyAsString();
  [javac]   ^
  [javac] 1 error
I don't know how to fix this one from the gump side, it needs some code
changes since httpclient change a lot since this code was created.
Any ideas?

I saw the code of httpclient 2.0.x and 3.0 and it is quite diferent.
They
are changing a lot in the new 3.0.x release. If we want gump compile
this
block, we need to add a dependency to our own distributed jar version
2.0.2.
I know this is a hack. The other way is to see more in depth and find a
way to compile code using both httpclient 2.0.2 and 3.0 too.
WDYT?
That build is against the 2.0.x branch.

Its posible in the CVS version.
In the javadocs for release 2.0.2, the PostMethod. Because is direct
derived from EntityEnclosingMethod:
http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/PostMethod.html
Now go to the CVS. in the HTTPCLIENT_2_0_BRANCH We still see the
method getRequestBodyAsString() inside:
http://cvs.apache.org/viewcvs.cgi/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/methods/EntityEnclosingMethod.java?rev=1.18.2.5&only_with_tag=HTTPCLIENT_2_0_BRANCH&view=markup
...
I am not a CVS guru, but in the HEAD (3.0 release) there is not the method.
Seems like they broke a contract? I mean removing a method without
deprecate it first?
yeah, they did, but what I don't  understand is why we didn't build 
against HTTPCLIENT_2_0_BRANCH.

puzzled.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-proxy (in module cocoon) failed

2004-11-02 Thread Stefano Mazzocchi
Antonio Gallardo wrote:
Stefano Mazzocchi dijo:
Gump wrote:

cocoon-block-proxy-compile:
   [javac] Compiling 4 source files to
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-02112004/blocks/proxy/dest
   [javac]
/home/gump/workspaces2/public/workspace/cocoon/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java:294:
cannot resolve symbol
   [javac] symbol  : method getRequestBodyAsString ()
   [javac] location: class
org.apache.commons.httpclient.methods.PostMethod
   [javac] String body = ((PostMethod)
this.method).getRequestBodyAsString();
   [javac]   ^
   [javac] 1 error
I don't know how to fix this one from the gump side, it needs some code
changes since httpclient change a lot since this code was created.
Any ideas?

I saw the code of httpclient 2.0.x and 3.0 and it is quite diferent. They
are changing a lot in the new 3.0.x release. If we want gump compile this
block, we need to add a dependency to our own distributed jar version
2.0.2.
I know this is a hack. The other way is to see more in depth and find a
way to compile code using both httpclient 2.0.2 and 3.0 too.
WDYT?
That build is against the 2.0.x branch.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-mail (in module cocoon) failed

2004-11-02 Thread Stefano Mazzocchi
Gump wrote:
cocoon-block-asciiart-compile:
cocoon-block-velocity-compile:
cocoon-block-cron-compile:
cocoon-block-batik-compile:
cocoon-block-xsp-compile:
cocoon-block-forms-compile:
cocoon-block-databases-compile:
main:
cocoon-block-ojb-compile:
this is very weird. the 'mail' block does not depend on ojb, so why is 
the cocoon build system trying to build it?

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-proxy (in module cocoon) failed

2004-11-02 Thread Stefano Mazzocchi
Gump wrote:
cocoon-block-proxy-compile:
[javac] Compiling 4 source files to 
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-02112004/blocks/proxy/dest
[javac] 
/home/gump/workspaces2/public/workspace/cocoon/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java:294:
 cannot resolve symbol
[javac] symbol  : method getRequestBodyAsString ()
[javac] location: class org.apache.commons.httpclient.methods.PostMethod
[javac] String body = ((PostMethod) 
this.method).getRequestBodyAsString();
[javac]   ^
[javac] 1 error
I don't know how to fix this one from the gump side, it needs some code 
changes since httpclient change a lot since this code was created.

Any ideas?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Switching rhino implementation

2004-11-01 Thread Stefano Mazzocchi
Reinhard Poetz wrote:
I'm going to integrate the new Rhino+cont implementation in the next few 
days and plan to support the old and the new implementation, at least in 
2.1. I wonder ...
Jesus, what happened to the release early and often paradigm? 2.1.6 has 
been in the making forever. Can we get that sucker out of the 
door or we have to fix all the bugs before we do? and that will never 
happen anyway.

shrug.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-xsp (in module cocoon) failed

2004-11-01 Thread Stefano Mazzocchi
Antonio Gallardo wrote:
Stefano Mazzocchi dijo:
This is very weird: instead of executing the 'xsp' block, it runs the
'paranoid' block. This is not a gump problem.
Do you people have any idea of what's going on?

Yep! We know! :-D
See this:

org.apache.cocoon

  
I will fix it now. ;-)
Awesome, thanks a lot!
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: Project cocoon-block-xsp (in module cocoon) failed

2004-10-31 Thread Stefano Mazzocchi
Gump wrote:
Project cocoon-block-xsp has an issue affecting its community integration.
This issue affects 26 projects.
[...]
gump-block:
cocoon-block-paranoid:
cocoon-block-paranoid-prepare:
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-31102004/blocks/paranoid/dest
cocoon-block-paranoid-compile:
[javac] Compiling 3 source files to 
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-31102004/blocks/paranoid/dest
  [jar] Building jar: 
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-31102004/blocks/paranoid-block.jar
[mkdir] Created dir: 
/home/gump/workspaces2/public/workspace/cocoon/build/cocoon-31102004/blocks/paranoid/samples
cocoon-block-paranoid-tests:
This is very weird: instead of executing the 'xsp' block, it runs the 
'paranoid' block. This is not a gump problem.

Do you people have any idea of what's going on?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Heads up] Change to build system in 2.1.x

2004-10-30 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 25/ott/04, alle 19:14, Unico Hommes ha scritto:
I've completed the changes to the build system discussed earlier [1]. 
In order to do so I have extended the gump descriptor with additional 
information that allows the build system to locate one or more 
dependency jars per  project within ./lib/optional. See for an 
example the cocoon-block-axis project definition in gump.xml

Every block now *must* declare all the dependencies it requires to 
compile in gump.xml just in order for it to build properly.

Looks like this is not a backward-compatible change. Blocks which are 
distributed outside of Cocoon (like Fins or my Spring Petstore) must 
change their deployment instructions to add all those  elements 
(and put dependencies in gump too, which wasn't required before, even 
though it might have been good practice).

Shouldn't we make this change in trunk only and leave 2.1 as is?
yes, this is a pretty big obstacle for a simple bugfix release. The 
block build system *is* not an aPI but it's a contract and we must honor 
them.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Proposal] New Block building system

2004-10-29 Thread Stefano Mazzocchi
Reinhard Pÿfff6tz wrote:
 --- Stefano Mazzocchi <[EMAIL PROTECTED]> schrieb: 

Reinhard Poetz wrote:
Stefano Mazzocchi wrote:

Reinhard Poetz wrote:

More information and explanations can be found
at 

http://wiki.apache.org/cocoon/CocoonBlockBuilder

[not critizing, just curious] can you explain why
you think that 

having block/lib is going to be jar hell while
lib/block is not?
I would really like to see block/lib instead of
lib/block but without 

Pier's shielding classloader I don't see how we do
NOT end in jar 

versioning hell.
Good point.
+1 to your choice.

I think it can provide a smooth transition from
current blocks to RealBlocks and the work can be done
in incremental steps.
Agreed.
Stefano and others, What do you think, should I
continue with the new block build system?
Go right ahead.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Implementation of the Continuations checker

2004-10-29 Thread Stefano Mazzocchi
Vadim Gritsenko wrote:
Nicola Ken Barozzi wrote:
Unico Hommes wrote:
...
I believe that the excalibur event package lives on at d-haven [1]. 
Why not use that?

Or we could stick with excalibur-event, if there is nothing wrong with it.

Oh oh. We did this discussion with the container, I hope we don't have 
to go over this again for every Avalon dependency we have ;-P

This smells a lot as NIH syndrome [1]. Are we going to rewrite every 
single excalibur component we use?
Potentially, yes. It's a small price to pay to gain solidity of your 
foundations.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Implementation of the Continuations checker

2004-10-29 Thread Stefano Mazzocchi
Unico Hommes wrote:
Giacomo Pati wrote:
On Fri, 29 Oct 2004, Carsten Ziegeler wrote:
Giacomo Pati wrote:
On Fri, 29 Oct 2004, Carsten Ziegeler wrote:
The current implementation of our continuations manager uses the
excalibur event package for the background checker that checks for
expired continuations.
Now, this approach has the problem, that excalibur event is
deprecated. In addition we aren't using it somewhere else,

so it would
be great if we could remove this dependency.
Yesterday, I wrote a simple replacement which I checked into 2.2:
a simple background thread is initialized that sleeps for a

configured
period of time, checks the continuations, sleeps etc.
Now, this solution should work.
The question is now, should I port this to 2.1.x as well? Are there
better solutions?

Does this mean the CommandManager from the Context is gone?
Yes, at least for 2.2 - for 2.1.x we would have to decide if we 
remove it.

Are you using it?

Yes, we used the CommandManager in some projects. It is based on the 
PooledExecutor from Doug Leas concurrent-utils package. It comes in 
quite handy as you can put tasks there you'd like to be done 
asynchroniously (ie. indexing a uploaded document with lucene to speed 
up percieved performance).

I believe that the excalibur event package lives on at d-haven [1]. Why 
not use that?

1. http://api.d-haven.org/event/
because, with all due respect to Berin, this is another one man show and 
we are sick of having them change under our feet.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] StringTemplate: The answer to our templating needs?

2004-10-29 Thread Stefano Mazzocchi
Bart Molenkamp wrote:

-Original Message-
From: Carsten Ziegeler [mailto:[EMAIL PROTECTED]
Sent: Friday, October 29, 2004 10:47 AM
To: [EMAIL PROTECTED]
Subject: RE: [RT] StringTemplate: The answer to our templating needs?
Bertrand Delacretaz wrote:
I don't think JXTG is broken now, it works well but the code
is hard to understand and having all classes in a single huge
source code file does not help.
Yupp, that is one of the problems with JXTG. It would be great if
a new solution would be pluggable to add new "tag libs" as well.

Making it pluggable may also have the disadvantage that languages are
added that can give more control than required for presentation of data.
This can make the separation of concerns less clear, which is IMO one of
the great things in Cocoon (the control flow). Templates may look like
XSP pages, or similair (code mixed with content), breaking the SoC.
Or am I wrong?
no, you are totally right.
People, all we need is a way to connect to objects. And we need only one 
and the less the language is functional, the better.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Implementation of the Continuations checker

2004-10-29 Thread Stefano Mazzocchi
Bart Molenkamp wrote:
Maybe CRON can handle this job? Or isn't it a good idea to have the core
of Cocoon depent on CRON?
unfortunately, CRON is not a portable service across OS and we do 
support silly microsoft OSs too.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] StringTemplate: The answer to our templating needs?

2004-10-29 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
Bertrand Delacretaz wrote:
I don't think JXTG is broken now, it works well but the code 
is hard to understand and having all classes in a single huge 
source code file does not help.

Yupp, that is one of the problems with JXTG. It would be great if
a new solution would be pluggable to add new "tag libs" as well.
I created a long time ago the TemplateObjectModelHelper which is 
in the scratchpad area. The idea of this class is to provide one
single object model that can be used in various components,
like a template generator/transformer, input moduls, java code etc.
In the end, regardless where you want to access objects (flow,
template stuff, input modules) you always use the same way, like
"cocoon.request" etc. Depending on the language the component
provides the syntax may vary, like "cocoon/request" - but the path
you use is always the same.
I like!
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Expression languages (was Re: [RT] StringTemplate: The answer to our templating needs?)

2004-10-29 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Carsten Ziegeler wrote:
Sylvain Wallez wrote:
 

XPath is a must-have when you deal with XML documents while Jexl is 
mostly useless in that case but is straightforward when you deal with 
JavaBeans. I also agree that understanding the difference between 
"${continuation.id}" and "#{$continuation/id}" is less than evident.

So what about a unified syntax for expansion tokens, within which 
different languages could be used. Example:
- ${continuation.id} // Jexl, default syntax
- ${xpath:$continuation/id} // xpath
- ${im:defaults:skin} // input-module
- ${ognl:$continuation.id} // OGNL [1]

  
Hmm, one of the things I really don't like with JXTG is that you
have to different expression languages. You never know which to
use and some things work only with one specific language.
And for me this comes near to FS :)
 

Agree, but considering the wide variety of applications contexts where 
Cocoon is used, I don't think there can be a single "one-size-fits-all" 
language.

There are also a number of places in Cocoon where we need to evaluate 
expressions: templates, sitemap, form validators, form bindings, etc, 
which are currently implemented separately with different syntaxes. We 
need a common expression evaluation component.

So, let's decide on one language that we think is the best, but
let's provide a hook so others can plugin their language if *they*
want to.
 

That's exactly what I suggest above: we choose a standard default 
language, but open the possibility to plug in new ones. XPath is a 
must-have, Jexl and IM have very valid use cases which IMO justify them 
to be provided by Cocoon. Other languages are just a possibility that we 
offer _if_ people want to add their own language.
Excuse my ignorance, but can you outline the pro/cons of each path 
language, along with what it can't be done with it that can be done with 
others?

I guess that would be helpful for people to decide.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] StringTemplate: The answer to our templating needs?

2004-10-29 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
Sylvain Wallez wrote:

XPath is a must-have when you deal with XML documents while 
Jexl is mostly useless in that case but is straightforward 
when you deal with JavaBeans. I also agree that understanding 
the difference between "${continuation.id}" and 
"#{$continuation/id}" is less than evident.

So what about a unified syntax for expansion tokens, within 
which different languages could be used. Example:
- ${continuation.id} // Jexl, default syntax
- ${xpath:$continuation/id} // xpath
- ${im:defaults:skin} // input-module
- ${ognl:$continuation.id} // OGNL [1]

Hmm, one of the things I really don't like with JXTG is that you
have to different expression languages. You never know which to
use and some things work only with one specific language.
And for me this comes near to FS :)
Amen. I wouldn't even go for plugins. Let's chose one syntax and just 
use that.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] StringTemplate: The answer to our templating needs?

2004-10-29 Thread Stefano Mazzocchi
Giacomo Pati wrote:
On Fri, 29 Oct 2004, Reinhard Poetz wrote:
Tony Collen wrote:
Do we need a new, (standardized?) or possibly even *gasp* better 
templating system for Cocoon?  This is where I encourage people to 
dive in and give their own [RT]s and thoughts on the issue.

First, thank you for the pointer. Interesting stuff.
But first, we should agree on our needs and then we should choose a 
technology.
IMO less is more - the templating engine should really focus on 
presenting data. I see following needs:

- really powerful query language to access
* all kind of objects
* incl. passed DOM trees
- control structures like for/each, if, choose
- call methods on passed objects
- stream objects (DOM, XMLizable, ...?)
- and probably a way to define macros (see cForm macros)

Add this:
- works as a Transformer (SAX pipeline)
Don't know whether we need the possibilty to use xPath expressions on 
passed objects. On one hand it would be helpful, on the other we 
probably end again with two different syntax.

XPath is what we're used to when writing xslt stylesheets. The Java 
dotted notation is what we're used to when writing Java code. As the 
templating engine will most likely be some xml syntax XPath make IMHO 
much more sense to me than dottet notation.
May I remind you people of Pier's Garbage? He lost interest in it, but I 
personally like the approach very much.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Proposal] New Block building system

2004-10-29 Thread Stefano Mazzocchi
Reinhard Poetz wrote:
Stefano Mazzocchi wrote:
Reinhard Poetz wrote:
More information and explanations can be found at 
http://wiki.apache.org/cocoon/CocoonBlockBuilder

[not critizing, just curious] can you explain why you think that 
having block/lib is going to be jar hell while lib/block is not?

I would really like to see block/lib instead of lib/block but without 
Pier's shielding classloader I don't see how we do NOT end in jar 
versioning hell.
Good point.
+1 to your choice.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Proposal] New Block building system

2004-10-28 Thread Stefano Mazzocchi
Reinhard Poetz wrote:
More information and explanations can be found at 
http://wiki.apache.org/cocoon/CocoonBlockBuilder
[not critizing, just curious] can you explain why you think that having 
block/lib is going to be jar hell while lib/block is not?

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [VOTE] Leszek Gawron and Ralph Goers as committers

2004-10-28 Thread Stefano Mazzocchi
Leszek Gawron wrote:
I thought there is still very much 
to do to prove myself useful and trustworthy.
... and that's exactly why everybody thinks you deserve committership ;-)
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [VOTE] Leszek Gawron and Ralph Goers as committers

2004-10-28 Thread Stefano Mazzocchi
Torsten Curdt wrote:
Folks please cast your votes for:
[  ] Leszek
[  ] Ralph
as Apache Cocoon committers.
+1
Welcome on board!
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
David Crossley wrote:
So when a real, potentially damaging, issue arises
we will have no way to sensibly handle it.
It has been working fine so far and I see no evidence of things changing.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


How to make things better

2004-10-26 Thread Stefano Mazzocchi
Luigi Bai wrote:
If you have ideas on how to make it better, we are wide open to 
suggestions.
Okay, assuming your sincerity - what is the current method for 
committers to find/fix/close issues in Bugzilla? 
there is no codified method. Basically, one those patches/fixes/bugs 
that are promoted by somebody that really cares (and really keeps 
bugging us) get in. The others remain in a limbo until somebody cares.

Are votes used, or longest time open, number of comments? 
we have cronned script that sends a list of unapplied patches to the 
mail list every sunday. it was a nice try but if everybody skips over it 
the way I do, it's pretty much useless.

currently, we have no way to "rank" the most important issues. I agree 
that would be a great addition. Something like "vote your issue" would 
go a long way to identify what things we can work on.

How often are these criteria 
applied (periodically, only FirstFriday, only before release)?

Knowing these, we can figure out a way to improve the system, or the 
users's expectations (or both!).
We tried to improve the system with FirstFriday. It was a nice try but I 
think it's not keeping up with the expectations.

The "bugathon" worked well for the past 2 years, but we need something 
more continous.

I like your suggestion of improving the 'ranking' of the pending issues, 
so that one doesn't feel overwhelmed without an indication of importance.

Of course, on the other hand, every ranking methodology might hide some 
of the issues even more.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
Luigi Bai wrote:
On Tue, 26 Oct 2004, Stefano Mazzocchi wrote:
forth: some of us spend a great amount of their life trying to come up 
with strategies that avoid the use of those rules, and understand how 
complex groups form and dissolve, how innovation happens and how 
community fractures can be avoided. When shit works well, like this 
project, it's easy to think it 'just happened' and much harder to see 
all the social work that made it possible, including allowing informal 
votes to happen and keeping rules to a bare minimum.

Maybe it is more precise to say "When shit works /mostly/ well...". The 
presence of a large number of outstanding Bugzilla issues, especially 
ones with [PATCH]es attached, implies that things work well for 
committers, less well for those of us who have to wait until "someone 
just gets around to it". Fixing bugs isn't sexy, like Flow or Forms or 
Real Blocks. But it should happen every once in a while, especially when 
other people have already proposed the patches.
If you have ideas on how to make it better, we are wide open to suggestions.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
I'm trying really really really hard not to reply to this but I can't.
Frédéric Glorieux wrote:
For computing, you are really incredible guys, but for politics, I'm 
sorry to say that but you are "reinventing the wheel". Rules are not 
"bureaucratic" but the only way to have a stable democracy, which is the 
less unefficient governement (for long periods).
first: we are not doing politics, not establishing a government, nor we 
believe in democratic development metodologies.

second: I've been around open source long enough to know that rules are 
necessary, *BUT* I've also seeing people that love rules more than the 
reason why they exist. Rules are not made to create cages, but 
guidelines. Our philosophy follows the Postel principle for internet 
architectural design: "be strict in what you send, be flexible in what 
you receive".

third: if there is one thing that the ASF never did was to "reinvent the 
wheel" in the labor collaboration and management space. Several business 
schools of the major universities of the world are studying how we 
managed to achive what we achieved. Some of them believe this is some of 
the most innovative critique of existing labor cooperation since Marx.

forth: some of us spend a great amount of their life trying to come up 
with strategies that avoid the use of those rules, and understand how 
complex groups form and dissolve, how innovation happens and how 
community fractures can be avoided. When shit works well, like this 
project, it's easy to think it 'just happened' and much harder to see 
all the social work that made it possible, including allowing informal 
votes to happen and keeping rules to a bare minimum.

Now, go back and re-read my comments under this light.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
Bertrand Delacretaz wrote:
Le 26 oct. 04, à 17:41, Stefano Mazzocchi a écrit :
..Bah, burocrats.

;-)
I see David's point though, using [VOTE] in subject (and [PROPOSAL] 
maybe) helps in not missing stuff that's happening.

But I like our +1 way of saying "me? I like it" even if outside of a 
vote - it's part of our "slang" I think.

So +1 on being more careful with [appropriate headers] in subjects ;-)
I hear you and I agree.
But one thing is saying "next time use [vote] so that people don't miss 
it", another is "start over and follow the rules".

The first is common sense, the second is burocracy.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
Tony Collen wrote:
Bertrand Delacretaz wrote:
+1, I agree with the formal vote but if you start it by counting all 
the +1s here we don't need to vote again.

Alright, well I guess I phrased my message as a pseudo-vote, so the 
confusion is my fault!

Anyway, I'l count the existing votes as if it were an official vote 
through Thursday night GMT.  If anybody who's already voted wants to 
change their mind in the meantime, go ahead (but it doesn't seem likely).

Here's my implicit +1, too.
Oh, c'mon, we have a gazillion +1 and no -1, go ahead and deprecate it.
It's not like we can't reverse the thing if a -1 shows up.
Bah, burocrats.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-26 Thread Stefano Mazzocchi
David Crossley wrote:
No, it is not bureaucratic. It is about efficiency.
That's what bureaucrats always say ;-)
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Let's deprecate the PHP block

2004-10-25 Thread Stefano Mazzocchi
Tony Collen wrote:
To my knowledge, the PHPGenerator hasn't worked for quite some time.  In 
all the time I've been working with Cocoon, I have never seen it work 
correctly.

However, I believe the problem is within the PHP Servlet itself, which, 
if you do some research, tons of people have had problems with it being 
FUBAR for ages.

There are lots of messages from people looking to get it working on the 
lists as well:

cocoon-dev: 
http://marc.theaimsgroup.com/?l=xml-cocoon-dev&w=2&r=1&s=phpgenerator&q=b
cocoon-users: 
http://marc.theaimsgroup.com/?l=xml-cocoon-users&w=2&r=1&s=phpgenerator&q=b

Here's a good example of recent attempt of using the PHP Servlet:
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=107340894710274&w=2
It's my personal opinion that we'll never see a good PHP servlet, 
especially since it's been "in beta" for a number of years.

Let's deprecate the PHP block for the remainder of our 2.1.X releases 
and then dump it in 2.2.  If people want to "use" PHP with Cocoon, the 
best solution is to just use a FileGenerator and an http:// URL.
+1 nobody uses it anyway.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Heads up] Change to build system in 2.1.x

2004-10-25 Thread Stefano Mazzocchi
Vadim Gritsenko wrote:
Stefano Mazzocchi wrote:
We really gotta start thinking about our build system and gump 
integration.

Vadim Gritsenko wrote:
Unico Hommes wrote:
I've completed the changes to the build system discussed earlier 
[1]. In order to do so I have extended the gump descriptor with 
additional information that allows the build system to locate one or 
more dependency jars per  project within ./lib/optional. See 
for an example the cocoon-block-axis project definition in gump.xml

Every block now *must* declare all the dependencies it requires to 
compile in gump.xml just in order for it to build properly.

Since I am not very familiar with gump.xml and I had to add a lot of 
information it is very probable that I made a mistake or two with 
the way local projects are declared.

I thought you'll add  element which would be independent of 
 element and thus avoid any possible conflicts with Gump. 
But now I see that you'd added bunch of new  elements - 
which are not currently required by Gump - I don't think we should do 
that.

I'd sleep better if instead of:
+
+
+
+
We'd have:
+
+
+
+

this will make our descriptor being invalid, but since I control the 
DTDs we can change that on the other hand.

but there is something that bothers me: the above really doesn't make 
any sense. What would be a lot more useful would be something like

 
or
 
or
 
then it would be up to gump to give you the version you want (and we 
might indicate what versions we expose in our gump.xml description).

Two points;
 * Gump is about continuous integration, i.e. always trunk, right?
so far ;-)
   And our build does not need version information too. Then,
   who needs it?
My idea is the following: gump should be *both* a build system and a 
continous integration system. It should build your project in two phases:

 1) run against the dependencies with the versions you specify (since 
they will never change, they can be built once and their packages kept 
in place forever). If broken send nightly build error and stop.

 2) if nightly built was successful, perform continous integration by 
running against the latest and greatest. If broken, send continous 
integration warning and stop.

 * gump.xml currently does not record dependency on antlr. Do you think
   it should be added? 
yep.
Why? 
see above.
That's what I meant above - I'm not sure
   we should add bunch of dependencies.
Another issue is that dependency project name might not match library 
name...
well, that's your concern only if you specify the version (and, even in 
this case, it's enough to create a mapping between a version and a 
tag/timestamp).

If you specify a timestamp or a tag, gump can figure it out by itself 
since it has all the metadata it needs to figure out where the builds 
write their jars and how they name them.

Hope this helps.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Heads up] Change to build system in 2.1.x

2004-10-25 Thread Stefano Mazzocchi
We really gotta start thinking about our build system and gump integration.
Vadim Gritsenko wrote:
Unico Hommes wrote:
I've completed the changes to the build system discussed earlier [1]. 
In order to do so I have extended the gump descriptor with additional 
information that allows the build system to locate one or more 
dependency jars per  project within ./lib/optional. See for an 
example the cocoon-block-axis project definition in gump.xml

Every block now *must* declare all the dependencies it requires to 
compile in gump.xml just in order for it to build properly.

Since I am not very familiar with gump.xml and I had to add a lot of 
information it is very probable that I made a mistake or two with the 
way local projects are declared.

I thought you'll add  element which would be independent of 
 element and thus avoid any possible conflicts with Gump. But 
now I see that you'd added bunch of new  elements - which are 
not currently required by Gump - I don't think we should do that.

I'd sleep better if instead of:
+
+
+
+
We'd have:
+
+
+
+
this will make our descriptor being invalid, but since I control the 
DTDs we can change that on the other hand.

but there is something that bothers me: the above really doesn't make 
any sense. What would be a lot more useful would be something like

 
or
 
or
 
then it would be up to gump to give you the version you want (and we 
might indicate what versions we expose in our gump.xml description).

Thoughts?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [VOTE] Remove excalibur instrumentation support from 2.2

2004-10-24 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
Stefano Mazzocchi wrote: 

+1
Carsten, one thing, when you remove a dependency, please 
update the gump.xml descriptor too!

Sure, until now I only removed one jar (excalibur-testcase) and
I updated gump.xml as well. Just curious, did I forget it somewhere
or is this a general reminder?
nono, just a general reminder.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [VOTE] Remove excalibur instrumentation support from 2.2

2004-10-24 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
The ECM++ is now integrated in 2.2 and it seems that most things
are running again - even simple XSP pages (haven't tested more yet).
Now, as I mentioned earlier, one idea of ECM++ is to support only those
interfaces/features that we really need.
One candidate in this category is obviously the instrumentation
support - the current version of ECM++ doesn't support it.
I think we should remove the support for excalibur instrumentation
completly from our 2.2 code base, because:
- only one single class in our whole repository is using instrumentation
  (the continuation manager)
- instrumentation can be seen as a proprietary solution that noone else is
using
- when we will have real blocks we will need other instrumentation
mechanisms anyway as we don't want to depend on excalibur in this case. So
migrating earlier is better.
Now, don't get me wrong - excalibur instrumentation is really a nice
project.
In the end when we think of real blocks we need another solution anyways -
this could be JMX or something else, but it's most likely that it won't be
excalibur instrumentation. So, imho it's better to move sooner (with 2.2),
remove the
instrumentation code, add a different solution and start using that
throughout
Cocoon.
Cocoon is not really affected by the removal, it might only affect users
that are using the instrumentation for their applications. So these users
would have to migrate to whatever we build into 2.2 then. 

If the result of this vote is to support instrumentation in 2.2, the missing
code can be added to ECM++ without major problems.
So, please cast your votes on removing the support starting with 2.2:
+1
Carsten, one thing, when you remove a dependency, please update the 
gump.xml descriptor too!

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [cron block] dependency question

2004-10-22 Thread Stefano Mazzocchi
Giacomo Pati wrote:
The simplest possible thing would be to have a block descriptor extend 
a maven POM and use maven to build them.
Wow, you propose using maven?
apparently ;-)
blocks are very simple things and don't require special treatment so 
they could be built with maven easily. As for the whole thing, I'm still 
not sure.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [cron block] dependency question

2004-10-21 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
Nicola Ken Barozzi wrote:
Why? It is easier to write and maintain single ant script 
than 55! (we 

have 55 blocks right now)
Let me answer for Reinhard :-)
If every local buildfile has
  
then there is not really more to maintain, but you gain in 
being able to customize the build where needed and to build 
the block 'locally'. It also becomes easier to accomodate for 
extra external blocks that do not necessarily need only our 
build targets.

Hmm, to be honest this frightens me a little bit. I really hope
that we are not experiencing the "avalon build system problem"
where each module had his own build file with all this complex
library and dependency handling and the final result was that
noone was able to use the build system for months. Then going
back and force from Ant to Maven etc. which in the end didn't
really help.
But in the end I trust you and I guess *we* will not suffer from
these problems. Let's just try to keep it as simple as possible,
but working :)
The simplest possible thing would be to have a block descriptor extend a 
maven POM and use maven to build them.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Question about the best way to locate the path to WEB-INF

2004-10-21 Thread Stefano Mazzocchi
Butler, Mark H (Labs Bristol) wrote:
Hi Stefano
Actually Patrick logged it as a server bug with the Apache Tomcat team,
but they weren't very impressed see 

http://issues.apache.org/bugzilla/show_bug.cgi?id=31806
I suspect its not so much a bug, more a feature of two different teams
interpreting the servlet specs differently :)
No, I think Remy just didn't get where the problem is (probably has to 
deal with a million of those faulty bug reports).

I suggest Patrick to start a discussion on tomcat-dev@ and, also, cut 
the stacktraces since they just add noise.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Question about the best way to locate the path to WEB-INF

2004-10-21 Thread Stefano Mazzocchi
Butler, Mark H (Labs Bristol) wrote:
Hi team,
I need your advice on the best way to fix a problem when using Cocoon on
Tomcat caused by DELI that I do not encounter when running Cocoon on
Jetty. Therefore I would like your advice as solving the problem seems
to require an understanding of the differences between servlet engines
that I'm afraid I do not possess. Patrick Melo has reported this
exception:
java.net.MalformedURLException: Path
\\server\share\webappname\webappname\WEB-INF/deli/config/deliConfig.xml
does not start with a "/" character
java.net.MalformedURLException: Path
\\server\share\webappname\webappname\WEB-INF/deli/config/deliConfig.xml
does not start with a "/" character
hmmm, it looks like a servlet container bug to me. Is the guy running 
this over an SMB remote disk? My guess would be that jetty normalizes 
the "/\" and maybe java doesn't complain there. Bah, I really don't 
know, your code looks fine to me.

--
Stefano, scratching head.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-21 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
On Thursday 21 October 2004 21:40, Stefano Mazzocchi wrote:
As for continous integration, Gump is your friend, so you should
not have to worry about that.
Provided we can get Gump all the way up and beyond Cocoon :o)
Soon there...
you can bet your ass we will! :-)
--
Stefano "Capt. Stubborn".


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Link Livesites: Cocoon 2.1.5

2004-10-21 Thread Stefano Mazzocchi
Upayavira wrote:
[EMAIL PROTECTED] wrote:
True! However, if there is a form to be filled in, some questions will be
answered beforehand, thus eliminating several mails back and forth.
Some of the questions: - how can I see that Cocoon was used?
- why did you use Cocoon? - how much time did the project take?
- how many members did the project team have?
 

Hi Helma,
You asked previously about what it would take for us to be able to run 
Cocoon on Apache hardware. At the moment, Apache has something like six 
machines, and these are guarded (quite rightly) fiercely by the 
intrastructure team, in order to keep them suitably secure.

There are a lot of projects that would like to have access to Apache 
hardware, whether for hosting, or for build/test cycles. In part, as a 
way to cater for this, the infrastructure team is building a couple of 
those machines to run VMWare ESX - thus they can host multiple operating 
systems on each machine. ESX is working, but they need to get more 
HDD/memory for it to handle more VMs. If we have needs for running our 
own stuff, e.g. having the latest Cocoon samples usable from the Cocoon 
website, we should make a request to the infrastructure team for a VM 
for ourselves, as soon as they have done the necessary hardware upgrades.

This would of course require us to choose an OS/distribution (never easy 
in a diverse community!) and then to maintain it.

Are people interested in pursuing this?
In the meantime, using our existing mechanisms, we should do as Antonio 
suggested - improve the notes on the livesites page, stating: Put an 
entry entitled [LINK] Blah into bugzilla, and answer these questions. If 
you don't answer them, your request will not be considered.

Or something like that. What do you think?
FYI, I have root access on brutus.apache.org (the machine that runs 
gump) and we could start to proxy_pass from cocoon.apache.org on to brutus.

The machine is a dual xeon, 4Gb of ram, SCSI disks, runs JDK 1.4.2 and 
has a MySQL database installed.

The machine is considered "not highly secure" by infra@ since it 
executes code that we don't control. If we can live with that low 
security, we can route around infra@ concerns and move on.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-21 Thread Stefano Mazzocchi
Andreas Hartmann wrote:
Stefano Mazzocchi wrote:
Andreas Hartmann wrote:
Carsten Ziegeler wrote:
Yes, it's stable now


[...]
I really hope so :)
We're about to switch to 2.2 for Lenya-dev, so be prepared
that I'll get on your nerves when something does not work
anymore ...

Andreas, I *strongly* suggest that you keep off until we are at least 
in beta state. Or, if you don't, I *even more strongly* suggest you 
that you don't complain if things change under your feet.

Alpha here means "contracts are unstable and rightly so".
You have been warned.
Thanks!
I replied on lenya-dev.
Obviously, the same applies to any other dependee until we reach beta 
state. As for continous integration, Gump is your friend, so you should 
not have to worry about that.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-20 Thread Stefano Mazzocchi
Tim Larson wrote:
On Wed, Oct 20, 2004 at 07:06:54PM +0200, Sylvain Wallez wrote:
Reinhard Poetz wrote:
Or another alternative
 
   
   ...
 

Typing parameters. That's *really* interesting. I prefer Reinhard's 
proposal which leaves room for future expansion to other types.

Should we use the string->typed-java-objects converters from CForms,
perhaps enhanced with a few new types such as URI/URL's?
NO!
God, I wonder, am I the only one that feels that you are fixing silly 
details and missing the problem entirely?

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-20 Thread Stefano Mazzocchi
Reinhard Poetz wrote:
Vadim Gritsenko wrote:
Sylvain Wallez wrote:
Mmhh... what if other parameters are also URIs?

If src attribute to be interpreted always as a Source object... We 
could add map:source as well:

  




...
  
Vadim
Or another alternative
   
 
 ...
   
[sound of Stefano's FS alarms going off]
People, step back and think at the "global" problem not at the specific 
one, focusing on little details is not the way to do architectural design.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-20 Thread Stefano Mazzocchi
Vadim Gritsenko wrote:
Sylvain Wallez wrote:
Mmhh... what if other parameters are also URIs?

If src attribute to be interpreted always as a Source object... We could 
add map:source as well:

  




...
  
[sound of stefano puking]
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-20 Thread Stefano Mazzocchi
Unico Hommes wrote:
I've often thought that the signature of the setup() method was wrong. 
The src parameter is passed as a String, the component is free to 
interpret it as anything it wishes. But I think this parameter was 
really only meant to ever be interpreted as a Source object. So instead 
of setup(SourceResolver resolver, Map om, String src, Parameters pars) 
the method should be setup(Source source, Map om, Parameters pars). That 
also unambiguously defines the meaning of the src attribute.
Amen. Too bad this is the most back-incompatible change you can think 
of. :-(

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-20 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Nicola Ken Barozzi wrote:
Forrest is using 2.2 too, so let's try to keep it stable as much as 
possible and in general do all the big changes on branches.
Why do Lenya and Forrest use 2.2? The Cocoon stable branch is *2.1* and 
trunk is the *development branch*, where we can break things. Other 
branches are playgrounds for more revolutionizing works.
Exactly my perception.
We should put back that WARNING sign that we use on alpha trees.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-20 Thread Stefano Mazzocchi
Nicola Ken Barozzi wrote:
Forrest is using 2.2 too, so let's try to keep it stable as much as 
possible and in general do all the big changes on branches.
Hmmm, I'm not sure if I like this.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-20 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 20/ott/04, alle 09:33, Carsten Ziegeler ha scritto:
Yes, it's stable now - the code could be optimized a little bit here
and there, but I would do this after we have the tests.
Are we targetting JDK 1.4 for this release? If so, can I change 
CascadingRuntimeException to RuntimeException?
+1 for targetting 1.4 for cocoon 2.2
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-20 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Carsten Ziegeler wrote:
Sylvain Wallez wrote:
 


Or maybe a good solution can be to combine both approaches: the 
sitemap engine will use the mini-processor approach, and component 
lookups (which are not that often used) lead to the creation of a 
simple wrapper object implementing the Java interface, but that 
doesn't care about caching as SWT and ZipArchiveSerializer don't care 
about it.


Yes, this sounds like a good compromise. I really think that
the usage of VPC should not be any different than using
"usual" pipeline components - it should be transparent.
I agree that looking up sitemap components outside of the
tree processor does really happen not very often, so
providing such a wrapper is the best way to go.
 

Cool, we found an efficient solution :-)
So, for implementation VPC the only missing piece is resolving
of relative sources, right?
 

Yep. Problem is that currently the "src" attribute is a raw string and 
so we don't absolutize URIs at the place where they're written but at 
the placed where they're used, i.e. potentially in another context.

So we can enforce the contract of "src", stating that it *is* a URI, and 
thus absolutized by the sitemap engine at statement execution time. We 
have to perform extended checks that no component uses it another way 
though. Or we could have a marker interface extending 
SitemapModelComponent that could be used to distinguish the component's 
expectations.

We also need an absolutizer input-module that allows people to 
absolutize URIs used in other attributes than "src". That works pretty 
well using the nested variables resolution we have now, e.g. 


WDYT?
h. let's try to keep it simple and stupid. Today we have
 
that means
 1) type="file" is implicit because it's the default generator for 
these pipelines

 2) "file.xml" is expanded to the local context of the pipeline 
(basically, where the sitemap.xml file is located).

Now, the question you pose is: what if the component needs to access a 
source of a VPC that is not local?

You won't.
It's wrong, IMO, that you have to know something about the resource 
internals of another block, it weakens the contract for no reason 
(because there should be no way for a block to expose its internal 
resources)

So, what if you have a transformer and the stylesheet is located in 
another block?

What you depend on its not the (transformer,stylesheet) couple but the 
(transformation) contract that is performed by these two working together.

So, instead of
 
you do
 
with no source.
What is left to describe is how we define how to go from "blah2html" to 
the actual implementation of that VPC.

Without thinking about intra-block communication, it would be as easy as 
defining a pipeline component as a pipeline fragment in the block 
sitemap (or in your own, if you want).

 
  
 
but how can another block access this?
Each block has a descriptor that identifies:
 1) the URI of the block
 2) the names of the VPC that it exposes
the names of the VPC that it requires can be inferred from the sitemap 
and therefore don't need to be listed explicitly there ( to avoid 
duplication of effort and synch issues).

So, what if the VPC is defined in another block? You do:
 
and the sitemap will transform will know how to get it because, at 
deployment time that "skin" prefix will have been wired to the 
appropriate block URI and therefore the sitemap component manager will 
be able to identify it univocaly.

Now, look at this:
MyBlock depends on Block http://apache.org/cocoon/wiki/1.0 and reference 
it locally as "wiki" and contains the following in one of its pipelines:

 
at deployment time, we have wired that dependency to block 
http://blah.org/myblocks/mywiki that implements 
http://apache.org/cocoon/wiki/1.0 and therefore exposes the following in 
its sitemap

 
  
  
 
 
WDYT?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the 'Real Blocks' issue

2004-10-20 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
On Wednesday 20 October 2004 16:23, Antonio Gallardo wrote:

I knew about that. But again the balance would a hard task: Xalan and
Xerces need to move to JAXP 1.3. I already saw the post on the xml-commons
list.

What surprises me about it is that the source of the problem isn't educated 
about the problem of re-using the same interfaces. Why was it so hard for 
them to call it org.w3c.dom3.* ? Sounds to me that those who decide never use 
XML in Java.
very likely to be the case, DOM was created for client side javascript.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-20 Thread Stefano Mazzocchi
Andreas Hartmann wrote:
Carsten Ziegeler wrote:
Andreas Hartmann wrote:
Carsten Ziegeler wrote:
Yes, it's stable now

[...]
I really hope so :)
We're about to switch to 2.2 for Lenya-dev, so be prepared that I'll 
get on your nerves when something does not work anymore ...

See my reply to that :) - now 2.2 is in development (alpha) state
so be prepared that things might not work for a longer period of time.

Lenya 1.4 is in alpha state too, so they make a perfect couple :)
OK, I guess at the moment we can't estimate how big the impact
of future changes will be. Actually I'd like to hear Stefanos
opinion on this topic, as he used to care about the cooperation
of the Cocoon and Lenya communities and suggested to do continuous
integration (which is a good thing IMO).
Gump will do continous integration for you, don't worry about that.
Lenya should focus in fixing his own defects first.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: ECM++

2004-10-20 Thread Stefano Mazzocchi
Andreas Hartmann wrote:
Carsten Ziegeler wrote:
Yes, it's stable now

[...]
I really hope so :)
We're about to switch to 2.2 for Lenya-dev, so be prepared
that I'll get on your nerves when something does not work
anymore ...
Andreas, I *strongly* suggest that you keep off until we are at least in 
beta state. Or, if you don't, I *even more strongly* suggest you that 
you don't complain if things change under your feet.

Alpha here means "contracts are unstable and rightly so".
You have been warned.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the 'Real Blocks' issue

2004-10-19 Thread Stefano Mazzocchi
Ralph Goers wrote:
Antonio,
This subject has come up many times.  I'll restate what I've always said.
If we must release a snapshot jar then the source that was used to build
it must be available for download from Cocoon's website, or another
documented location (i.e. cocoondev, ibiblio, etc.).   I've had too much
trouble in the past trying to track down the source for snapshots.  This
is not an issue for formally released dependencies because almost all of
them release a source package that matches their binary package.
Ehm, sorry, but as long as the CVS repository is public, I see no need 
for this.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [ANN] www.nouvo.ch runs on Cocoon!

2004-10-19 Thread Stefano Mazzocchi
Giacomo Pati wrote:
On Tue, 28 Sep 2004, Bertrand Delacretaz wrote:
Le 28 sept. 04, à 04:12, Stefano Mazzocchi a écrit :
Bertrand Delacretaz wrote:
...The performance part comes mainly from the front-end apache2 
mod_cache. Simply adding the right HTTP headers and making sure the 
content-length header is generated as well (by setting the buffering 
flag on the HTML serializer) allows the front -end cache to do its 
job very nicely.

uh, I might have missed that part!!! would be cool if you could 
document that.

I'll describe this on the wiki, but basically it's only a case of 
adding the "Last-Modified"; "Expires" and "Cache-Control" headers to 
the response:

final long lastModTime = document.lastModified().getTime();
final long expires = System.currentTimeMillis() + 
(cacheForHowMaySeconds * 1000L);

resp.addDateHeader(LAST_MOD_HEADER,lastModTime);
resp.addDateHeader(EXPIRES_HEADER,expires);
resp.addHeader(CACHE_CONTROL_HEADER,"max-age="+ cacheForHowMaySeconds);
And creating an HtmlSerializer where shouldSetContentLength() returns 
true (we should make this configurable BTW).
Wouldn't mod_header and mod_cache be able to do that for you?
Oh, look! Giacomo is still alive! :-)
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-19 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Stefano Mazzocchi wrote:

and this solves *ALSO* the issue that was identified at the GT about 
"virtual pipeline components" resolving services locally or remotely 
(block-wise).
The current problem with VPCs is the context in which relative URIs must 
be resolved. We have not found a good solution for this as that depends 
on the point of view that is considered. What we're missing actually is 
the notion of "typed parameter" that would allow us to absolutize a URI 
at the closest point where we can determine that it is a URI and not a 
raw string.
In the syntax I proposed, the uri="" becomes the identifier for the 
service (thru relative to the block that exposes the service) and the 
src="" becomes the identifier for the instructions for the service (thus 
relative to the block that requires the service).

I think this solves the issue.
it would finally introduce a real "pipeline level" polimorphism that 
will allow the creation of real blocks.
Ok, I understand all this and actually this is nothing new compared to 
what's already been discussed regarding pipeline services, blocks and 
virtual sitemap components. Just that we forgot a bit with all the 
classloader shielding and pojo stuff what the actual goal was.
Right, nothing new, but a formalization of why the generator/@src is so 
different from transformer/@src.

But still, I don't understand the pattern in "name" in . Does this mean you create a whole space of 
transformation services, i.e. blah/a, blah/b, blah/c, etc? IMO, the 
service names must be a discrete enumeration, i.e.
 http://my/blah/pipeline/service/uri"/>
I thought more about it and I agree, there is no need to introduce token 
expansion at the service identification level, so discard that.

Actually, I don't see much difference between pipeline services and 
VPCs: pipeline services may simply be the generalization of VPCs looked 
up in the current sitemap, ancestor sitemaps or remote blocks ("remote" 
meaning in a different block and not on a remote machine).
Correct.
Now, since you are the TreeProcessor guru, how do we implement this? :-D
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: latest Moin

2004-10-19 Thread Stefano Mazzocchi
Upayavira wrote:
I'm probably going to live to regret this, but...
I've just installed the latest Moin wiki for one of my own projects. I 
found a rather more pretty 'right site bar' theme. Just out of 
curiosity, I put the content of the Cocoon wiki into it. You can see it 
at wiki.odoko.co.uk/cocoon

(Note, I won't be leaving that URL active for that long, just offering 
it as an temporary preview).

If you like it, maybe it will enthuse you to help the infrastructure 
group upgrade the Apache wiki farm to use the latest Moin. We could then 
use this theme instead.

Hmm.
+100
I sooo hate the current wiki style.
--
Stefano, who plans to prettyfy that even more if we do...


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-19 Thread Stefano Mazzocchi
Ugo Cei wrote:
Pier Fumagalli wrote:
The serializers in XALAN are just _VERY_ broken... Why don't we switch 
the default to work on the serializers block? At least it's a 
simple-enough code that we can't fix without too much hassle.
I'm sure you meant "can" instead of "can't" ;-) but anyway, here's my +1.
FYI, as of few days ago, xalan factored out the serializers from their 
main jar file (I know this because they broke 70% of the gump tree in 
doing so ;-)

my +1 on using our own serializers.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-18 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Stefano Mazzocchi wrote:
Pier made me realize that there are 3 different issues on the table 
regarding real blocks:

 1) classloading isolation
 2) pojoification
 3) service isolation
and, interestingly enough, they are orthogonal.
Tani was born to prototype 1.
Butterfly was born to prototype 2.
But what I really care is 3!!! and Pier made me realize that you don't 
need to have neither 1 nor 2 to achieve 3!!!

The key is *very* subdle and, in fact, was hard for me to realize before.
Let me show you with an example:
 
 ...
 
This design is 5 years old and does *THIS* really mean? it means that 
the sitemap will lookup a "component" identified by a "class" cast it 
to the functional group (in this case, a transformer), reference it 
with its local name and used with further parameters (the src="").

Now, look at this
 http://apache.org/blah/Blah"/>
   
 

Can you elaborate on this syntax? This reminds me of the pipeline 
services we discussed about 2 years ago [1] (wow, already? Time goes 
fast!), but I don't understand the pattern in the transformer name 
(blah/*).

Sylvain
[1] http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=103787313407324&w=2
There was always something that bothered me about the differnce between 
a generator/transformer and a serializer. the first two had the src="" 
attribute and the other ones did not.

Moreover, the "fo2pdf" serializers never existed. It was a "Serializer" 
that was identifying the "shape of the java class" and the 
"FopSerializer" that was identifying the implementation of that class, 
but there was never anything that defined the "service" that made 
iTextSerializer and FopSerializer interchangeable.

It made me realize how the use of java classes as identifiers for the 
service behaviors is limited! And it's also the reason why cocoon block 
are not avalon blocks on steroids, but are entirely different things.

So, what's with the above?
There are two types of transformers: compiled and interpreted. for XSLT 
transformations we have both: xalan and xsltc. But what's the similarity 
between the two?

 
is really saying:
 transform the sax stream using the logic contained in the 
news2html.xslt stylesheet.

but then
 
could mean *exactly* the same, where the news2html file was 
"precompiled" into a xsltc translet, and here just identified.

But there is more, the above could well be
 
All represent the *same exact* pipeline service and, in principle, it 
should not be your concern on how this service is implemented, and not 
even *which* block exposes it!

Now, let's get to another thing that always bothered me:
 1) generator src="" -> "what"/"how"
 2) transformer src="" -> "how"
 3) serializer -> none
the use of the src="" attribute makes sense in generators but doesn't 
really make sense in transformers. and in generators, in fact, it's 
nothing more than a parameter that is passed to the generator. Unless, 
ofcourse, the generator is a server page generator, so the src="" 
represent the "what" for the component and the "how" for the pipeline.

What does all this mean?
when you say
 
 
 
you are really stating something like
 http://cocoon.apache.org/services/generation/File"; 
src="blah.xml"/>
 http://cocoon.apache.org/services/transformation/blah2html"/>
 http://cocoon.apache.org/services/serialization/html"/>

and this solves *ALSO* the issue that was identified at the GT about 
"virtual pipeline components" resolving services locally or remotely 
(block-wise).

   - o -
In short: we use the avalon component model for the sitemap machinery 
and that heavily influenced its design. Pojoification is one thing, but 
servification of the pipeline machinery would allow a *far* better reuse 
of pipeline services, implemented both as compiled components, 
interpreted components or virtual components.

*AND*
last but not least,
it would finally introduce a real "pipeline level" polimorphism that 
will allow the creation of real blocks.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] applying SoC on cocoon itself

2004-10-18 Thread Stefano Mazzocchi
Ralph Goers wrote:
Is what you said below correct? or did you really intend
http://apache.org/blah/Blah"/>
   

I stand corrected.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: problems starting 2.1.6-dev

2004-10-18 Thread Stefano Mazzocchi
Dirk-Willem van Gulik wrote:
On Mon, 18 Oct 2004, Stefano Mazzocchi wrote:

What does this translate to java? Pretty simple, in fact: if you import
a class is fine, if you implement an interface is not.

Let me resend them a msg of a few weeks, months now ago, (to their ED
Bradley Kun and their Compliance Office David Turner).
Dave Turner came out kind of saying the above; but then retracted it again
later in a 'confirmation' of sorts.
Now, whether or not the board digests this is yet another issue and I'm
going to find out soon.
I'll try to give them a call before that.
thanks, Dirk!
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: problems starting 2.1.6-dev

2004-10-18 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Stefano Mazzocchi wrote:
Sylvain Wallez wrote:
Instead of creating yet-another-small-project at cocoondev.org (like 
my own CVSSource), what about creating a general-purpose project that 
would host all interesting cocoon-releated things we cannot host at 
the ASF because of license problems?
What about lobbying about changing the silly LGPL allergy that the ASF 
has instead? Being a director might help at times, you know, that's 
what your (member's) votes were for ;-)
Well, Mr Director, IIRC there's a board meeting tomorrow. 
Wednesday.
Should this subject be added to the agenda?
In fact, I'm going to.
The problem also is that the solution to this problem doesn't depend 
only on the ASF, but also on the FSF which is the mighty priest that 
gives the interpretation of the holy license texts.
Not really. It's neither the FSF nor the ASF that decide if a license 
contract is valid or not, it's a judge, in court. In lack of that, each 
one has its own opinion.

My opinion is that the spirit of the LGPL was that "if you add 
functionality to the library, then you should give it back, if you just 
use the library, your code doesn't have to".

What does this translate to java? Pretty simple, in fact: if you import 
a class is fine, if you implement an interface is not.

I would like to change the ASF policy toward the LGPL saying that 
"importing is ok, implementing is not". That means that if you 
implement, your code has to be LGPL, then you can import that. The 
spirit of the LGPL is maintained and the FSF will not have a problem 
with it, IMO.

Now, whether or not the board digests this is yet another issue and I'm 
going to find out soon.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


[RT] applying SoC on cocoon itself

2004-10-18 Thread Stefano Mazzocchi
Pier made me realize that there are 3 different issues on the table 
regarding real blocks:

 1) classloading isolation
 2) pojoification
 3) service isolation
and, interestingly enough, they are orthogonal.
Tani was born to prototype 1.
Butterfly was born to prototype 2.
But what I really care is 3!!! and Pier made me realize that you don't 
need to have neither 1 nor 2 to achieve 3!!!

The key is *very* subdle and, in fact, was hard for me to realize before.
Let me show you with an example:
 
 ...
 
This design is 5 years old and does *THIS* really mean? it means that 
the sitemap will lookup a "component" identified by a "class" cast it to 
the functional group (in this case, a transformer), reference it with 
its local name and used with further parameters (the src="").

Now, look at this
 http://apache.org/blah/Blah"/>
   
 
 ...
 
what does *this* mean?
 1) the sitemap requires a service
 2) the service is located
 3) the service is used
Note that:
 1) no concept of class or interface or role is used.
 2) the two syntaxes are "functionally equivalent", but *ONLY* at a 
local level

  - o -
In short: what I wanted to achieve with real blocks was service isolation.
  Block A requires Service 1 that is described by Block Interface Z and 
exposed by Block B.

Virtual Pipeline components were the first examples of "non java" 
services. (well, ultimately everything ends up being a java class, but 
from a semantic point of view doesn't have to be).

Do we need classloader isolation for the above? NO!!!
So here is my proposal for Cocoon 2.2
 1) fully incremental transition (that's why I welcome Carsten's ECM++ 
solution)

 2) addition of the uri="" attribute to the sitemap component 
descriptors to indicate the "new URI-based lookup behavior", if the 
class="" attribute is used, then it's completely back compatible

 3) implementation of a single-classloader service lookup manager built 
in the sitemap, using the above syntax (the uri="" attribute in the 
component section will trigger the deprecation of the src="" attribute 
in the pipeline section")

 4) implementation of service-based real blocks
The advantages are:
 - fully reversible approach (no back incompatibility, no need to 
rewriting existing code)
 - implementation of polymorphic application level functional units 
(real blocks) as collection of services.
 - started the de-avalonization of the sitemap semantics
 - initiated a smooth migration path toward a service-based 
interpretation of the pipelines that would ease the introduction of 
virtual components

So, what do we lose by not having classloading independence?
 1) hot rewriting (the ability to change an existing service 
implementation at runtime)
 2) class versioning (the ability to have two versions of the same 
exact class running in the same workspace)

I have been blinded by the elegance of 2) for so long that I thought 
that it was somehow a requirement, but the need in real life is yet to 
be demonstrated.

So, as I have indicated, I indent to start working on this transition 
*WITHOUT* interfering with the intra-block or inter-block component 
lookup mechanism, since they are orthogonal.

Comments?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Building ECM++ for 2.2

2004-10-18 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
The following idea came to my mind during the weekend. All the
recent discussions about a new core/container etc. show that
a possible future version of Cocoon will have a different
component handling than we have now.
One major concern for me is compatibility. It would be bad
if someone had to rewrite his complete application just to
update from one version of Cocoon to another. I guess we
all agree on this. Now reaching this goal can be done
from two sides:
a) The new version can have a compatibility layer.
b) We can provide a smooth transition from version to version.
It would be ideal if we would have both. But with a compatibility 
layer people tend to just use it without migrating their app.

I wondered what we can do to build a better transition and
to get users moving away from our current approach to a 
newer version. A possible way would be to make minor improvements
or modifications from version to version until we reach our
goal. This could e.g. be done by building ECM++ for Cocoon 2.2.

The basic idea is to build an own version of ECM, which is:
grabbing the current ECM code, removing everything we don't
need and build a complete container in Cocoon that provides
the minimum functionality.
This would be:
- using the same configuration (roles and xconf)
- provide support of the following avalon based interfaces:
  LogEnabled, Contextualizable, Parameterizable, Configurable,
  Serviceable, Disposable, Initializable, Startable
What could be the benefit of this? 
- no support for Composable, Component etc. anymore (so no
  proxies and wired wrapping anymore).
- no LogKitManagable, RoleManager support etc.
- no Instrumentation support - we could our own instrumentation (JMX?)
- All the code for this container would be ours - only the marker
  interfaces are of course from Avalon.
- We could easily add new features, like the selector handling
  or the DI from Fortress. Using Fortress is imho out of question
  as it does rely on too many third party code.

By having our own container implementation we could add any support
that we think that makes sense for providing a smooth migration path - 
whereever this path ends :)

Now, doing this is fairly easy; it requires just a bunch of code
and would reduce our depencies while giving us more flexibility.
I just started with this approach and could finish it in the next days
if people think it is worth going this way. It would give 2.2 more meat
as well.
But perhaps this idea is totally foolish?
Thoughts? Comments?
+1000!
the reasons to follow up right after in another RT
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: problems starting 2.1.6-dev

2004-10-18 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
On Monday 18 October 2004 15:14, Ugo Cei wrote:

Really? My understanding of this is that the issue is still open:

"As FSF has not yet clarified/answered questions with regard to this,
nor has the LGPL been updated to clarify such - the murkyness around
this makes us do the 'safe' thing; which is to avoid it for the time
beeing."
http://nagoya.apache.org/wiki/apachewiki.cgi?Licensing

I haven't checked the 'freshness' of those comments, but
   http://article.gmane.org/gmane.comp.jakarta.poi.devel/5900
seems to give closure, at least until it reaches the courts.
That is ACO's interpretation of somebody's comment from the FSF, neither 
the ASF nor the FSF came to a resolution about it.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: problems starting 2.1.6-dev

2004-10-18 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
On Monday 18 October 2004 04:17, Ugo Cei wrote:

No one has ever demonstrated that doing an "import" on classes that are
under the LGPL obliges you to license your code under the (L)GPL. 

The FSF and ASF legal counsel have both said it does.
This is not correct. Some ASF people indicate it's the case, and the FSF 
never said "yes or no" about it.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: problems starting 2.1.6-dev

2004-10-18 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Instead of creating yet-another-small-project at cocoondev.org (like my 
own CVSSource), what about creating a general-purpose project that would 
host all interesting cocoon-releated things we cannot host at the ASF 
because of license problems?
What about lobbying about changing the silly LGPL allergy that the ASF 
has instead? Being a director might help at times, you know, that's what 
your (member's) votes were for ;-)

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-18 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
On Saturday 16 October 2004 04:55, Stefano Mazzocchi wrote:

Because they have been around forever *AND* they don't change their
contracts overnight. 

Your talk is not entirely reflected by the actions of the community. I just 
did a svn up on the 2.1 branch;

A  lib/endorsed/xalan-2.6.1-dev-20041008T0304.jar
D  lib/endorsed/xalan-2.6.0.jar
Why does the 2.1 branch require a timestamped/snapshot version of Xalan, if 
everything is so fine and dandy with it?
Damn, I am *NOT*. I missed that. We must not depend on timestamped jars 
for such important dependencies.

Antonio?
Antonio makes the following motivation in the commit message;
"Update xalan to 2.6.1-dev-20041008T0304"
Yeah, that's useless. 
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-15 Thread Stefano Mazzocchi
Hunsberger, Peter wrote:
Umm, I don't really see a pattern here.  From everything I've seen the
communities involved with Spring and Geronimo have little in common with
the Avalon/Excalibur communities. (Let me qualify that by saying I
haven't looked that closely.) More-over, they both have the advantage of
being able to look at past history and learn from it.  
I need a *record* of stability, the attitude is not enough, I'm sorry.
History should teach people not to repeat the same mistakes 
again... but hey, what do I know, I've only been around here for 7
years.
Many people have learned many things both technically and community wise
in the past 7 years. If it is really this bad why aren't we writing our
own XML parsers and XSLT engines? 
Because they have been around forever *AND* they don't change their 
contracts overnight. Example: xalan2 broke 25% of the gump build last 
night, it was solved after a few hours.

After all they are as critical to
Cocoon as the containers.  Why not take it all the way and write our own
JVM?
FYI, I spent the last day making sure that gump runs against Kaffe and 
GNU classpath to see how far away we are in that regard.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-15 Thread Stefano Mazzocchi
Hunsberger, Peter wrote:
> Maybe I'm
just too optimistic in believing there should be container
implementations mature enough for Cocoon to depend on?
What *really* bothers me about this thread is the fact that very few 
seem to realize that "maturity" for dependencies means "stability of the 
contract and stability of the community".

Avalon is dead.
Excalibur is asleep.
Spring is outside the ASF.
Geronimo is still incubating.
Can you see the pattern?
History should teach people not to repeat the same mistakes again... but 
hey, what do I know, I've only been around here for 7 years.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: GT2004 was brilliant

2004-10-15 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 15/ott/04, alle 12:04, Gianugo Rabellino ha scritto:
Any chance you can "just" iDVD it for now with just separate chapters
per session? I know this would mean a hefty download, but isn't this
why bittorrent is there? Others then might jump in and postproduce the
sessions. But I would certainly like having DVD quality video for the
GT.
I would certainly like this better that last year's videos, whose 
quality was certainly not optimal for, say, projecting them on a large 
screen to your office colleagues (this is not to blame Stefano, who 
probably did the best possible job, given the desired compression levels).

I am just wondering: will we be able to fit everything in a single DVD?
forget it. Last year I had 4 DV tapes for a total of 40Gb. Cut here and 
there and you get 30Gb, reduce quality and framerate by two and you 
might get to 10Gb, but not sure about how presentable it would be.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-14 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 14/ott/04, alle 18:09, Vadim Gritsenko ha scritto:
Other question I have is what we are going to do with the component  
base we developed and depend on which currently resides in excalibur  
repository. Should those be copied into Cocoon repository (and  
springified as needed?)?

Things like the SourceResolver, you mean? I have already "springified"  
it and put it (or at least a simplified version of it) here:  
http://svn.apache.org/repos/asf/cocoon/whiteboard/butterfly/src/java/ 
org/apache/butterfly/source/

Actually, I don't like the term "springified". I'd rather say  
POJO-ified, since it has just one dependency upon Spring's  
ApplicationContext (which is needed to resolve paths relative to a  
context's base directory). Maybe there's a way to eliminate even that  
one, but I just did the simplest possible implementation.

This is also meant as a response to Stefano's concerns about depending  
on an alien framework. Once again, I am trying to show that, once you  
have swallowed the Dependency-Injection kool-aid, your components have  
very limited dependencies on the framework, or even none at all. So we  
can design generators, transformers, serializers, etc. that can be  
deployed _today_ in any existing DI container, and tomorrow in our own  
container that is designed specifically and optimized for our needs,  
without rewriting a single line of code! If you take a look at the  
sitemap components that are now in Butterfly, you will find exactly  
ZERO dependencies on Spring. And they work, even if in a simplified  
scenario, but you can get a fscking HTML response from the Butterfly  
servlet using a generator-transformer-serializer pipeline NOW.  
Admittedly, it's more of a proof of concept than a usable thing  
(there's no caching, no sitemap processor, etc.) but it shows it can be  
done.

I could have started by doing my own container (after all, it's not  
rocket science, right?) and today I would be nowhere near where I am,  
given the copious free time I have available. Or I could have used the  
best DI container around and got some real work done. What would have  
you done in my place?
All right, do-ocracy wins.
Now, let's make it happen.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-14 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 14/ott/04, alle 16:50, Stefano Mazzocchi ha scritto:
real block kernel and Rickard Oberg's AOP framework, this would be 
modern.
Too bad he has not open-sourced it yet, or has he?
No, and he will not.
But the ideas are available and implementation doesn't scare me.
My point remains: we've been burned too much before already in depending 
on frameworks we don't control.

I still think it would be better to write our own entirely from scratch.
Want to use ideas for Spring? sure, bring them on, but depending on it 
is asking for trouble.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-14 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
Vadim Gritsenko wrote:

Personally, I'd favor Avalon support for chosen container. As Ralph 
noted, and he is not alone, people like Avalon, and we should support 
it for years to come.
Well, people will like DI containers once they start using them :-)
DI is 1% of the original avalon idea. In fact, the only thing that was 
injected were the configurations and the component manager (than people 
saw that and not the real power of simple aspect orientation and Fowler 
made it big misnaming it).

Technologically speaking, I still believe that the original 
block+component avalon model is far superior to a silly DI pattern.

real block kernel and Rickard Oberg's AOP framework, this would be modern.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-14 Thread Stefano Mazzocchi
Vadim Gritsenko wrote:
Stefano Mazzocchi wrote:
Cocoon undergo phase transition when moving from 1.x to 2.x.
Are we doing it again?
The question on the table is: we *NEED* better class discovery and 
classloading isolation. This is a must, just like the need for SAX 
pipelines drove 2.x away from 1.x in a non-incremental way (phase 
transition, as I said).

Can we implement classloading isolation with incrementally modifying 
what we already have?

 From the descriptions sent by Ugo and Sylvain, they both agree that 
"kernel container" is something completely different than "intra-block 
container", which means that it should be implemented on top of existing 
Cocoon codebase as loader and manager of intra-containers regardless of 
particular technology used for implement intra-container (ECM, Spring, 
shell script...)

So me feeling here is that these are two separate threads;
 * Steps to implement "kernel container".
   Pier made the first step already.
 * Directions for improvement "intra container".
   One decision we made recently was (finish) the move to Fortress.
We can back up from that commitment and choose different target, be it 
Nano/Pico/Merlin/etc, but it should be independent of kernel container, 
so we can do that in parallel tracks.

And one more discussion thread is needed, about roadmap for 2.1 branch, 
2.2 branch, and possibly 2.3. Cocoon 2.2 is a good place to introduce 
fortress, and Cocoon 2.3 can have other intra-container implementations, 
whatever we choose.
Vadim, let me be crystal clear: I DO NOT want to depend on fortress!
I've been trying to get that fucking thing working and it depends on 
things that Berin has on d-haven.org and only *HE* maintains.

We didn't want Merlin because it was a one man show, but Fortress is way 
more of a one man show that Merlin is (at least Merlin compiles in gump, 
)

I have great respect for the people involved, but they are not a 
community, they are a bunch of avalon refugees and that's the only thing 
that unifies them.

Depending more on avalon/merlin/excalibur will just hurt us more.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [RT] Some notes about the "Real Blocks" issue

2004-10-14 Thread Stefano Mazzocchi
Niclas Hedhman wrote:
Being a die-hard Avalon supporter, I am all in favour of progress, but for the 
right reasons. Swapping ECM/Fortress for Spring/Pico doesn't change anything 
fundamentally. Only creates a lot of work for no immediate benefit.
The real challenge as someone pointed out, is the classloading management to 
support "real blocks". THAT is worth an effort, all IMHO of course.
Niclas,
let me suggest you to consider something that nobody else will 
explicitly say but "we are sick of avalon".

It doesn't matter how good it is, fortress, merlin, metro, you name it. 
It hurts. It's fragile.

Look at ant, xerces, xalan! Those are things you can count on. You 
*know* how painful it is to make excalibur running, how fragmented and 
careless the entire avalon community is.

Avalon = pain
ask around: james, the incubated directory project, even fulcrum. Ask 
them about avalon and they reply "if I knew then what I know now! :-(" 
[had this conversation, again, no longer than yesterday!]

Nicola, former PMC chair of avalon wrong "avalon must die!"
What else do you want? it's not a matter of cleaning up ECM, we want 
avalon to be considered legacy, we want to move away from it.

I don't know if Spring will be better, that's why I much rather would 
want to invent our own that to depend on somebody elses (writing a 
dep-inj container is piece of cake, c'mon)

it's not technology, it's psychology.
we have reached one of those "phase transitions" since avalon's 
interfaces for component lookup don't support the needs for real blocks.

mix the "sick and tired of avalon"-ness and you get an increase of 
entropy and an irreversible state transition but this community is 
strong, healthy, diverse and yet united on the move (even more so after 
the GT) so I see no problems, not for the project nor for the users.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Daisy as CMS: why don't use JDO?

2004-10-14 Thread Stefano Mazzocchi
Luca Garulli wrote:
bye,
Luca Garulli
OrienTechnologies.com
(the light ODBMS, all in one JDO solution)
Luca,
as we can infer from your signature, you are not exactly the most 
neutral person to judge about this particular technology JDO.

> Sorry but I didn't want to start a flame..
Get real.
There are a "million" standards for data access and one pretends to be 
the last solution for the portability project. First was SQL, then ODBC, 
then JDBC, then ODMG, now JDO.

Let me tell you something: look around. look at the cocoon codebase. we 
use what we need, not because it's standard, but because it fits our 
needs. And went the "standard" doesn't, we implement our own, or we tune 
it down for our needs.

People, on the other hand, how *STUPID* it is to fight about technology, 
eh? Luca wants to use JDO, great, let him be happy with it.

Luca, why daisy doesn't use JDO? because it doesn't. period. no much 
more to add.

You want daisy to use JDO? submit code instead of evangelizing.
Besides: what the heck does this list has to do with Daisy anyway?
--
Stefano, who's sick of standard evangelization big time!


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Daisy as CMS: why don't use JDO?

2004-10-13 Thread Stefano Mazzocchi
Luca Garulli wrote:
I don't speak about product preference. I'm talking of STANDARD. JDO
is a STANDARD.
Oh, yes, standards are wonderful: there are so many to chose from
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Laszlo goes opensource: rich clients in Flash with Cocoon?

2004-10-06 Thread Stefano Mazzocchi
Sylvain Wallez wrote:
This has been blogged here and there: Laszlo [1], a servlet-based 
platform to produce rich clients in Flash from XML+javascript 
descriptions has gone opensource yesterday.

I invite you to have a look at the demos, and try out the one called 
"XML editor" where you can put your hands on what looks like a really 
nice thing.

As Bertrand says [2] "the first person to write a Cocoon serializer and 
samples for Laszlo gets a very large glass of their favorite drink".

Hurry up!
Sylvain
[1] http://www.openlaszlo.org/
[2] http://codeconsult.ch/bertrand/archives/000380.html
all right, what about
http://www.laszlosystems.com/lps/examples/components/style_example.lzo?lzt=html
for CForms anyone?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Interesting on Servlet

2004-09-28 Thread Stefano Mazzocchi
Pier Fumagalli wrote:
http://www.mortbay.com/MB/log/gregw/?permalink=servletNG.html
Pier
wow, what do you think it would take to create a CocoonServletNG?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Wiki woes [Was: Re: FIXME in IncludeTransformer [Was: Re: Adding Files to Subversion]]

2004-09-28 Thread Stefano Mazzocchi
Steven Noels wrote:
On 28 Sep 2004, at 10:39, Pier Fumagalli wrote:
Thanks, that I didn't know... Since the WIKI moved off to that 
MoinMoin crap, I seriously tend to ignore it a lot more...

For somehow who maintained the previous Wiki for two years, and 
reluctantly gave up after the daily reboots of JSPWiki became too much 
nuisance, but also due to some pressure that the "official ASF Cocoon 
Wiki" should be hosted on ASF equipment, that's tough to hear.

Even more so, since we have made a JSPWiki importer for Daisy - and at 
one stage had the entire Cocoon Wiki running inside Daisy for load and 
volume testing purposes. :-/
I have to agree with Pier. I'm a picky bastard in term of style: it the 
thing is not readable, I won't read it and moinmoin looks too different 
from the rest.

The lenya people now will have to manage their own site and I injected 
to notion that having a lenya-managed web site would be great.

I wish I can see the day we won't need a wiki anymore.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [ANN] www.nouvo.ch runs on Cocoon!

2004-09-27 Thread Stefano Mazzocchi
Bertrand Delacretaz wrote:
Le 28 sept. 04, à 04:12, Stefano Mazzocchi a écrit :
Bertrand Delacretaz wrote:
...The performance part comes mainly from the front-end apache2 
mod_cache. Simply adding the right HTTP headers and making sure the 
content-length header is generated as well (by setting the buffering 
flag on the HTML serializer) allows the front -end cache to do its 
job very nicely.

uh, I might have missed that part!!! would be cool if you could 
document that.

I'll describe this on the wiki, but basically it's only a case of adding 
the "Last-Modified"; "Expires" and "Cache-Control" headers to the response:

  final long lastModTime = document.lastModified().getTime();
  final long expires = System.currentTimeMillis() + 
(cacheForHowMaySeconds * 1000L);

  resp.addDateHeader(LAST_MOD_HEADER,lastModTime);
  resp.addDateHeader(EXPIRES_HEADER,expires);
  resp.addHeader(CACHE_CONTROL_HEADER,"max-age="+ cacheForHowMaySeconds);
And creating an HtmlSerializer where shouldSetContentLength() returns 
true (we should make this configurable BTW).
Definately.
Also, the above seems to imply that you are writing your own generators? 
or are you using XSP or what?

Also, we've been very careful to keep the whole thing stateless for 
"public" visitors. There are a few drawbacks but it allows cached pages 
to be shared between all visitors. Registering visitors and putting 
their names on pages, for example, would make a big performance 
difference in heavy traffic.
One approach that I recently thought to fix that is 'client-side 
templating': basically you render the page with a bunch of empty  
or  tags with a specific ID, then you just link a javascript file 
that gets called with  which calls a method that 
sustributes all those tags with the right content, so the only 
user-specific part of your page is the javascript file that can be much 
faster to generate that the entire page (and can be completely stateful)

...What pipeline flavor are you using? what XSLT transformer?

Plain old caching pipelines, and saxon 8. I switched to saxon mostly 
because of the better error messages that it generates, didn't do any 
serious performance testing.
ok
...I would have liked 50/2 better, it would have allowed me to ask for 
50 and maybe get a summary of the episode.
hmm...this sounds fairly right - maybe we worked a bit too fast too 
think sanely about everything ;-)
eheh
Actually http://www.nouvo.ch/50 does return a summary, as in that case 
there is a "50" document to keep the articles of that show together, but 
I see your point.

...having / instead of - wouldn't have increased your URL size ;-)

Now you're turning the knife in the wounds ;-)
So this will probably stay as the-website-with-the-funny-URIs...no big 
deal.
:-D
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [ANN] www.nouvo.ch runs on Cocoon!

2004-09-27 Thread Stefano Mazzocchi
Bertrand Delacretaz wrote:
Le 27 sept. 04, à 09:12, Andreas Hartmann a écrit :
...Congratulations, it's a nice site and really fast!
Are you allowed to talk about the implementation?

Thanks - sure I can talk, in fact I hope to be able to donate some 
components to Cocoon. 'll know more when the project is actually closed, 
which will take a few weeks: as you can see we had to cut a few corners 
to meet Saturdays deadline:

  $ find . -type f | grep -v CVS | xargs grep TODO | wc -l
   289
The performance part comes mainly from the front-end apache2 mod_cache. 
Simply adding the right HTTP headers and making sure the content-length 
header is generated as well (by setting the buffering flag on the HTML 
serializer) allows the front -end cache to do its job very nicely.
uh, I might have missed that part!!! would be cool if you could document 
that.

This is what allows us to reach the 800 pages/second mark (tested from 
localhost, so theoretical, but still a nice figure) on this fairly fast 
Dell dual 3.6GHz server. It's got 2 GB of RAM and the JVM is configured 
to use 512MB, but runs nicely with much less on test servers.

On a cache miss, Cocoon needs about 500msec to generate a page, not bad 
considering that there are several aggregations, at least two CInclude 
stages and maybe 10 (mostly simple) XSLT transforms on the way. 
What pipeline flavor are you using? what XSLT transformer?
Currently we have put a fairly low caching lifetime on pages (30 seconds 
only) as it was more convenient for initial testing, but we can easily 
raise it without stopping the system, should the need arise.

The database is a plain MySQL, out of the box, and on that side the OJB 
object cache handles the typical "write seldom, read often" usage 
pattern very nicely.

The only thing I don't like on the first glance is the URI scheme :)

Why? You don't like it flat?
me neither, actually.
Document names like 50-2 deserve an explanation though: the TV show is 
organized by show number, so 50-2 means "the second subject of show 50".
yes, got that, but I would have liked 50/2 better, it would have allowed 
me to ask for 50 and maybe get a summary of the episode.

Having short names is also a plus when you need to put URLs on TV, as in 
that case the show is very short (about 8 minutes) and its main goal is 
to bring people on the website, so they put the URLs on screen during 
the show.
having / instead of - wouldn't have increased your URL size ;-)
--
Stefano, the URI PITA ;-)


smime.p7s
Description: S/MIME Cryptographic Signature


Re: JSF CarStore Sample

2004-09-17 Thread Stefano Mazzocchi
Steven Noels wrote:
On 17 Sep 2004, at 12:56, Vadim Gritsenko wrote:
 You acknowledge that this software is not designed, licensed or
 intended for use in the design, construction, operation or
 maintenance of any nuclear facility.
-->
Just want to confirm, we can not add this carstore sample to the 
Cocoon's Faces block, right? Or we do have some option here?

This is just BSD-style-with-required-credits with the nuclear thing 
added. I wouldn't be bothered too much with it - it's at the discretion 
of the nuclear end-user to acknowledge the fact that this demo is going 
to melt his core.
I would ask licensing@ first, though.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Rhino from mozilla.org and continuations

2004-09-15 Thread Stefano Mazzocchi
Igor Bukanov wrote:
Hi!
http://bugzilla.mozilla.org/show_bug.cgi?id=258844 contains a working 
patch against Rhino CVS from mozilla.org to enable Continuation support 
there.

Note although the implementation is based on ideas from Christopher 
Oliver patch it is not a patch port.

In particular, there is no support for catch (continue|break|return) but 
 on the same time finally is respected, so the example from 
http://wiki.apache.org/cocoon/RhinoWithContinuations

var pool = ...;
function someFunction() {
var conn = pool.getConnection();
...
catch (break) {
conn.close();
conn = null;
}
catch (continue) {
conn = pool.getConnection();
}
}
with the patch would like:
var pool = ...;
function someFunction() {
var conn = null;
try {
if (conn == null) {
conn = pool.getConnection();
}
...
} finally {
conn.close();
conn = null;
}
}
That is, if the control leaves "..." during continuation jump, then 
finally will be executed in the same way as it would be executed if ... 
contains return, throws exceptions etc.

Another "differences" is that ContinuationException support for 
continuations across eval/Function.apply|call is not implemented yet.

On the other hand Continuation usage is the same as with Christopher's 
patch including support for serialization so the last example from 
http://wiki.apache.org/cocoon/RhinoWithContinuations does work.
Igor, YOU ROCK!
Now, question: will this patch ever enter the main Rhino trunk? I'm sure 
I speak for the whole community here when I say that we would like to 
avoid having to distributed a forked version of rhino again because the 
patch might become no longer applicable.

Anyway, thanks so much for this!
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP@brutus]: cocoon-2.1/cocoon failed

2004-09-14 Thread Stefano Mazzocchi
Gump wrote:
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact folk at [EMAIL PROTECTED]

Project cocoon has an issue affecting its community integration.
This issue affects 1 projects.
Project State : 'Failed'
The following are affected:
- cocoon :  Java XML Framework
Full details are available at:
http://brutus.apache.org/gump/public/cocoon-2.1/cocoon/index.html
That said, some snippets follow:
The following annotations were provided:
 -DEBUG- Jar [cocoon.jar] identifier set to jar basename: [cocoon]
 -DEBUG- Jar [cocoon-tests.jar] identifier set to jar basename: [cocoon-tests]
 -DEBUG- Jar [cocoon-deprecated.jar] identifier set to jar basename: 
[cocoon-deprecated]
 -ERROR- No such project [avalon-framework] for property.
 -ERROR- Cannot resolve jar/jarpath of *unknown* [avalon-framework]
 -ERROR- Unhandled Property: avalonapi.jar on: Ant on Project:cocoon
 -INFO- Failed with reason configuration failed
 -ERROR- Bad Dependency. Project: excalibur-compatibility unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-instrument unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-instrument-manager unknown to *this* 
workspace
 -ERROR- Bad Dependency. Project: excalibur-sourceresolve unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-xmlutil unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-store unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-pool unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-component unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-logger unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-event unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-i18n unknown to *this* workspace
 -ERROR- Bad Dependency. Project: excalibur-testcase unknown to *this* workspace
 -INFO- Failed to extract fallback artifacts from Gump Repository
Gumpers, any suggestions?
--
Stefano, pretty excited to finally see cocoon coming up again in the 
gump radar after a year ;-)



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP][PATCH] missed one avalon-framework dependency

2004-09-13 Thread Stefano Mazzocchi
Stefan Bodewig wrote:
Hi,
when David changed the descriptor to reflect the avalon restructuring,
one reference to avalon-framework was missed - it was well hidden by
Gump.
Please apply the appended patch to finally get nagged again ;-)
now that we have SVN, could we say that gump.xml in cocoon is writeable 
by all the ASF committers, just like gump? that would allow gumpers to 
help out *and* the cocoon build system to still function and being more 
actively maintained?

thoughts?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [request] creation of the Tani branch

2004-09-10 Thread Stefano Mazzocchi
Tony Collen wrote:
Hey peeps,
I'm catching up on some old list traffic, and I thought I'd comment 
since I was too busy when this first came up. I just want a little 
clarification:

Stefano originally wrote:
"The closest thing that we have in place for that is Pier's kernel (that 
was development with my vocal/written help, but no code). I don't like 
the idea of basing our framework on somebody elses, mainly for community 
reasons, so I will start from there."

I understand not wanting to base the code off something that was done 
commercially, but I'm a little confused: does this mean that Tani will 
be based off Pier's work or not?  If not, what are we going to do with 
Pier's code, if anything?

It would be a shame to see his hard work go down the tubes.
nononononon
when I said "somebody elses" I meant "somebody else rather than people 
in the cocoon community".

Tani will be based on Pier's code... even if probably we'll have to 
rewrite it from scratch anyway [more on this soon].

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: accessing the pipeline structure

2004-09-10 Thread Stefano Mazzocchi
Jorg Heymans wrote:
Hi,
Recently there were 2 requests on the users list about accessing the 
current pipeline structure.

http://marc.theaimsgroup.com/?t=10944833712&r=1&w=2
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=109473546831881&w=2
What does the devlist think about this? Certainly cocoon is being 
stretched in all areas possible, having the need for metadata about the 
executing pipeline structure is just one example of this.

Having this extra metadata would allow for components that can produce 
different output depending on how they are used in a pipeline (but this 
probably breaks a few cocoon design rules right?). In my cocoon video 
rendering application i got around this by creating an xml control 
structure that was used by all components, so a component could find out 
what all previous components did and what the results were.

Thoughts? Is this difficult to implement? A 2.2 feature perhaps?
This smells awefully close to "dynamic pipelines" which is something 
that is considered an anti-pattern in cocoon (because it has been tried 
in the 1.x generation and miserably failed).

People see the pipeline machinery and think they can do things like SOAP 
validation with it... well, it's not designed for that.

A while ago there was the proposal of "content-aware selectors" that 
would allow you to implement what these guys want, I know that there is 
also an implementation floating around even if we never reached 
consensus on whether or not that was a good thing to have.

What you are proposing is "context-dependent behavior"... well, this is 
*exactly* what we are trying to avoid with pipelines: reusability of the 
component is focused to be completely independent of the place where it 
is used in the pipeline. Make the component "location dependent" and 
kiss goodbye to orthogonality, and pretty soon you need a language that 
indicates the potential 'neightbours' of each component... and maybe 
people would want to add conditionals to that language... and pretty 
soon people will ask you to deparate the cross-cutting pipeline concerns 
into pipeline interceptors... and so on.

we *already* have clear separation, let's not ruining it.
Now, the guy needs a SOAP validator transformer. My suggestion would be 
*NOT* to reuse the cocoon pipeline machineries for that but to just call 
something else that does it for you, like Axis, or write his own 
reactor-based valication code in flowscript calling Axis stuff.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Custom extensions - to be made available if possible

2004-09-09 Thread Stefano Mazzocchi
Conal Tuohy wrote:
Antonio Fiol Bonnín wrote:

a) Refactoring SimpleLuceneXMLIndexerImpl so that its private method
indexDocument is not private, and taking it to an external component.
b) Creating a PDFGenerator (in the cocoon sense of generator, 
of course).

Option (a) seems to be giving us more headaches than pleasure, and
option (b) seems cleaner to a certain point. Option (b) would allow to
follow links in the PDF file, if developed to that point.

I like option (b) too. You could start with plain text, but it could later be 
developed to extract basic formatting, hyperlinks, bookmarks (the table of contents), 
images, etc.

However, option (b) implies choosing a format for its output (which?),

An interesting question. Perhaps html, and begin with an implementation which produces:

   
   
  blah blah blah
  blah blah
  
  ... 
   


Later you (or someone else) could add extra things as they need them. 

Alternatively, you could use a more PDF-oriented DTD.
What about using XSL:FO? Would be pretty cool to have the ability to 
transform PDF into FO, basically reversing what FOP does. I know it 
would be pretty painful to make it work with all kinds of PDF, but for 
reasonable ones it shouldn't be that hard (PDF is sort of a markup 
language already).

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: linotype

2004-09-08 Thread Stefano Mazzocchi
Torsten Curdt wrote:
Is the linotype editor working for anyone?
I only constantly get errors on the javascript
console. None of the buttons (links, images,
styling,...) works for me.
...talking about latest trunk version.
works for me, but my own version is not in synch with the one on the 
trunk one of the items of my lightyear-long todo list.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: cocoon.sh: request

2004-09-01 Thread Stefano Mazzocchi
Steven Noels wrote:
On 01 Sep 2004, at 23:19, Sylvain Wallez wrote:
Mark Lundquist wrote:
Dear devs,
I like to use cocoon.sh "as is", configuring it from without by means 
of a wrapper script.  Using cocoon.sh without modification makes it 
easier to take Cocoon version upgrades.

There is one thing, though, that I still have to change.  I use the 
DJB "daemontools" package to run all my Jetty+Cocoon instances under 
supervision and provide for automatic startup at boot-time.   This 
only works if I change cocoon.sh to exec the Java interpreter without 
forking.

What do you mean by "without forking" ? The shell has to lauch the JVM 
in a separate process. Or do I miss something?

I'm using http://wrapper.tanukisoftware.org/ - which has a native part 
doing the daemonizing of the VM. I had a look at commons-daemon and 
DJB's daemontools as well, but finally sticked with wrapper - it worked 
as promised and didn't require any exotic thinking so common to DJB's 
tools. All three of them require you somehow to "unfold" what is 
transcribed/constructed in the cocoon.sh shell script into a one-line 
JVM invocation. Doing an "echo" at the end will help you to find out 
classpath, class to be invoked, etc etc...

Since this is all system-dependent, I wonder if we could offer init-v 
like shell scripts with Cocoon. Most of those which came with other Java 
apps didn't work as expected on my system (like forking into another user).
here is the jetty script I use for my server (uses the Loader and 
deamontools' setuidgid) [taken from the jetty one and modified a little bit]

--
Stefano.
#!/bin/sh  
#
# Startup script for jetty under *nix systems (it works under NT/cygwin too).
#
# Configuration files
#
# $HOME/.jettyrc
#   This is read at the start of script. It may perform any sequence of
#   shell commands, like setting relevant environment variables.
#
# /etc/jetty.conf
#   If found, and no configurations were given on the command line,
#   the file will be used as this script's configuration. 
#   Each line in the file may contain:
# - A comment denoted by the pound (#) sign as first non-blank character.
# - The path to a regular file, which will be passed to jetty as a 
#   config.xml file.
# - The path to a directory. Each *.xml file in the directory will be
#   passed to jetty as a config.xml file.
#
#   The files will be checked for existence before being passed to jetty.
#
# $JETTY_HOME/etc/jetty.conf
#   If found, used as this script's configuration file, but only if
#   /etc/jetty.conf was not present. See above.
#   
# 
# Configuration variables
#
# JAVA_HOME  
#   Home of Java installation. 
#
# JAVA
#   Command to invoke Java. If not set, $JAVA_HOME/bin/java will be
#   used.
#
# JAVA_OPTIONS
#   Extra options to pass to the JVM
#
# JETTY_HOME
#   Where Jetty is installed. If not set, the script will try go
#   guess it by first looking at the invocation path for the script,
#   and then by looking in standard locations as $HOME/opt/jetty
#   and /opt/jetty. The java system property "jetty.home" will be
#   set to this value for use by configure.xml files, f.e.:
#
#/webapps/jetty.war
#
# JETTY_CONSOLE
#   Where Jetty console output should go. Defaults to first writeable of
#  /dev/console
#  /dev/tty
#
# JETTY_PORT
#   Override the default port for Jetty servers. If not set then the
#   default value in the xml configuration file will be used. The java
#   system property "jetty.port" will be set to this value for use in
#   configure.xml files. For example, the following idiom is widely
#   used in the demo config files to respect this property in Listener
#   configuration elements:
#
#
#
#   Note: that the config file could ignore this property simply by saying:
#
#8080
#
# JETTY_RUN
#   Where the jetty.pid file should be stored. It defaults to the
#   first available of /var/run, /usr/var/run, and /tmp if not set.
#  
# JETTY_PID
#   The Jetty PID file, defaults to $JETTY_RUN/jetty.pid
#   
# JETTY_MEM
#   The amount of memory the JVM running jetty should have
#  

usage()
{
echo "Usage: $0 {start|stop|run|restart|check|supervise|demo} [ CONFIGS ... ] "
exit 1
}

[ $# -gt 0 ] || usage

TMPJ=/tmp/j$$

##
# Get the action & configs
##

ACTION=$1
shift
ARGS="$*"
CONFIGS=""

##
# Find directory function
##
findDirectory()
{
OP=$1
shift
for L in $* ; do
[ $OP $L ] || continue 
echo $L
break
done 
}


##
# See if there's a user-specific configuration file
##
if [ -f $HOME/.jettyrc ] ; then 
  . $HOME/.jettyrc
fi


##
# Jetty's hallmark
##
JE

Re: Inceptors are cool and trendy

2004-09-01 Thread Stefano Mazzocchi
Jennifer Yip wrote:
Thanks (Nuno) for responses to my Request interception question.
Can I follow on:
I have added the config to cocoon.xconf and sure enough I am picking up 
on the request flow.

I want to extend this and make a more generic process to handle request 
flow

ie
I want to be able to add into sitemap

  
 
etc
I understand therefore I need to mod the sitemap-v06.rng file (RelaxNg) 
in a similiar fashion to use by authentication-manager.

Questions:
1) Was it expected that developers extend cocoon by modifications to 
sitemap-v06.rng OR should some other direction be taken?
the relax file is not used by cocoon at runtime, so modyfing it wouldn't 
yield any runtime result.

as for extending the sitemap, as a social policy, we don't want people 
to wonder off adding their own pieces (this would increase balkanization 
of the userbase) so if you think the sitemap needs something new, 
normally we initiate a discussion on this list.

2) What are the plans for a more flexible interceptor framework 
(declarative) within new releases of cocoon?
no, not at this time.
Keep in mind though that javascript prototypes are a great way to create 
simple AOP, I seem to remember that there are examples of this in the 
scratchpad in the cocoon repository.

3) Why does cocoon.xconf contain - what is the value add here? just for 
logger aspect?

   
   
xconf is a general configuration file and the semantics are interpreted 
by the system. so far, the only aspect is logging and those are the 
channels.

hope this helps.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [request] creation of the Tani branch

2004-08-28 Thread Stefano Mazzocchi
Steven Noels wrote:
On 28 Aug 2004, at 16:15, Stefano Mazzocchi wrote:
Just like Ugo, I feel the need for a clean slate and a place where I 
can work without breaking everybody else's code.
Let's all use our own hard disk then. :-)
We already are, but you don't see SVN commits from my HD, nor I see the 
ones from yours.

More seriously: there's Butterfly, new-kernel, 2.1_X, trunk, and now 
Tani. I'm getting lost.
in case it wasn't clear, new-kernel will be renamed Tani.
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Nifty little tool for OS/X and SVN

2004-08-28 Thread Stefano Mazzocchi
Ugo Cei wrote:
Il giorno 28/ago/04, alle 15:10, Pier Fumagalli ha scritto:
On 27 Aug 2004, at 22:27, Ugo Cei wrote:
Il giorno 26/ago/04, alle 01:19, Pier Fumagalli ha scritto:
http://scplugin.tigris.org/

Personally, I couldn't get it to work. How about you?

Yep... Just need to log-out and re log in (so that the finder will 
restart).

Hmmm, I must have restarted Finder at least three times, but still all I 
can see is the context menu, but no annotations on the icons. And the 
context menu is now much slower to appear, to the point of being 
annoying, so I just removed the plugin.
is your SVN client accessible to the plugin? I think you have to tell it 
where the executable is (see the system preferences pane for that plugin)

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [request] creation of the Tani branch

2004-08-28 Thread Stefano Mazzocchi
Torsten Curdt wrote:
+1 for the branch
and although I really like the name "tani"
I think we should stick to what we decided.
no fancy names.
+1 for keeping the "new-kernel" (or naming
it "block-kernel")
Hmmm, what about butterfly then?
The problem with calling it "new-kernel" is that the new kernel is just 
part of what that branch will host and this will create naming issues.

This is, in fact, a cocoon internal fork and, as for the rules of 
revolutionaries, every committer is allowed to ask for it with the name 
that he/she pleases.

As for giving up the codename: unlike tomcat's catalina or woody, we 
will not use "tani" in the package name or in any part of the contract, 
since we already expect "tani" to be just a codename and to be thrown 
down the drain once we are done with it and the community decides what 
to do.

I don't want to appear pushy, but this is not a vote.
The reason why the rules for revolutionaries were created was to avoid 
external forks, not to make the community limit the ability for internal 
forks to happen.

Just like Ugo, I feel the need for a clean slate and a place where I can 
work without breaking everybody else's code. I personally don't care if 
the code will be used or not, what I care is to create a prototype to 
show to this community and to my group at MIT, what real blocks can give 
you and how they can make your life better (and, for my group at MIT, 
show why Cocoon is not just an XSLT servlet anymore, shrug)

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


[request] creation of the Tani branch

2004-08-27 Thread Stefano Mazzocchi
I've been away from the real cocoon development for a while, but my day 
job requires me to build a prototype using cocoon but with real blocks 
implemented.

Therefore, I need to get real blocks working on cocoon.
The closest thing that we have in place for that is Pier's kernel (that 
was development with my vocal/written help, but no code). I don't like 
the idea of basing our framework on somebody elses, mainly for community 
reasons, so I will start from there.

As a committer, and upon the rules of revolutionaries, I hereby request 
the creation of the "tani" effort, which is the codename for what I hope 
it will become "Cocoon 2.2", even if this will have to be decided by the 
community once we feel confident enough.

One of my goals for such a new framework is transparent migration: 
therefore 2.2 and not 3.0. Also we'll try to keep as much as the 
existing code as possible, to avoid rewrite, therefore introducing new 
bugs and stuff.

This means that the "new-kernel" branch will be renamed "tani" and we'll 
take it from there.

This should *not* be seen as a competition with the Butterfly branch, 
but rather an alternative path to lead to the same goal: simplification 
and better webapp-level componentization.

I don't need a vote to make this happen, but I'm asking for comments.
--
Stefano.



smime.p7s
Description: S/MIME Cryptographic Signature


<    1   2   3   4   5   6   7   8   9   10   >