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]

Reply via email to