cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: [Kernel22] How to develop a component?
Date Tue, 06 Apr 2004 13:50:30 GMT
Carsten Ziegeler wrote:

>  
> 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.


Mime
View raw message