everything you write down here looks ok (and confirmed by your own remark that it even works!)
hot-deploy in my experience works ok as long as none of the changes include class files or jars that need to be reloaded
just for completeness:
- 'real blocks' will be added in 2.2, that will change some stuff for sure, see: http://wiki.cocoondev.org/Wiki.jsp?page=BlocksDefinition and a recent RT posting: http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=106134587016684&w=2
- an alternative (while using similar techniques and having different benfits/downsides) approach to writing your own block in order to make a cocoon based app is here: http://wiki.cocoondev.org/Wiki.jsp?page=YourCocoonBasedProject
HTH, -marc=
Steve K wrote:
Hey folks --
I'm starting a new Cocoon application and I want to try to take advantage of the new 2.1 build system and the blocks stuff. As I couldn't find any documentation on how to do this, I put together something and wanted to run it by all of you to let me know if I'm on the right track. I added the following directory structure to the src/blocks dir:
testblock/ conf/ testblock.xmap java/ lib/ webapp/ testblock/ sitemap.xmap build.xml
conf/testblock.xmap inserts a match/mount into the main sitemap to mount my webapp/testblock/sitemap.xmap:
<xmap xpath="/sitemap/pipelines/pipeline" unless="[EMAIL PROTECTED]'testblock']">
<map:match pattern="testblock/**">
<map:mount check-reload="yes" src="testblock/" uri-prefix="testblock"/>
</map:match>
</xmap>
I created the webapp directory to hold all the stuff I need copied to build/webapp, and build.xml is the ant task that copies it:
<project default="main" basedir="."> <target name="main"> <copy filtering="on" todir="${build.webapp}"> <fileset dir="${block.dir}/webapp"/> </copy> </target> </project>
Finally I added my new block to gump.xml:
<project name="cocoon-block-testblock" status="unstable"> <package>org.apache.cocoon</package>
<ant target="gump-block"> <property name="block-name" value="testblock"/> <property name="version" value="@@DATE@@"/> </ant>
<depend project="cocoon" inherit="all"/> <work nested="tools/anttasks"/> <home nested="build/cocoon-@@DATE@@"/>
<jar name="blocks/testblock-block.jar"/>
<nag from="Gump" to="[EMAIL PROTECTED]"/>
</project>
Doing a build webapp builds it and it all seems to work.
Does this seem right? Is there anything else I should be doing?
Also, is there a way to hot-deploy blocks without restarting jetty?
cheers, -steve
-- Marc Portier http://outerthought.org/ Outerthought - Open Source, Java & XML Competence Support Center Read my weblog at http://radio.weblogs.com/0116284/ [EMAIL PROTECTED] [EMAIL PROTECTED]