[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
my online bibliographic odyssey nearing conclusion
From: |
Paul Johnson |
Subject: |
my online bibliographic odyssey nearing conclusion |
Date: |
Sat, 03 Aug 2002 11:36:56 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606 |
Dear friends:
Some people emailed and said "if that online biblio tool ever works,
let us know". It works. You know. It ties in pretty well with my
resume scripts that are supporting the Swarm Development Group Member
pages as well as my departmental roster pages.
I paste below the README file from my recent work on that tool, OBAS. I
ended up creating a whole new script "allBiblio.pl" to replace most of
the data entry/modification work of OBAS, but still I have fixed the
original OBAS too.
There is one niggling problem with javascript in OBAS data entry. Since
I don't do much javascript, I am unable to understand why the
validate.js script does not work on OBAS file additions, and I wish
somebody would tell me why.
I tarred up the source here in case you want to look:
http://www.ku.edu/~pauljohn/obas/obas-2.0.tar.gz
To install this, you need to edit Makefile, cgiconf, create_docs to suit
your installation.
Since I figure the probability is ZERO that anybody would do that :), I
also have left up the working version of OBAS here and will leave it a
few days for you to test:
http://www.ku.edu/~pauljohn/obas/obas/
If you run add, you note it does not do the javascript validate to make
sure you put in author, title, etc. So the validation occurs after
submission, and the user gets a "reject" note, but has no way to use
"back" to modify the record. The allBiblio.pl script does not suffer
from this. But I still want OBAS and OBASQ to work as intended.
OBASQ, The query version is installed here:
http://www.ku.edu/~pauljohn/obas/obasq/
The intention there is to block people from anything except search/browse.
And the source code files are here:
http://www.ku.edu/~pauljohn/obas/src/
In case you will take a minute to look and see why the validate.js does
nothing, please go there. Here is where to look. The entry.html file
offers to let you add a record, and when you choose the type, it
triggers a javascript the puts up a data entry form. That script is
enter.js. At the end of enter.js it grabs the script validate.js:
("<SCRIPT
SRC=\"http://www.ku.edu/~pauljohn/obas/obas/javascript/validate.js\">");
d.writeln("</SCRIPT");
and I think at one time it did stop submissions with empty author/title,
but it does not do now. I've added validation after submission and that
does work.
In case you wonder, the source is edited in the *.dat files and then
"make" triggers the creation of the .pl and .html files.
I need to make a run through to code to delete miscellaneous comments
and clean up stuff, but I don't expect I have much more to do before
this is finished.
------------Now, here is a pasted in REAME file from the source---
Paul Johnson <address@hidden> 2002-08-03
On July 18, 2002, I started looking for an online bibliographic
tool that would work along with the membership/resume Perl
scripts I have already developed. I found in the internet
the program called OBAS (c 1999) by Derick van Heerden. Derick
released OBAS under the GPL, and I am releasing it again
under those terms. I'm claiming copyrights for all changes
against the original program.
Derick obviously had the same idea, but apparently had stopped
developing OBAS in 1999. At least for me, it did not run and was
not exensible. But the basic idea was close to mine and so,
rather than starting afresh, I started modifying, revising.
I worked HARD on this and what you get now is:
1. An "all in one" perl script for entry and revision
of bibliographic items called "allBiblio.pl". While
perhaps not as beautiful as the original OBAS approach
it is much more secure and also more extensible
and also it validates entries and DOES NOT rely on
the easily circumventable javascript to do its work.
This all in one script does not rely on the Perl
module Document.pm or any other parts of the code
here. You can install it in a CGI directory by
itself, if you care to, along with the conf/cgiconf
file that all scripts need.
allBiblio.pl relies on a companion database to authenticate users.
The name of the companion database is in conf/cgiconf. When it
runs, the first thing it does is ask for a password. The idea is
that people enter allBiblio.pl from some page that passes through
a variable called "creator" which is then matched against a people
database and password checked. That way, only authorized folk can
enter and revise database records.
2. A working version of the original OBAS framework, an insecure
biblio tool. OBAS has an html front end in the directory
obas/obas (look at the Makefile, you will see what I mean) and
these Perl scripts:
enterx.pl
browse.pl
modify.pl
bmodify2.pl
extractbib.pl
Along the way, the validate.js script quit working, I wish
somebody would fix it. Since I'm not a believer in
javascript validation, I'm not digging into it. OBAS does
now have stronger validation after submission.
3. A working version of the original OBASQ framework, an OBAS front
end for searching and browsing that installs into obas/obasq. My
idea is that most installs of OBAS will make only this part
publicly accessible, while the other obas/obas part can be
password protected by .htaccess.
OBASQ relies on the same perl scripts that OBAS uses, but it tries
to "hide" the interface that allow modification/addition of
database entries.
So, while leaving the face the same, I made
some major changes in the guts of OBAS. Namely:
1. The Makefile has more user-specific variables and several of the
files have to be edited so they can find the other parts of the
program. Look for markers like CGIURLDIR (the URL of the CGI
directory) and you will see what I mean.
2. OBAS was designed in a way that passed information around in
arrays, which does not allow even the slightest change in the
database columns. I converted everything to hashes and abstracted
variable handling so that most parts work fine even if one addes
columns in one of the databases. The file Document.pm is changed
over to have the hash as its storage type (which I gather is
standard in Perl anyway).
This revision gains abstraction by specifying some site specific
variables in a file conf/cgiconf, which sits in the CGI-BIN
directory. By trying my best to avoid (where possible) any
explicit usage of variable names inside the Perl files (the *.dat
files) themselves. Instead, column names and table names from the
database are kept in cgiconf and accessed when needed.
3. Search and Broswe now work!
Searchers can specify values for author, subject, and
keyword and the extractbib.pl deciphers them and gets
matching records.
4. allBiblio.pl is a completely new thing, but it uses concepts
I developed in the revision of OBAS as well as in the Swarm
Development Group membership page program.
-------------------------------------------
before 2002-08-03,the sole content of this file was:
Pleae read the INSTALL file, or overview.html
--
Paul E. Johnson email: address@hidden
Dept. of Political Science http://lark.cc.ku.edu/~pauljohn
University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66045 FAX: (785) 864-5700
==================================
Swarm-Support is for discussion of the technical details of the day
to day usage of Swarm. For list administration needs (esp.
[un]subscribing), please send a message to <address@hidden>
with "help" in the body of the message.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- my online bibliographic odyssey nearing conclusion,
Paul Johnson <=