Thanks, and in my Pier, it's set to
PRPierLibrary.
I'm still a bit lost about File Library, though. Let's use css as an
example. My stylesheets were found only if I redirected, in apache,
where seaside retrieved the files:
RewriteCond /path/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$
http://localhost:9999/seaside/pier/$1 [P,L]
If I remove the RewriteCond, stylesheet files are not found, (even
though I also placed the same files in a sub dir of the image named
seaside/files/PRPierLibrary.)
(the access logs say apache is looking in /seaside/files/PRPierLibrary)
If I go to seaside/config and select configure for "files" I get the
listing of File Libraries, as expected. Selecting PRPierLibary lists
files that are all the css files that (I thought) are pointed to. Fine,
that seems to work. But, when I uploaded a file (just to see where the
file would go) and check the complete server, the file is no where to be
found. However, the file is retrievable from the configuration screen. I
can only assume that the image swallowed it up.
This is confusing. There is a class called PRPierLibrary. PRPierLibrary
is also a directory name - evident because apache is looking for that
directory. Also, if you go to PRPierLibrary in the configuration, the
"files" are not really files. The contents of the files are actually in
the methods of PRPierLibrary.
So, I'm still lost on exactly where seaside is retrieving files.
# PRFileLibrary
This is the standard file library of Pier. File libraries can be called
using /seaside/files/FileLibraryName (in your case
/seaside/files/PRFileLibrary). There is an interface to upload files
which are then encoded within the PRFileLibrary class in the image! Like
this you static files (css, images) are saved _within_ the image and not
on the filesystem. The files are available using
/seaside/files/PRFileLibrary/filename.zzz...
By the way, if you would like to have your own stylesheets, you should
create your own file library (subclass of WAFileLibrary) and upload your
files there. Otherwise your changes will be overwritten when loading a
new Pier version!
# Apache Reverse Proxy
You are using Apache as Reverse Proxy using the rewrite engine
(mod_rewrite). Every request to apache is processed and if the
RewriteCond matches the RewriteRule is executed. Like this, a request is
forwarded to the Seaside image which delivers the content back to apache
which returns the content to the user.
In your example you are rewriting URLs only to /seaside/pier. Everthing
else is not rewrited and Apache tries to get it from the standard
directory. Like this, /seaside/files (which is part of the seaside
image) can never be accessed using the reverse proxy! As an example the
following rules may work for you:
RewriteCond %{REQUEST_URI} ^/seaside/files/(.*)$
RewriteRule ^/(.*)$