I started this reply ages ago but never got around to finishing it ...
Brolin Empey wrote:
> Brolin Empey wrote:
> >
> > The Cocoon checksum feature sounds like it may work. I will try it
> > when I return to work and will let you know the results.
>
> The Cocoon checksum feature seems to work, but I have a configuration
> problem with specifying checksums-uri in cli.xconf.
>
> I need checksums-uri to be relative to e.g. the root of my Forrest
> project (the directory containing forrest.properties and src/) so that
> I can use a relative path to a checksums file in my build/site/
> directory.
>
> I do not want to hard-code an absolute path because this path will
> break if I move the SVN working copy of my Forrest site, or if someone
> else checks out a copy of my Forrest site.
>
> I tried setting checksums-uri to just "checksums", but then the build
> process hangs when I run "forrest" to rebuild the static site because
> the JVM encounters a Java IO exception when attempting to write the
> checksums file. This happens because I do not have write permission
> for whichever directory checksums-uri is relative to. I tried
> enabling both verbose and debug output for both Forrest and the JVM,
> but when the JVM encounters the Java IO exception it still does not
> say which path it is trying to write to.
>
> So, my questions are:
>
> 1. Which directory is checksums-uri relative to?
As said in the example cli.xconf file:
"The default path is relative to the core webapp directory."
So, relative to $FORREST_HOME/main/webapp directory.
I think that we have a problem in Forrest. Some stuff
(e.g. main sitemaps) are relative to the above directory
whereas other stuff is relative to project.home directory.
> 2. Is there any way to get the path of the file that could not be
> written when the JVM encounters a Java IO exception? I am using Sun's
> JDK on Linux:
Did you look in the Cocoon logs?
http://forrest.apache.org/faq.html#logs
> $ java -version
> java version "1.5.0_10"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
>
> 3. Can I make checksums-uri relative to e.g. the root of my Forrest
> project? I notice I can set e.g. a context directory in cli.xconf,
> but I do not know what else is affected by this setting.
Sorry, i don't know. It might not even have any effect.
Search the Forrest code. I see one mention of "webapp"
at main/targets/site.xml line 37 in trunk SVN.
Also search the Cocoon docs and code as mentioned in the
top of the default config file at main/webapp/WEB-INF/cli.xconf
http://cocoon.apache.org/2.1/userdocs/offline/
http://wiki.apache.org/cocoon/CommandLine
More discussion should probably happen on the Forrest "dev" list
as we are getting away from user-land discussion.
-David
> If possible, I would like to avoid having to specify an absolute path
> to a temporary location, such as /tmp/checksums, and copy the
> checksums file back into my build/site/ directory.
>
> Thanks,
> Brolin
|