swarm-support
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]