Introduction and contents | Previous | Next
The subject listings configuration is tricky in that it needs to reflect the scope of your gateway's collection. In this respect you are presented with something of a paradox. You need to determine what classification scheme you are going to use and how this will translate into subject listings before you can start cataloguing. In order to ensure your subject listings make sense however they need to reflect the scope of your gateway and so you need to have some records in the database to do this. It is therefore best to leave this task until you have a number of records in the database and you have decided on both the classification scheme you are going to use and how you are going to arrange your subject listings so that they make sense to your end users.
I suggest that you re-examine the subject listings structure every few months to ensure that it continues to reflect the scope of your collection.
For the purposes of this demonstration I needed to populate my gateway with a reasonable number of records. I had about 500 or so partial ROADS templates gathered from Cranfield CRUISE listings. These were useful because the classification scheme was already well developed. I got permission from Cranfield to use these templates before beginning.
Having got permission, I populated my /roads-v2.1/source/ directory with the new templates and re-indexed the database.
The subject listings for ROADS gateways are generated by the /roads-v2.1/bin/addsl.pl script. Used in the most basic manner it reads the /roads-v2.1/config/class-map file which defines your classification scheme, and for each classification code it produces an HTML file listing the records so classified. By default these files are written to the /roads-v2.1/htdocs/subject-listing/ directory. N.B. Files are only created if there are records classified under that corresponding heading.
Note that the software does not produce a top level page for your end users. It is therefore up to you to produce this file manually.
Reading through the documentation it occurred to me that I had made a mistake which might cause me real problems. I had made all of my hypertext links point to a directory called /subject-listings not /subject-listing. There were two ways around this which avoided the need to edit the numerous files where this error occurred. I could run the addsl.pl script using the -t option to set the absolute path of the target directory to /subject-listings. I decided on a fudge which would avoid me having to remember this in future however and made a symbolic link between /subject-listing and /subject-listings.
The first thing I needed to do to generate my listings was re-write my class-map file to define the classification scheme. There are three fields for each heading, representing the code which goes into the record, the full heading which the end user will see and the stem of the HTML file name respectively:
aerocomp:Aerospace companies:aerocomp
aeroman:Aerospace manufacturing:aeroman
aeromed:Aerospace psychology and medicine:aeromed
aeropro:Aerospace propulsion:aeropro
aeropub1:Online publications A-H:aeropub1
aeropub2:Online publications I-Q:aeropub2
aerosubs:Aerodynamics and CFD:aerosubs
agencies:Agencies and bodies:agencies
aircraft:Aircraft design:aircraft
airdata:Databases:airdata
airhist:Aviation History:airhist
airnews:Newsgroups:airnews
avionics:Avionics/Electronic systems design:avionics
flight:Flight Dynamics:flight
genaero:General aerospace resources:genaero
lightair:Lighter-than-air:lightair
spaceage:Space - agencies / organizations:spaceage
spacedat:Space - databases / datasets:spacedat
spacegen:General space resources:spacegen
spacelec:Space - electronic publications:spacelec
spacemis:Space missions:spacemis
spacepro:Spacecraft propulsion and power:spacepro
You need to ensure your heading text does not include colons as these are the field delimiters used in this file.
At this stage I wanted to check that everything would work as it should before moving onto creating my subject listing views. I therefore decided to run the addsl.pl script. I used the -a and -i options and ran the script as nobody.
The listings seemed to be OK so I moved on to tackling the subject listing views. The files for determining the HTML of your subject listings are to be found in the /roads-v2.1/config/multilingual/UK-English/subject-listing-views/Default directory. I decided that I wanted the format of my subject listings the same as that of my brief search results, so I decided to copy the files from my ../search-views/headlines/ directory and edit them from there.
Having done this I re-ran the addsl.pl script as before.
Example subject listings
Having got my listings sorted out I decided to tackle the index.html file which would be the top page for my subject listings. This is NOT generated automatically by the software. I decided that rather than have to keep updating this file I would write a script to generate this automatically when the rest of my subject listings are refreshed. I called this addsl-index.pl and placed it in my /roads-v2.1/bin/ directory. This uses the class-map file to generate a page of links but checks to ensure that a file exists for each before building a link to it. It uses the ROADS.pm settings and reads a header and trailer file from a new directory /roads-v2.1/config/multilingual/UK-English/sl-index/.
Subject listings index file
The final step was to set up overnight cron jobs to run these two scripts.
Introduction and contents | Previous | Next
Last updated: February 1999 - paul.hollands@bris.ac.uk