Limitations in the current release
Related Item Filtering
The Bookshelf identifies "related" items based on call number proximity. Current limitations in the Voyager Web Services APIs (or limitations in my understanding) make it difficult to filter out items whose call numbers have different types but are alphanumerically related. As a result, some items displayed on a bookshelf may not really be "related" to the initial item.
The list of related items is retrieved by calls to the Voyager API's SearchService and SearchResultsService, using the browse-mode CALL index (CALL+). This search does not support filtering of any kind (by location, call number type, etc.), and the resulting data is limited to title/author and call number (no full bib or MFHD data). As a result, the following call numbers are returned together, with no distinguishing metadata:
- He (Fiction call number, HE = author Jane Hertenstein)
HE1 .R68 (LC call number, HE = Transportation & Communications)
HE 1.2:Ad 7/2 (SUDOC call number, HE = Health & Human Services Department)
Therefore in order for the Bookshelf to return logically related items, it must filter on logic that attempts to discern call number type from pattern matching on the numbers themselves. This is fragile and likely to be faulty in different ways with different libraries' cataloging practices.
By default, the Bookshelf attempts to display only items standard LC call numbers. The filtering logic can be customized using regular expression logic: see the Installation Guide for more information.
I am continuing to research this problem. If anyone knows how to format a call to SearchService using a Voyager index/heading with all of the following three properties, please let me know!
- Searching on a call number
- BrowseFlag=Y, i.e. Prev/Next nagivation rather than a set number of results
- Filtered results in some appropriate manner: call number type, location, etc.
- Or, at least returning a field with that data from SearchResultsService.
"Oops, something didn't work right."
This message appears in the bookshelf when the server is unable to complete a request. The cases currently known to occur are:
- Item's call number contains a hyphen. This will sometimes cause an error, due to a bug related to the Related Item Filtering problem above. This issue was fixed in Release 1.1.
"No holdings available -- check at circulation desk"
This WebVoyage error page appears sporadically when navigating to a different item's page via its title or cover image. A browser refresh/reload always succeeds in loading the page.
This error seems to be due to an underlying Voyager problem, as it has also appeared when viewing a WebVoyage page from a unrelated Voyager add-on. From viewing WebVoyage (vweb) logs, the same URL is received in both successful and error-generating cases, so either WebVoyage handles them differently or the web services layer (vxws) does. I am continuing to investigate a workaround.
Currently only Firefox 2.0+ and IE 7+ are supported, with the bookshelf intentionally hidden on other browsers. I intend to support recent versions of Chrome and Safari as well, but the usual bag of tricks necessary for IE has currently broken the display in those browsers. IE 6 and Firefox 1.5 seem to work as well, other than a few visual artifacts.