refdbsru(1) CGI script providing SRU access to RefDB databases




refdbsru is a CGI script which turns your web server into a proxy RefDB server providing SRU (Search and Retrieve via URL) access. Anyone with a web browser or some other tool capable of sending HTTP requests can query your RefDB databases. This script is not intended to be run by users. It is invoked by your web server.

The output of the script is a XML document as described in the SRU standard.


refdbsru evaluates the file refdbsrurc to initialize itself.


The parameters starting with "zeerex_" do not actually influence how the script operates. They provide some of the site-specific information which appears in the SRU explain output.

Table 1. refdbsrurc

Variable Default Comment
logfile /var/log/refdbsru.log The full path of a custom log file. This is used only if logdest is set appropriately.
logdest 1 The destination of the log information. 0 = print to stderr; 1 = use the syslog facility; 2 = use a custom logfile. The latter needs a proper setting of logfile.
loglevel 6 The log level up to which messages will be sent. A low setting (0) allows only the most important messages, a high setting (7) allows all messages including debug messages. -1 means nothing will be logged.
serverip The IP address or hostname of the machine where refdbd runs. Use the default (localhost) address if the clients and refdbs run on the same machine.
port 9734 The port on which refdbd listens. Change this for all clients and the server if this value interferes with another program using this port.
timeout 180 The timeout in seconds. After this time has elapsed, a stalled connection is taken down. Increase this value if you encounter frequent timeout errors due to high network traffic or refdbd overload.
username login name The username which is used for authentication with the database server.
passwd   The password which is used for authentication with the database server.
pdfroot (none) This value will be used as the root of the paths to PDF or Postscript offprints that can be specified with the AV field in a RIS dataset. The path should not rely on shell expansion, e.g. use /home/me/literature/ instead of ~/literature/. The pdfroot allows you to shorten the paths that you enter for each dataset and to maintain a certain portability if you have to move the offprints to a different directory or want to access them remotely. The html output routine will concatenate the relative path of each dataset with the pdfroot to construct the link to the offprint. Instead of a local path name you can specify an URL starting with http:// or ftp:// if your offprints are accessible through a web server or ftp server.
cssurl (none) In spite of the parameter name, this may be the URL either of a Cascading Style Sheet (CSS) file, or of a XSLT file. This file, if specified, is used to format the SRU output in the web browser.
dbserver (none) This is the name of the database engine that refdbd uses (currently either mysql, pgsql, sqlite, or sqlite3). refdbsru can obtain this value at runtime, but it has to send one additional query per searchRetrieve or scan operation. If you provide the value here instead, response times will be faster.
zeerex_host The hostname of the computer that runs your web server and refdbsru
zeerex_port 80 The port that your web server listens to.
zeerex_database cgi-bin/refdbsru The path section of the URL which provides SRU access to your database, without the leading slash. zeerex_host, a slash, and this option combined make up the URL which a user has to type into his web browser to access your SRU service.
zeerex_databaseInfo_title Reference Database A public name of your database.
zeerex_databaseInfo_description A reference database A brief description of your database.
zeerex_databaseInfo_author Your Name The name of the person who is in charge of running the database.
zeerex_databaseInfo_contact [email protected] How to contact the database maintainer. Usually the email address.


As a CGI script, refdbsru evaluates a variety of environment variables that the web server provides. These are:


Either GET or POST


The query string proper in a GET request.


This value, if present, is used as the name of a database (other than the preconfigured default database).



The global configuration file of refdbsru.


refdbsru was written by Markus Hoenicka <[email protected]>.