[ CoBib ]
Collaborative indexing and annotation of bibliographic databases

 

Spring 2006

The first semester of our project was a great learning experience for the team. We realized that the development of a professional web server that would accomplish our final goal would take a lot more time than originally anticipated; we underestimated the complexity of implementing unfamiliar technologies. At the beginning of the term, we had proposed the completion of a bare-bones version of the CoBib website. Many complications arose, however--these are chronicled in our reflection report located below.

Test Applications

Building a large project consists of building smaller modules and then later integrating them into the larger project. Some milestones:

Application Objective/Comments
AJAX Use the Javascript object XMLHttpRequest to establish an asynchronous connection with our server. Upon each key press from the user, the script first retrieves an XML file from the server, then searches for the current input (as a prefix), then returns the output to the user. The script illustrates the four states of the AJAX communication, however the processing is done client-side using Javascript.
Webauth Use a .htaccess file to require authentication from users via ID and password. Since the CoBib project will remain affiliated with Duke, we have elected to utilize the university's NetID system since students/faculty already have an ID. We also have access to information about members of the CS Department, which may prove beneficial once we implement the user profiles. We will also consider the level of access to those outside the department, as well as outside the university.
BibTeX -> XML Use the BibTeXML software to convert Professor Forbes' BibTeX file into XML. This 400 kb file will assist in testing other features. The file is currently in the MODS schema from the Library of Congress.
SAXParser Use a server-side script to parse the XML file of citations: upon each key press, find possible matches on the author's last name and each result's number of occurrences. The script still uses the AJAX technique, but the processing script is written in SAX (Simple API for XML) for PHP. While an improvement over the client-side code, this application runs far too slow to be practical.
YAZ Use the YAZ extension for PHP to connect to a Zebra server running on our server. The XML file being searched is a sample from the Zebra installation. After ensuring our ability to connect to Zebra remotely, we can begin configuring a Zebra server for our XML database.
CSS Use CSS to create a consistent theme for the website. This allowed for diversity of data while maintaining an engaging, comfortable user interface.

Reports

CREU Final Report
Spring 2006 Reflection

 

Spring 2006 Summer 2006 Fall 2006 Spring 2007 Home