Thanks for your response.
I have now changed my set up to the one you describe with one exception. I was wary of depending on the hidden secrets of JBoss as you do in step 3. Instead I have deployed an unpacked war into the server/default/deploy directory, this is also the development environment and thus avoids having two copies of the source. If you don't like developing directly into the JBoss directories it should be possible to alter the jboss-service.xml file to point a directory of your choice but I've found this to be unreliable.
I was also looking for ways of catching as many errors as possible before deployment and to that end I have spotted that Ant has an optional task called <xmlvalidate> which could be used as below:
<target name="validate">
<xmlvalidate failonerror="no" lenient="no" warn="yes">
<fileset dir="WEB-INF/classes" includes="**/*.page"/>
<fileset dir="WEB-INF/classes" includes="**/*.jwc"/>
<fileset dir="WEB-INF/classes" includes="**/*.script"/>
<fileset dir="WEB-INF/classes" includes="**/*.application"/>
<fileset dir="WEB-INF" includes="web.xml"/>
</xmlvalidate>
</target>
Regards
Simon
This was a timely question.� Our UI designer was getting very frustrated trying to tweak the HTML associated with Tapestry components because of the long turn around times.� Based on the suggestions on the list, we developed a process where he could change the HTML and see results in a few seconds.
Here is the process for people using JBoss/Resin or JBoss/Jetty with Tapestry.�
1.� Change the JBoss startup script to pass '-Dnet.sf.tapestry.disable-caching=true'.� When you disable caching, you can change the HTML/page or jwc files after deployment.� Pages are rendered a little� more slowly but not too bad.
2.� Change war file so that all HTML, jwc, page files are packaged under the war's WEB-INF/classes directory.� When deployed, these Tapestry files can be modified without rebuilding, redeploying or restarting JBoss.
3.� Go ahead and change the deployed Tapestry files.� After the change, refresh the browser page to force Tapestry to re-load your definitions and HTML.� Here are directions for finding the deployed Tapestry files
for Resin and Jetty.
�� -� If you are using Resin, the deployed Tapestry files are
����� located under the jboss/server/default/tmp directory assuming
����� you are using the 'default' server configuration.
�� -� If you are using Jetty, the location is located in your Documents
����� directory.� Watch the deployment and JBoss/Jetty tells you
����� where the deployed files are located.� Here a sample of the output.
����� 10:38:50,231 INFO� [jbossweb] Registered
����� jboss.web:Jetty=0,JBossWebApplicationContext=4,context=/asset
����� 10:38:50,451 INFO� [jbossweb] Extract jar:file:/D:/jboss-3.0.5RC1/
����� server/default/tmp/deploy/server/default/deploy/
����� admin.ear/27.admin.ear-contents/asset.war!/ to
����� c:\DOCUME~2\Owner\LOCALS~1\Temp\Jetty_0_0_0_0_8080__asset\webapp
�
4.� Make sure to copy any deployed Tapestry files back to your source directories before redeploying/restarting JBoss.
Hope that helps...
Dorothy
