Inserting Stack Map Links in LHR's with the Collection Manager API & LHRUS Batchloads

The American University of Sharjah (AUS) went live with WorldCat Discovery in June 2016. One of the key features missing from our previous system was the ability to display a stack map showing where a book or media item was located.

Stack maps have been very popular with our students. Many of them come from schools without libraries or with libraries organized by the Dewey Decimal Classification® (DDC) system. We use Library of Congress Classification (LCC), which is challenging for any new user, let alone one whose first alphabet is non-Roman and which may be read right to left instead of left to right.

Although stack maps were not supported by WorldCat Discovery, we noticed that local holding records (LHRs) allowed the 856 fields. We then determined that with the copy or OCLC number, we could use the WMS Collection Management API to retrieve the Shelving Location and Call Number. With these two pieces of information, we could map to an image of the correct stack.

The final piece of the puzzle was how to get links into 150,000 LHRs. We solved this by exporting all of our titles with LHRs from a WorldCat® query collection in WorldShare® Collection Manager. We included the LHRs as MARC 21 Format for Holdings Data (MFHD) records. The MFHD contained the copy number, which we used to build the 856 with the URL using MarcEdit. We then used a Local Holdings Record Updating Service (LHRUS) as a batchload solution to reload the records into WorldShare Management Services, and our users had their maps back.


WMS Collection Management API Script

We wrote our script in Perl, but it doesn’t matter what you use. It just needs to take an element you can insert in the URL to get the information needed to find the collection map.

If you haven’t worked with the APIs, they’re pretty straightforward from a web-programming standpoint. You need a WSKEY (I liked the sound of this from the moment I first heard of it), which gives access to the API(s) you want to use. For production, you’ll want a way to use this securely and to limit it to just the APIs you’re using.


These are the steps.

  1. Take the copy (LHR) number from the URL.
  2. Get the copy record via the API.
  3. Parse the XML response for the Call Number and Location.
  4. Look up the Call Number in the MySQL table.
  5. Return the associated stack map JPG.
  6. Display it in a new tab/window.

View an example of the library stack map that shows the location of the item with the copy number 190704848.

More information about the WMS Collection Management API is available on the OCLC Developer Network.  

For more details, see my full presentation from the WMS Global Community & User Group meeting.