[yes, you!] Gump is your friend!
[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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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?
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?)
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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++
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
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++
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
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
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
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
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++
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++
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++
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
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
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++
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++
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
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!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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
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]]
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!
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!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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