cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Fagerstrom <>
Subject Re: [2.2] Runtime deployment
Date Sat, 04 Nov 2006 19:44:52 GMT
Carsten Ziegeler skrev:
> Leszek Gawron wrote:
>>> What is missing?
>>> 1. With the changes from above, Cocoon does not run as an unexpanded war
>>> file anymore. So I think we should extract the COB-INF directory into
>>> the temporary directory and mount the blocks from there. This should be
>>> very simple to change.
>> apart from one thing, how do I do that?:
>>> <map:match pattern="mobile/**">
>>>     <map:mount uri-prefix="mobile" src="blocks/geminismart-server-mobile/"/>
>>> </map:match>
>>> <map:match pattern="central/**">
>>>     <map:mount uri-prefix="central" src="blocks/geminismart-server-central/"/>
>>> </map:match>
>>> <map:match pattern="**">
>>>     <map:mount uri-prefix="" src="blocks/mobilebox-webapp-commons/"/>
>>> </map:match>
>> when I get block files unpacked to some temporary directory which 
>> location can change any time.
> We could provide our own protocol "temp:" which is resolved to the
> temporary directory, so you can use
> "temp://blocks/geminismart-server-mobile/" for example.

I would prefer blockcontext:/geminismart-server-mobile/ or 
blockcontext:geminismart-server-mobile/ as the COB-INF directory in a 
block has the same role as a resource directory as the top level 
directory for a webapp.

An open question is how to find the block name. I doubt that version 
numbering is systematic enough to make it possible to strip it away from 
the block name for the file name of the block jar.

We could use the artifactId from the 
META-INF/maven/org.apache.cocoon/cocoon-block-name/ file.

Maven also sometimes (?) creates some field in the manifest file that 
could be used e.g.:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: maven
Build-Jdk: 1.4.2_06
Extension-Name: cocoon-batik-impl
Specification-Vendor: The Apache Software Foundation
Implementation-Vendor: The Apache Software Foundation
Implementation-Title: cocoon-batik-impl
Implementation-Version: 1.0.0-SNAPSHOT

I doesn't create such manifest files all the time though. The jars 
created when I compile locally with Maven 2.0.4 looks like:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: Daniel Fagerstrom
Build-Jdk: 1.5.0_06

One possibility would to have a block specific manifest entry with the 
block name:

Cocoon-Block-Name: cocoon-batik-impl


View raw message