I am running jspWiki 2.8.1 under tomcat 5.5.27, on an ubuntu linux system.
I have successfully used the ImpagePlugin and SlideShowPlugin to display
digital photos WITHIN the webapp directory path. I think I understand
how they generate inline url's within the web page, so that the browser
issues an HTTP GET for the individual image files. This means that
tomcat, not jspWiki, will be responsible for delivering the individual
image files.
I have LOADS of photo's in a directory hierarchy which is outside the
tomcat directory structure. I don't want to move this huge hierarchy
inside the jspWiki container because it simply isn't the right place for it.
I've created a symlink for the root of my photos directory, e.g.
ln -s /real/path/to/my/photos/ /tomcat-home/webapps/wiki/files/photos
My photos can be found with system commands, e.g. both
ls -l /real/path/to/my/photos/2008/November/DSCF0123.JPG
ls -l /tomcat-home/webapps/wiki/files/photos/2008/November/DSCF0123.JPG
work fine.
However, when my wiki page uses either plugin with
src='files/photos/2008/November/DSCF0123.JPG,
the image file is not displayed. When I view the page source, the url
for the <img> src url appears to be fine.
This a known tomcat issue - that it will not follow a symlinked
directory by default.
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
says to define a context.xml in the webapp META-INF directory. Mine
simply contains <context allowLinking="true"/>, because the
documentation recommends NOT specifying docBase.
The tomcat log says:
INFO: default: DefaultServlet.serveResource: Serving resource
'/files/pictures/2008/11-lateAutumn/DSCF2686.JPG' headers and data
This looks suspicious to me - the url has a leading slash, rather than
relative to the webapp docBase, and tomcat doesn't serve up the image
file! Presumably, I've missed an important detail.
Any quick words of wisdom would be appreciated.
Brian