Yesterday I worked again on the cocoon:simple-deploy Maven goal which can be used to deploy a project that contains a Cocoon block. It runs through now for a very simple block[1] but it doesn't create a valid Cocoon web application yet. And that leads to my question now:

If we think of the simplest possible block, what do we want that it depends on?

The usual block has the basic requirement of some core components (file generator, trax transformer, xml/html serializer, ...). In order to get blocks run, it additionally has (indirect) requirements of

 - an environemt
 - blocks framework

Is there something else?

According to the pom.xml of the blocks framework, it depends on cocoon-core. I'm not sure but if we consider cocoon-core being a block too, we get a circular dependency, don't we?

Coming back to my initial question, I think that a block should only have a dependency on some kind of core block. This core block contains the most basic sitemap components and has dependencies on

 - the environment (HTTP environment as default)
 - the blocks framework (Daniel's current implementation as default, OSGi could
   be another implementation)
 - more core stuff (sitemap, pipelines, caching, utilities --> needs to be split
   up later)

Daniel (and others), is this they way we want to go or do you envision something different?

A final question: Do we have something that could be called "runtime environment"? For now I can only think of the web.xml if you use Cocoon from within a servlet container[2]. Right? The artifact produced in [2] is used from within the deployer to create a webapp skeleton.

[1] http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-plugins/cocoon-deployer-plugin-demo/README.txt [2] http://svn.apache.org/repos/asf/cocoon/trunk/cocoon-plugins/cocoon-minimal-webapp/

--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}

                                       web(log): http://www.poetz.cc
--------------------------------------------------------------------

        

        
                
___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de