Stanford Encyclopedia of Philosophy
Winter 1999 Edition
How to Acquire our Design and Software for a Dynamic Reference Work
Contents:
The Stanford Encyclopedia of Philosophy is a new and innovative kind
of reference work. It has been developed at the Center for the Study
of Language and Information over the past two and a half years (i.e.,
beginning September 1995). During that time, we have been thinking
through the issues and problems that arise in the design of a dynamic
reference work that will meet the highest academic standards. The
Unix software we have developed provides the necessary tools for a
small staff on a small budget to administer a large-scale dynamic
reference work. Our software may therefore meet the needs of: (1)
academic disciplines and institutions (in both the sciences and
humanities), (2) reference work publishers looking to build their own
dynamic reference works, and (3) corporations that need to maintain and
monitor a cooperatively-produced reference work.
The many hours we have spent over the past two and a half years
working on the design (and working out the bugs) of the dynamic
reference work represents a substantial investment of time and money.
It would require a significant sum of money to pay one or more
individuals with Unix administration, Perl scripting, and HTML
webmastering experience to design, implement, and debug a similar
system. Moreover, it would take them time to produce such a system.
A simpler, faster, and less expensive alternative would be to acquire
our design and software.
On our design, the reference work lives in two directories: the
webserver directory and /usr/local/encyclopedia. The webserver
directory contains a special htdocs subdirectory which
contains the reference work itself. The reference work includes a
Homepage, Table of Contents, and an entries subdirectory where
the entries are stored (each in it own subdirectory). The directory
/usr/local/encyclopedia contains special subdirectories for
scripts and databases. The programs and files in these
subdirectories are the key to the automated administration of the
reference work.
We have built Unix and Perl scripts that automate the following
tasks: create accounts for the authors (from keyboard input by the
Editor), send the authors email about their account and the
file-upload commands they will need, notice when authors place entries
online for the first time, monitor subsequent changes in the content
to entries, prompt the Editor when discreptancies arise among
databases, automatically re-cross-reference the reference work when
new entries come online, modify the email aliases such as `authors'
(which contains a list of the email addresses of all the authors), and
notify the board members that entries for which they are responsible
have been changed. These scripts can be customized to run on
virtually any Unix installation supporting a web server, Perl, and
pine.
- new-author script: This script will perform the system tasks
necessary to add a new author to the reference work.
- modifications script: This script is run daily and
after discovering which entries have been modified within
the last twenty-four hours, reacts in numerous ways.
- uncomment-links: In the Table of Contents, links to
entries which have been commissioned but are not yet written are
"disabled'. The uncomment-links reports to the Editor about
the status of these links and can activate selected ones.
- database script: This script is a database manager. It
extracts and modifies information in the reference work's databases.
- keyword-ckecker and keyword-linker: These scripts
dynamically cross-reference the Encyclopedia as new entries come
online.
- add-keyword: A utility Perl script to introduce new
keywords into the database when new entries are commissioned.
- add-notification: This scripts helps to keep
the members of the Board of Editors informed about which of the
entries under their editorial control have been modified and when.
- backup: Simple backup script used by the Editor when
he or she makes changes to the Encyclopedia entry-directories.
- check-contents: This script verifies that the
information in the Table of Contents matches the information about the
authors in the databases.
- mail-topic: This script mails out to prospective
authors a customized version of the letter of invitation to write on a
specific topic.
- new-board-member: This script updates all the relevant
Encyclopedia databases when a new Board member is added.
- post-edit: This is a shell script that does some
post-editing cleanup after root or the Editor edits an entry.
- send-notifications: This script keeps the members of
the Board of Editors informed about which of the entries under their
editorial control have been modified and when.
- snapshot: This is a shell script that will create a
snapshot of the reference work for archive (not backup) purposes.
These scripts (and a several other "helper" scripts, which have not
been mentioned), make it possible for a small staff on a small budget
to administer a large-scale reference work.
The above programs and scripts can be acquired from the Center for the
Study of Language and Information. The cost of the software depends
on the kind of institution making the acquisition. The price for
academic institutions and non-profit organizations is less than the
price for commercial institutions.
Enquiries should be sent to:
- Edward N. Zalta
zalta@csli.stanford.edu
or to:
- John Perry
john@csli.stanford.edu