Make your own online library
work in progress
Since every scientist spends time collecting references and making a library,
it is natural to make a searchable database of one's library and have it
be web accessible. People already have Endnote libraries of references, and
many people are collecting references in pdf format that need to be organized.
There are many advantages to having your library on line. The first is that you have access to it. Secondly, you can point to references with a URL. Thus if you're writing an email or a web page and want to cite a reference, it's easy:
http://www.phageT4.org/Lib/l.php3?author=lancet
It's easy to add arguments to the URL to affect how much information is displayed. For instance if you have a pdf copy of the article, but don't want it to show up in the record, you could simply add a turn-off feature.
MyLib uses a MySQL database to store records, which can be searched and retreived. Because I don't have a lot of web space for storing PDF files, I store them on a separate server. The database simply stores the name of the PDF files, and I can construct a URL that points to the location of the PDF files.
more...
A commercial database such as FileMaker could be used to make one's library servable. It would take about 10 minutes for someone competent with FileMaker
to make an on-line servable database of their documents.
The tools I chose to use are free and widely available. While sometime in the future this stuff can all be combined into one application, currently it exists as several different components.
- MySQL database
- Perl or php scripts for accessing and editing the database
- Web space for storing PDF copies of documents.
These are the steps:
- Get MySQL
- Some ISPs like www.he.net offer MySQL free with all accounts. Thus you have everything you need to assemble your database.
- If you have your own box you can install MySQL (Ignore the mentions of NOMAD in this incomplete install guide).
- Some UNIX/Linux systems come with a relational
database installed, all you have to do is use it!
- Create database tables - maketable.sql for starters.
- Modify Scripts for accessing database.
- lib.inc - a library of routines called by your php scripts.
- index.php3 - a script for serving the data.
- medline_record.cgi.txt - Since it's really easy to parse text in Perl this script tries to parse medline records from my telnet window and insert them into the database. It depends on every field of the record starting with a different number of indenting spaces. It's a Total Hack! and needs to be re-written properly.
- edit_record.php3.txt - Script for editing database records. It's missing a simple insert routine for entering new records denovo.
I use a Mac most of the time. Here is a little ftp droplet for transfering files to my web space.
Finding information about MySQL or other databases and how to program dynamic web pages is pretty easy by looking around on the web. However some good resources are:
MySQL by Paul DuBois. New Riders Press. 2000.
Philip and Alex's Guide to Web Publishing by Philip Greenspun (Alex is his dog). Morgan Kaufman Publishers. 1999. Because Phil is the great guy he is, the text from this book is available on the web at
his website.
The O'Reilly Books are pretty good too.
All this stuff is easy to figure out. The scripts above will have to be edited
to work. This page is very incomplete and is a work in progress, but is
simply meant to give people the idea, and a glimpse of what they'll need to tackle.
One application can probably do most of this stuff, but I won't have time to develop it until later.
Chris Seidel Summer 2000