Sylvain Wallez wrote:
> Daniel Fagerstrom wrote:
>
>> Our current (controversial ;) ) plan is to consider the sitemap and
>> the component aspect of the original block proposal as separate
>> concerns and (at least initially) solve them separately.
>
>
>
> Damn, I skipped this whole thread because I was overly swamped, but I
> definitely missed something. By separate concerns, do you mean
> separate deployment units?
Yes.
> Will go back in time and read all this...
A short summary:
A component block contains a number of components, information about
what API the expose and what other component blocks they depend on. The
dependency graph is resolved during deplyment and each block is geting a
root classloader with what it needs. The components are shielded by a
proxy that takes care of the classloader isolation. Pier is interested
in geting this into Cocoon and propose that it should be based on a
newer version of his Kernel in whiteboard. And some Maven stuff for
dependecy resolution, IIRC.
A sitemap block is a light weight Cocoon. It contains an own sitemap and
possibly own components. It can be declared to depend on component
blocks but it does not expose any general Java components (but it might
be able to expose components that is within a fixed set of APIs, e.g.
VPCs). It is isolated from the main sitemap and can communicate with
other sitemap blocks through the block protocol. A sitemap block could
possibly be allowed to expose it components to an extending sitemap
block. I'm currently working on implementing sitemap blocks.
There are two main motivations for spliting the original block proposal
into these two parts: Make implementation more tractable by assuming
independence of the two aspects and implement them separately. Better
SoC. The later part is controversial.
After having implemented the component blocks and the sitemap blocks
functionality we will see if that is enough for our needs. If it is,
that is fine, if not someone who feel the need can integrate it to
create blocks as they where proposed originally.
--- o0o ---
Many of your questions about if this is a good idea or not might
allready be answered in the previous thread ;)
/Daniel
|