cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <>
Subject Re: [RT] The Real Component Simplification
Date Thu, 05 Jan 2006 15:37:19 GMT
Vadim Gritsenko wrote:

>>> URL interpretation
>>> ?
>> SourceResolver and company
> It proved to be very valuable extension point

I'm not negating that, however the way it is currently implemented makes 
it difficult to use at times.  Again there are different ways of 
skinning this particular cat that would be more efficient.

I do recall why we didn't try to use Java's own URL "component" 
framework.  It really wasn't due to complexity of getting the 
URLStreamHandlers to communicate with Cocoon.  It was due to the fact 
that some web containers like BEA WebLogic and IBM WebSphere preset the 
static instance of URLStreamHandlerFactory, making it impossible for us 
to override it.  I don't recall if we tested extending where the 
URLStreamHandlers are located using the "|java.protocol.handler.pkgs" 
system property.

The advantage of using Java's extension mechanism here is that we would 
be able to use our cocoon:// URLs inside of FOP and any other library 
that relies on URLs.  If we don't rely on components for the core of 
Cocoon, then we have more flexibility on improving this point.

>>> It is very simplistic view of the world to declare that only P/G/T 
>>> deserve to be components. I'd even go as far as claim that P/G/T are 
>>> implemented by cocoon users the *least* often compared to other 
>>> interfaces.
>> Well, as da Vinci said, "Simplicity is the ultimate sophistication".  
>> The key point of the decomponentization process is to reduce the 
>> number of extension points to the absolute practical minimum.
>> By being brave about what we leave out, it forces us to think 
>> differently about other aspects of the system.  I'm thinking way 
>> forward here.
> Just don't throw out baby in the heat of fight for simplification :)

Right.  Although just because something is an extension point does not 
mean it has to necessarily be a component.

View raw message