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.

  1. 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

Sutherland

LTGPublicWiki: RuskinSutherland (last edited 2013-05-20 11:29:49 by localhost)