= 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 true yes 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 ==