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
|