Access Keys:
Skip to content (Access Key - 0)
My Area (Access Key - 2)


Toggle Sidebar
Your Rating: Results: PatheticBadOKGoodOutstanding! 6 rates
Labels:
aleph aleph Delete
voyager voyager Delete
maps maps Delete
call call Delete
numbers numbers Delete
floors floors Delete
crossproduct crossproduct Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Library Maps - Aleph - Voyager - Crossproduct

Tags: , , , , , ,

Last Updated: Feb 19, 2010 17:32


  • Institution:  University of Notre Dame
  • Year: 2009


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





Page Attachments

File NameCommentSizeNumber of Downloads
maps_api.jpg269 kB637
maps_admin.jpg302 kB649
maps.jpg378 kB737
maps.zipMaps Distribution67 kB94

Added by Mark Dehmlow on Feb 26, 2009 22:55, last edited by Mark Dehmlow on Feb 19, 2010 17:32

  1. Feb 08, 2011

    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.

Adaptavist Theme Builder Powered by Atlassian Confluence