Mark Lundquist skrev:


On Dec 28, 2006, at 3:08 PM, Daniel Fagerstrom wrote:

    As you can see there was a quite gradual divergence from the
    original concept to what we have today. IMO it would be preferable
    to just use the word "block" in one of the two uses of the the word.


+100. Please, please, yes.

I really think that "block" should be reserved for the new "Block" things!

-100 ;)

Seriously, we have used the term block for the container aspect for like 5 years, and it is used in that sense everywhere in the documentation, code and in the mailing list. People would be seriously confused if we tried to change that now.

Finding some term that doesn't contain the word block for "polymorphic servlet services", would be much less of a problem as it is different from the original block concept and not that many people have used the blocks-fw yet.

So if someone have suggestions for a better terminology for the "polymorphic servlet services" I at least would be prepared to go for it.

    As we have used the term block for the container aspect for so long
    we probably have keep that (although "plugin" probably would be
    easier to understand for outsiders).


To me, the term "plugin" has a distinct connotation: that of something conforming to some "plugin API" published by the hosting framework, like in Eclipse or Maven. In Cocoon, with the 2.1-style "blocks" there is (as Reinhard said) no contract in view at all, and in the new Blocks when we speak of the block "contract" we mean the block-specific contract that expresses the service(s) provided by the block, right? IIUC, the "interface" that makes a Block function like a plugin is not an API at all, rather it's the structure+content "conventions" (e.g. COB-INF, etc.) that you spoke of... is that correct? In that case, I don't see "plugin" as a natural term to apply to either the old-skool "blocks" or the c2.2 "Blocks". I think "plugin" has the potential to engender more confusion than it alleviates... :-/

Already 2.1 blocks provides services, classes and resources. Eclipse plugins also provide services, classes and resources. It is not that different.

IMHO, going forward the things like CForms, Ajax, Batik etc. should no longer be called "blocks" at all... rather they should be called "optional modules", because that's all they are. They are Maven "modules", and they are "optional" because you have the choice whether or not to name them in your POM (in 2.1, blocks were "optional" because you had the choice whether or not to /build/ them, but... that was then, this is now! :-). Even though these were called "blocks" before, I don't think that should stand in the way of this nomenclature shift. If all of a sudden we start talking about the "CForms module" instead of the "CForms block", that's not going to cause anybody's brain to melt. It's pretty obvious what is going on and people will pick up the change readily. Right now we have core/ and blocks/; I would propose renaming the "blocks" directory to "optional", changing the nomenclature in the docs, and the text of the "Block Samples" section of the samples page rewritten (that's horribly out of date and was in need of a rewrite even in 2.1!)


Maven modules OTH just provide classes and resources, no services.

Don't you love nomenclature changes? [1]

Actually, no ;)

/Daniel

Reply via email to