Bug 737

Summary: Map of library in search system
Product: Koha Reporter: Chris Cormack <chris>
Component: OPACAssignee: Owen Leonard <oleonard>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P2 CC: ago, barbara.johnson, bargioni, bugzilla, cbrannon, cnighswonger, gmcharlt, jhannert, magnus, mirko, mjr, nengard, nicolas.legrand, paul.poulain, sally.healey, severine.queune, veron
Version: master   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10814
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:

Description Chris Cormack 2010-05-20 23:34:39 UTC

---- Reported by mjr@ttllp.co.uk 2004-03-09 07:15:42 ----

In the search results, it would be good to show the location of a book on a map
of the library.

---- Additional Comments From drdrulm@yahoo.com 2009-03-03 07:30:03 ----

I am working on an OPAC feature to display graphical overhead maps and I would
like to incorporate this into the existing Koha 3 codebase. 
The idea is gleaned from NEU library and would work the same way with these
•	Allow many/different image types or content links: 
        gif, jpeg, png, flash,html, etc.

•	Have a specific link for “find it on map” or “map it” 
         – something like that.  

I am looking for suggestions for ways that would be acceptable to the Koha
coding community as far as where to store the data and where to link it.
It would seem one could enter link data using the existing authorized values. 
In other words, create a new authorized type “maplinks” then allow Koha
administrators to put in any content they want much like the existing icon 

In addition, a sys-pref is required to turn this feature on/off should be 

Any ideas, thoughts, chance for inclusion. I want to work with the Koha coding
community to mesh this as nicely as possible. What would be the best way to
proceed and what would the release manager like to see. I am aiming on finishing
this project by Summer 2009.

---- Additional Comments From paul.poulain@biblibre.com 2009-04-18 16:37:48 ----

galen:  a volunteer for this, I add you as cc:

Darrell, my suggestion :
* you could have a different image for each branch (and items.location maybe)
* A table should be added to tell the graphical position of the location depending on the items.itemcallnumber of the item. The table could contain : branchcode, imageurl, (maybe items.location) itemcallnumber, Xcoord, Ycoord.
* when the user click on "view position", a new script is loaded, that get the branch/itemcallnumber (and maybe items.location), deduce the image to retrieve, add a cross or a circle or whatever at Xcoord, Ycoord, and returns the image.

Improvement : let the librarian choose between a set of cross/circle/rectangle/ ... to put to the library map.

my 2cents

---- Additional Comments From arm@hanover.ca 2010-02-16 23:09:02 ----

I would like to imagine a feature for Koha's OPAC, where the customer
can click on a 'Where is it?" button for any title that is available on
shelf, and be presented with a library plan showing the section where
the item should be.
Something that would translate existing library location data (call number, item category, location and branch) from the item, rather than adding extra data as described ("create a new authorized type “maplinks” then allow Koha administrators to put in any content they want"). That way it should work for all existing materials, not requiring new authorized values to be added and applied.

For instance, if the person looked up Pride & Prejudice, and the library
has a copy in their Classics section, on the lower floor at the end of
the Fiction shelving, the plan would show the shelving layout with the
appropriate shelf area highlighted. This would of course require some work from each library to create the shelf plan, and then link it to categories and/or call number ranges in Koha. Not sure whether the graphical plan would be created in a new set of Preferences or maybe a plugin? 

Call number may be more precise than needed, but I think call number ranges should work, such as Junior Fiction A-J.

---- Additional Comments From cnighswonger@foundations.edu 2010-02-17 02:21:08 ----

FWIW here is an example of such a feature from the North Eastern University Grand Library (http://library.neu.edu.tr/cgi-bin/koha/opac-main.pl) which is running some flavor of 2.x:


---- Additional Comments From arm@hanover.ca 2010-02-19 01:46:22 ----

(In reply to comment #4)
> FWIW here is an example of such a feature from the North Eastern University
> Grand Library (http://library.neu.edu.tr/cgi-bin/koha/opac-main.pl) which is
> running some flavor of 2.x:
> http://library.neu.edu.tr/cgi-bin/koha/opac-location.pl?location=HQ1991.95&lib=%20NEU%20Library[Cyprus%20Section]%20%282%29%3Cbr%3E

I took a while to find out how to make the map appear, even knowing this feature existed (you click on the call number). I think it needs a separate named link or button with clear label, like but not too like the existing 'browse shelf'

--- Bug imported by chris@bigballofwax.co.nz 2010-05-20 23:34 UTC  ---

This bug was previously known as _bug_ 737 at http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=737

Actual time not defined. Setting to 0.0
The original reporter of this bug does not have
   an account here. Reassigning to the person who moved
   it here: chris@bigballofwax.co.nz.
   Previous reporter was mjr@ttllp.co.uk.
The original assignee of this bug does not have
   an account here. Reassigning to the default assignee
   for the component, gmcharlt@gmail.com.
   Previous assignee was drdrulm@yahoo.com.
CC member arm@hanover.ca does not have an account here

Comment 1 MJ Ray (software.coop) 2010-07-07 19:27:05 UTC
Restoring where "Previous assignee was mjr@ttllp.co.uk"
Comment 2 Magnus Enger 2012-05-10 07:43:51 UTC
I have started to collect some ideas here: 
Please feel free to add/delete/comment!
Comment 3 Magnus Enger 2012-05-30 08:31:03 UTC
OK, I'm taking a crack at a simple implementation of this. See http://wiki.koha-community.org/wiki/Shelf_Map_RFC for some hints on how I intend to go about it. Work in progress will be available from git@github.com:MagnusEnger/kohawork.git, on a branch called bug737-shelfmap ( https://github.com/MagnusEnger/kohawork/tree/bug737-shelfmap ).
Comment 4 Albert Oller 2012-07-25 21:20:35 UTC
Hi Magnus,

these may help you:




I asked PUSC what they were doing, but haven't heard back from them yet.

Best regards,
Comment 5 Stefano Bargioni 2012-07-26 16:15:50 UTC
I added another "example in the wild" in the wiki.

The library maps at Pontificia Università della Santa Croce work independently from Koha. They are 12 years old and run for Aleph 300 and Amicus too.
The tool is based on a set of gif images and a database of objects to pin on the corresponding map. Every map has properties:
id, filename, name
and every object has properties:
id, type, map_id, x-coord, y-coord, string_value.

Since my library basically uses itemcallnumbers in the form "[A-Z][A-Z] [0-9]+", the value used for objects are the first two letters. Other libraries can have different type of itemcallnumbers, and this implies an effort to satisfy every kind of situation.

The returned page contains a gif image with letters, dynamically composed using GD Perl module, and an html map for links to a special virtual bookshelf. Look at
for an example.

Albert, http://catalogo.pusc.it/pusc_opac.js is not very useful. It is a set of customizations of my opac. One of them allows to build the "compass" link, but this can be easily done with a little modification to the opac-detail template.

The tool also allows to edit maps -adding, moving, or deleting letters- using a web interface.

An interesting solution I hope to introduce could be to avoid GIF and use SVG: it opens up a lot of dynamic features on the web page, through javascript.
Comment 6 Mirko Tietgen 2012-12-11 18:57:28 UTC
Hi Magnus,

in the light of Bug 9265 (switch to HTML5 doctype) and without taking a look at your branch, has a decision been made regarding the "how"? I would not mind more HTML5 in Koha but I am not sure what to make out of http://en.wikipedia.org/wiki/Html5_canvas#Intellectual_property_over_canvas regarding licensing issues.
Comment 7 Magnus Enger 2012-12-20 10:56:31 UTC
Mirko: My plan was to generate PNGs on the server for the initial implementation. 

On the other hand, I ran out of time for this (unfunded) "project", so I'm setting it back to "NEW". The code I did create is on GitHub, if anyone wants to take it and run with it!
Comment 8 Christopher Brannon 2022-01-11 18:46:26 UTC
*** Bug 10814 has been marked as a duplicate of this bug. ***
Comment 9 Christopher Brannon 2022-01-11 19:27:15 UTC Comment hidden (obsolete)
Comment 10 Christopher Brannon 2022-01-11 19:27:28 UTC
Would love to see this get some steam behind it again.

I could easily see an authorized value category with codes to urls for specific locations in the library.  This would work great as we could limit codes to specific libraries.  Then we would just need a table linking the item to a code, and make this selectable in item editing.
Comment 11 Christopher Brannon 2022-01-11 20:03:20 UTC
Actually, instead of linking specific items to maps, I would suggest that perhaps there could be some way of specifying a specific combination of branch and shelving location in the Authorized Values table that, if matched on a item in the record details, an symbol appears next to the shelving location that patrons can click on to show the map in a model.
Comment 12 Christopher Brannon 2022-01-11 20:31:09 UTC
Still chewing on this.

You wouldn't have to have a separate table to link libraries, shelving locations and maps, if you created specific shelving locations for each library, limiting that location to that library.  That would create a long shelving locations table, but it would mean not creating a new table, and if you are limiting to the library, that library is only seeing their shelving locations.  Theoretically, that would work.  With each unique shelving location code, I would create a separate Authorized Value in a category like SHELVINGMAPS, and use the same shelving location code, and provide the url.

In jQuery, I would find the itemnumber, get the shelving code, and then link the map.

This would be more ideal if it were built in.

Better yet, if I am going to the trouble of creating individual shelving locations for each library, why not take advantage of the icons for that location.  It would be great if we could upload our own images for a custom icon, and just define the map in the shelving location.  (Unless the icons for shelving locations are actually used somewhere.)