The Ruskin and Sutherland projects
Ruskin: The Elements of Drawing
Documenting some of the project work.
The project back end is based on eXist, an XML database. The main site runs under Apache and is set up to proxy certain pages to eXist running under Tomcat. In order for session information (held in cookies) that is used for the search functionality to be passed correctly it is necessary for the directory paths under Apache and Tomcat/eXist to be identical. This causes a number of annoying problems.
- although the scripts live in /ruskin/catalogue and /ruskin/texts they must be served from /catalogue and /texts. This is easy to set up with a sitemap.xmap file. However, in order for the import module directive to work with relative URLs the virtual directory /catalogue or /texts MUST ACTUALLY EXIST (though they can be empty).
It would perhaps be easier to store the module in the database, though to my mind this rather defeats the point of a generic module - it should be able to be used to hold the single reference to the paths, and database collections used in the project.
Setting up mod proxy in Apache configs under SUSE edit /etc/sysconfig/apache2 and add in proxy and proxy_http to the loaded modules.
Cocoon setup
add
<preserve-space>true</preserve-space> <indent>yes</indent>
to the appropriate serializer in sitemap.xmap in order to stop the source code appearing on one line.
Subversion setup
cd /tmp
mkdir ruskin
mkdir ruskin/http
mkdir ruskin/exist
mkdir ruskin/exist/catalogue
mkdir ruskin/exist/texts
mkdir ruskin/exist/ruskin
svnadmin create /Library/svn/repositories/ruskin
svn import ruskin file:///Library/svn/repositories/ruskin/
cd /Library/eXist/ mv webapp webapp.bak
svn co file:///Library/svn/repositories/ruskin/exist webapp
[copy back all the files and folders from webapp.bak to webapp, except catalogue, texts and ruskin]
cd webapp
svn add sitemap.xmap
svn commit sitemap.xmap