Stefano Mazzocchi wrote:
Carsten Ziegeler wrote:
I'm trying to figure out what the current kernel already
provides and
what not.
Let's forget all the xml (descriptors etc) for a moment. Imagine I want to write a block, that provides - let's say a special file generator - that can be used in other blocks (in my app block).
Now, obviously this generator will implement our Cocoon
Generator interface.
What else does the kernel already provide for the component
lifecycle?
(Logging, Configuration etc.)
Or is this a to discuss/do?
I guess it's a to-do/to-discuss.
The block design didn't deal with component lifecycle because that's another concern (and, originally, it was supposed to be taken care of by avalon).
Ok.
I don't know Pier's ideas about this.
I think it's a good time for cleaning up what avalon did wrong, simplify as much as we can and tune it for our needs.
But I'm wide open to suggestions, as long as we move away from avalon.
:) Sounds good to me. Now what do you think of using the things from Avalon that are good (for us)? Now, I think, some of the interfaces (for logging, contextualization, initialization) are good and we could directly use them instead of building just a clone of them.
There are two issues here, Carsten. One is about the present and another is about the future. Present indicates that reusing what's available is great, future indicates that if we keep dependencies on org.apache.avalon.* namespace we either end up forking it or, more likely, we have potential classloading collision issues in the future with things that avalon might produce.
remember the rhino classloading problem with weblogic? same thing.
I strongly suggest that we start with org.apache.cocoon.* to avoid these problems down the road (including, yes, gump problems)
The only interface which could be better is Serviceable/Composable where the lookup is done using a plain String. There we should use something like lookup(Interface, Hint).
This is already taken care of by the current kernel.
-- Stefano.
smime.p7s
Description: S/MIME Cryptographic Signature