David Gaia Kano's Dartmouth Projects
April 2005 - April 2006
Last updated on 12/11/2006 [to add mid-year plans and goals]
Here are some of the things I have helped to create and are either released to the general community, in development or planned to be started from
July 2005 through June 2006. More general goals are included in the last section as well.
Back up to DGK Projects Index Page
Released:
- I completed the implementation of an enhancement to Library Hours, which displays a calendar / table format for one library / access point at a time with the hours in each day cell. In addition, the hours for all libraries / access points on a specific date are displayed via the date links. This format was inspired by the U Penn library site.
- I enhanced the Class Sign-up System. The first request was to allow for classes for which there was no definite date scheduled. An alternate date field can now be entered as any text string, such as "Sometime in May 2006" or "Future Date to be Determined by Demand". If this alternate date field is used it is displayed in the calendars and on the sign-up page, instead of the actual date. The other enhancement was the way that classes are placed on calendars. The new model eliminated the need for multiple class categories within the same department, even when the multiple constituencies (students, faculty, science faculty, grad students) are served. This was a fairly significant enhancement which was suggested by Jane Quigley, who was instrumental in the analysis and user interface design. The additional flexibility in use of the calendars has been well received with no confusion over how the new system works. Once implemented, a number of class categories were merged, simplifying the use of the system by the effected departments.
- I participated in the move from olympia to giza. In the process I created a Makefile to facilitate checking out and installing the various applications I've been involved in writing that are served from diglib.dartmouth.edu (now library.dartmouth.edu).
- I worked with Jill Wilcox to develop an on-line voting system for the Dartmouth College Library Staff Association (DCLSA). The first version was put together in a few days to support the elections which were being held soon after the project was begun. Just the balloting and results were supported, with the initial candidate data entered via manually constructed SQL insert statements. Later, administrative scripts were written to allow the DCLSA board to create a new ballot themselves. The system insures that each Library staff member may vote only once. It also provides for "write in" candidates.
- The Research Guides system was enhanced to support course guides. These are single page guides, with special requirements for the title and different links in the left side bar. This was mainly a template enhancement with some new features in the authoring interface as well. This entailed a fair amount of analysis and discussion with the Research Guides II task force and a relatively small amount of implementation time.
- I worked with Cecilia Tittemore and Jay Satterfield to create the Collection Development Policies authoring and publishing system. Barbara DeFelice also helped with early testing and use of the system. Existing CDP HTML documents were imported into the database driven system. The system provides for N policy revisions each of which are saved indefinitely. If a bad URL or other minor problem is found in the currently published version, it may be edited without bumping the revision date or number. A "backup" of the original published version is maintained in the system, in case inappropriate levels of changes are made using this "update published" feature.
- I worked with John James, Jim Fries and Barbara DeFelice to create the Bibliographers Annual Report editing and reporting system. By analysis, it was seen to be dependant and effectively a subsystem of the CDP system described above. Each series of annual BAR documents is related to a CDP title. The CDP title and last date published is displayed at the top of the BAR document. I suggested the "Quick Notes" feature of this system, which was implemented via Ajax technology to optimize performance and encourage year 'round use.
- I worked with a number of people on the Oracle DBA team and Eric Bivona to improve the efficiency and performance of eResources searching. We had been informed by Rik King that the diglib schema was seeing a large number of scattered reads which were taking a large share of the Oracle server disk/CPU resources. eResources has grown significantly since the searching code had been changed to use Eric's inverted indexes. Through refining the queries used including employing a new global temporary table, response time of queries has been reduced as much as 80%.
- I rewrote the Facts at a Glance system. This provided a platform to learn more about the image functions built into PHP. The images that are uploaded into this system are automatically resized to resolutions appropriate for web delivery and a thumbnail is created for display on the editor's index page.
- I worked with Mary LaMarca to integrate the Webfeat based Search360 functionality into the eResources interface. In the process I helped debug some problems in the Webfeat implementation. The integration uses CSS visibility styles to implement instantaneous switching between the eResources and Search360 search forms. This javascript based implementation was deemed appropriate given the high use of javascript and dynamic HTML in the Webfeat implementation.
- With the increase in the number of systems that I have written over the years that are still in use, the amount of time I'm spending on maintanance is increasing as compared to past years.
<top>
Under Development:
- I am working with Pamela Bagley and Dennis Grady on developing an on-line "Collaboration system". This will allow people to share favorite articles, workshop notes and presentation files, etc. with other people in a designated group. The group could be all Library Staff, or a specifically configured list of Dartmouth DND members. The group that may write could be different (more limited) than the group that can read (possibly open to all or all library staff, etc.). The authentication needs were the main thing that drove this implementation vs. using something already available. The interface will use an "edit in place" concept and feel, implemented with Ajax. It will also provide easy selection (to "open up" the full item so it's text appears in a title-only list) / de-selection of specific items for display / printing.
- I have done some preliminary testing of our PHP applications using PHP 5. Everything seems to be compatible. A Twiki page has been started to plan this upgrade on our live server. This has been a lower priority goal and thus has yet to be completed. The priority is rising as Eric would like to discontinue building both PHP4 and 5 on ephesus each upgrade! Also while PHP4 is still being supported, some of the latest functions are only available in PHP5.
- I have a number of other lower priority bug fixes and enhancements to implement in existing systems.
<top>
Plans and goals:
- I'm planning on further improving the error handling in my systems. This has been discussed with the rest of the DLTG group on email and in a subsequent meeting. The current best thoughts of the group are to have all scripts keep track of certain fatal errors such as the inability to log onto Oracle, so that when subsequent attempts fail, the same error email message need not be sent. On or more files could be used it the /tmp directory for this purpose, which would be deleted on successful connections, etc. Also, syslog could be used to log all errors, including ones that did not generate an error email message. This would keep a record accessible to all, when needed.
- I'd like to improve my ability to use Ajax as a tool for developement of more interactive web pages. I have gotten started using a PHP based package for this purpose. This allows for a more flexible design and richer user interfaces, but the methods of debugging are somewhat different and challenging.
Additional mid-year updated plans and goals
- The top priority is to prepare for my leaving DLTG some time in 2007. I'm creating / updating documentation for each of the systems for which I've been responsible. A to do list has been created in Twiki (DavidToDo) for easy reference and to get help setting priorities.
- I'd like to complete the libforum system. While it does meet the immediate needs of E&O for their website, it has not been tested and debugged in other configurations. It also should be enhanced so that all functions work with out JavaScript enabled.
- If approved, I'd like to enhance the Class Signup system to meet the needs of DCAL for tracking the use of their center. This would entail creating one new function vi a new script (to allow adding an event and its participants in one simple step), plus enhancing the functionality of one existing script (that reports information about participants).