On Tue, Aug 20, 2002 at 09:07:16AM +1200, Conal Tuohy wrote:
> I realise that "blocks" are still vapour-ware, whereas "optional modules"
> are at least imminent vapour-ware ;-) but I'm still not entirely clear on
> how the relationship between these "optional build modules" and the planned
> "blocks" is supposed to develop. Can someone comment on how they see these 2
> related concepts developing?
>
> It seemed to me that the CONTENT of each one of these things (i.e. the
> components, sitemaps, scripts, docs, etc within a module, or block) would be
> essentially the same, i.e. they should have the same granularity. This is
> what I meant by "essentially the same", NOT that they use the same
> mechanism, because obviously they are different. Is this right?
>
> When pluggable "blocks" are finally developed, will they be able to entirely
> replace the mechanism for optional modules? Or will there be some optional
> modules which will never become blocks? Is the optional build going to be a
> temporary measure before blocks arrive? Or is it a step towards a component
> architecture of blocks? i.e. a block = a module + some metadata? This is
> what I'm still unclear about.
I'd always envisioned Blocks to be a better way to architect and
design your application (more on the side of large scale apps
rather than small), whereas Modules being the ability to plug
functionality into Cocoon to keep the core small and to be
able to package your application with what you need rather than the
whole Cocoon distribution.
I see modules containing particular pieces of functionality, a jsp
module, a fop module, a db module, etc, with each module
containing its relevant libraries, default configuration, class
files, etc. Samples could also be packaged within the module, but I
think that's really only relevant for the sample webapp (?).
Importing the module into your Cocoon distribution automatically
makes it available for use in applications. Essentially your
Cocoon installation becomes the core, plus the modules you require
for your app.
Blocks however, I thought were more at the level of the
application being developed. Think of a large site like sun.com or
amazon.com. Blocks would allow the separation of the individual
constituents of the site, similar to subsitemaps, but could also
include xml/xsl/html/components/etc relevant to that part of the
application.
Note that this is separate from Modules - a particular block might
require particular modules to be present for its features to work.
Blocks can have dependancies and can communiate with other blocks via
sessions, etc, but essenentially dropping a Block into your Cocoon
distribution reserves a part of the uri space for that Block to
use, kind of like the Tomcat webapps directory. I also thought that
Blocks could include particular Modules if necessary. eg. part of a
stocktrader site that generates pdf reports would only require the
fop module at that level.
I think there were also discussions/thoughts about having
hierarchical blocks, meaning you could place common parts of
your application at a higher level with lower level blocks depending
on it (ie. not needing to have common classes/files duplicated).
There was also some talk of remote blocks, ie. being able to
reference a block running on another server.
Regardless of if/how it happens, I think the concept of modules,
essentially being able to automatically plug in features needs to
come first, although to implement it properly we probably need to
look at moving away from ECM, and using something like Merlin, or
a combined Merlin/Fortress container.
My 2c AUS. :)
Cheers,
Marcus
--
.....
,,$$$$$$$$$, Marcus Crafter
;$' '$$$$: Computer Systems Engineer
$: $$$$: ManageSoft GmbH
$ o_)$$$: 82-84 Mainzer Landstrasse
;$, _/\ &&:' 60327 Frankfurt Germany
' /( &&&
\_&&&&'
&&&&.
&&&&&&&:
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]