Library Maps - Aleph - Voyager - Crossproduct
Tags: aleph , voyager , maps , call , numbers , floors , crossproduct
Last Updated: Feb 19, 2010 17:32
- Author: Mark Dehmlow
- Additional author(s):
- Institution: University of Notre Dame
- Year: 2009
- License: GNU GPL version 3, Copyright 2009 University of Notre Dame/Hesburgh Libraries
- Link to terms: http://www.gnu.org/licenses/gpl-3.0.html
- Skill required for using this code: intermediate
Programming Language
PERL
Description
This Library Maps tool is a comprehensive tool for providing access to library maps from an opac or other service. It uses combinations of sublibrary, collection, and call number to serve up an appropriate map, floor label, and even section of a floor. The system includes a database back-end (mysql), an administrative GUI, a web services based API and a PERL based front end. While it was initially created for Aleph, it could easily be extensible to any system that needs to associate map images with call numbers and other related information.
State
Stable
Screen captures
Download
http://www.exlibrisgroup.org/download/attachments/21102801/maps.zip
Working example
Maps Service
http://www.library.nd.edu/eresources/maps/maps.cgi?call_number=PR%206069%20.T6%20A6%201994b&collection=GEN&sublibrary=HESB&title=Stoppard%20%3A%20the%20plays%20for%20radio%201964-1991%20&doc_num=001407619
API
http://www.library.nd.edu/eresources/maps/api/maps.cgi?call_number=PR%206069%20.T6%20A6%201994b&request_type=call_number
Changes
Version 1.0
Initial Release
Dependencies
URI::Escape.pm
CGI.pm
Data::Dumper.pm
XML::LibXML.pm
LWP::UserAgent.pm
Installation instructions
All of the files from the attachments menu should be saved to a directory on a web server that can execute PERL scripts. Each part of the system has its own local XML configuration file. Each .cgi script will need to include the appropriate path to PERL.
More detailed instructions are included in the distribution package.


1 Comment
comments.show.hideFeb 08, 2011
Patricia Kreiss
FindIt is a nice addition to our OPAC but we found a small bug since implementing it at our library.
When a call stem is split between two floors the software will sometimes point to the wrong floor
because the call number was not being normalized correctly. For instance at our library the call number
PJ827. S3313 1985 was pointing to the 7th floor instead of the 6th because the number first part of the call number was being treated as PJ8270 instead of PJ0827.
I added one line into the cgi-bin/maps/api/mapsucsb.cgi program in this section to fix it: (see line in blue)
# parse call number into segments
$call_number[$i] =~ /^([A-Za-z]+[\s])([0-9][\s])([A-Za-z0-9\.\s])/;
my $division = $1;
my $subject = $2;
my $author = $3;
$division =~ s/ //g;
$subject =~ s/ //g;
#### the following one line is to normalize the subject section of the call number - Trish
$subject = sprintf("%04d",$subject); <----- (left justifies call number subject section with zeros)
We commented out the following lines also:
##TK my $subject_count = length($subject);
##TK my $differential = 5 - $subject_count;
##TK $subject = $subject . '0' x $differential;
...and adjusted the maps database accordingly.