today, I was using the browser:resourceDirectory ZCML-directive and found,
that it is not possible to serve resource-subdirectories (at least I could
not make it work):
For instance, I might have a resource directory "resources" which contains
subdirectories "sub1" and "sub2". If I register resources with
<browser:resourceDirectory name="resources" directory="resources" />
files in resources are served just fine, but files in the subdirectories are
not. I tried to register each of the subdirectories individually:
but this didn't work either (still gives a 404).
Of course, I can register the subdirectories and bind them to top-level
<browser:resourceDirectory name="resources/sub1" directory="sub1" />
<browser:resourceDirectory name="sub2" directory="resources/sub2" />
but that makes it necessary to make tedious changes, if one wishes to
integrate resources like static html pages into zope3, which were not written
for it in the first place. (I am aware, that it is better to use apache to
server static content, but that requires a much more sophisticated setup,
which might not be necessary for small sites or during development.)
I was wondering, whether this behavior if resourceDirectory is intentional
(which I simply don't understand) or if it is a real shortcoming.
My suggestions for the resourceDirectory directive would be, to add a boolean
attribute "recursive", which can be used to control, whether or not
subdirectories should be included. Also, I wonder, if one could make the
"name" attribute optional and let it default to the value of the "diretory"
I haven't done any Zope3 development yet, but if some of you give me some
feedback and maybe point me into the right directions, I am willing to look
deeper into that...
Zope3-dev mailing list