Ibland uppmärksammas man på problem som tar en långt i tanke och handling. Gunilla Källman, kontaktbibliotekarie på Örebro UB, fångade mig en dag i korridoren. Hon tyckte det var ett problem med ”Time out” inställningarna i Örebro UB:s OPAC. Man blev utkastad lite titt som tätt ur opac:en. Gunilla undrade om man inte kunde göra något för att komma tillbaka till läget innan man kastades ur. Jag funderade lite över problemet, provade lite olika lösningar innan jag fastnade för url:en på time-out sidan. I url:en återgavs en mängd variabler, sessionsdata, språkinställningar, sökord, osv. Ur detta föddes en idé att läsa in informationen för vidare bearbetning.

Detta resulterade först i en lösning som presenterade en länk på time-out sidan. Länken innehöll söktermer som skickats till sidan som föregick time-out:en. Efter att förfinat metoden lite började jag fundera på andra saker man kunde göra genom att fånga upp datat som skickades via url:en, inte bara vid en time-out.Nedan: En bild som visar Örebro UB:s OPAC vid Time-out! En länk presenteras så att användaren kan göra om sin sökning.
Örebro UB - OPAC time out

Nästa steg blev att fånga upp söktermer i OPAC och konstruera länkar till andra söktjänster vid sökningar som resulterade i 0 träffar. Detta för att användaren på ett smidigt sätt skulle kunna gå vidare med sin sökning om OPAC:en inte gav förväntat resultat. Jag konstruerade länkar till LIBRIS, stadsbiblioteket, SCIRUS och Google Scholar med fördefinierade sökord. Naturligtvis ledde detta till en diskussion internt kring ”problemet” med att ge användaren en tydlig utgång från OPAC. Själv tyckte jag aldrig att det var ett problem, om det nu var så att utgången gav användaren ett resultat som denne var nöjd med.

Vidaresökning vid 0 träffar

Ovan: Vid 0 träffar presenteras man med möjlighet att gå vidare med sin sökning till andra kataloger.

Den vanligaste anledningen till 0 träffar i OPAC var (och är antar jag) felstavningar och användandet av för många söktermer (med default AND operator).


Att i det läget visa länkarna med vidaresökning i samband med 0 träffar, kanske inte bidrar så mycket till att lösa ett problem. Att inkludera vidaresökning på alla sidor som fått en sökterm skickad till sig verkar vara bättre. Alltså oavsett om man får 0 träffar eller fler så presenteras man i OPAC en möjlighet att gå vidare med sin sökning. Denna lösning implementerades utan några större tekniska problem i Örebro UB:s OPAC och jag kunde presentera länkar till i princip vilken OPAC/Söktjänst där jag kunde utläsa hur söksträngar togs emot med GET (t ex DiVA, SCIRUS, ELIN@OREBRO, Book-IT, LIBRAIII, LIBRIS mfl). Speciellt användbart blir det om en låntagare vill kontrollera lånestatus i en annan katalog om boken är utlånad. Säg att man på ett enkelt sätt vill gå från universitetsbibliotekets katalog till stadsbibliotekets.

Nästa tankevarv tog mig till att försöka presentera antalet träffar som någon skulle få om de klickade på vidaresökningslänken. Mitt testobjekt blev LIBRIS. Eftersom LIBRIS inte har något API eller webbtjänst för att ta emot och svara på förfrågningar blev jag tvungen att göra en http-förfrågan och läsa in hela sidan i en vektor för att på så vis söka mig fram till hur många träffar som LIBRIS returnerar. En hederlig screen scraping m a o. Jag har inte kunnat se några problem med prestanda utan det går fort att få svar från LIBRIS, bearbeta resultatet och presentera en länk för användaren.

Vidaresökning från träfflista i Örebro UB:s OPAC

Ovan: Vidaresökning presenteras i sidfoten. Antalet träffar i LIBRIS är “försökta” och presenteras.

Så länge man håller sig till icke licensierade resurser verkar man inte stöta på några problem. Men om man börjar länka till licenserade databaser/söktjänster så kan man få en del proxyproblem. Om man vill presentera antalet sökträffar redan i länken till licenserade resurser så måste man på något vis logga in användaren i proxyn och att göra det sömlöst kan vara klurigt. Så av den anledningen har jag valt att inte göra det. Även om jag har någon tanke kring hur man skulle kunna göra.

Här någonstans i tiden bytte jag jobb och kunde inte gå vidare med mina tankar på Örebro UB. Istället har jag försökt att skapa om alla funktioner som jag gjorde för Voyager till ALEPH då min nya arbetsplats, Högskolebiblioteket i Jönköping är med i Ex Libris-sekten.

Att anpassa funktionerna för ALEPHs OPAC visade sig inte vara så svårt och det var under det arbetet som jag började fundera på andra användningsområden för den information som lagras i url:en

Vidaresökning från JULIA - Högskolebiblioteket i Jönköping

Ovan: Vidaresökning från JULIA - Högskolan i Jönköpings OPAC

Snart kom jag i tanken tillbaka till hur man hanterar 0 träffar. I flera år nu har man från bibliotek frågat efter stavningskontroller. Jag har laborerat lite med olika modeller för det hela, men det har ofta stupat på den lista av ord som man skall kolla mot. En tanke var att indexera alla titel-, ämnesord- och författarfält i bibliotekskatalogen för att få ett index med godkända ord att jämföra mot. En annan var att använda en webbtjänst för att göra uppslag på ordet t ex DictService och på det sättet auktorisera sökorden. Till slut fastnade jag för Googles API som tillåter att man använder deras stavningskontroll för att få förslag på alternativa stavningar.

Googles API har en begränsning på 1000 förfrågningar per dag och för att använda det måste man registrera sig och få en nyckel. När man väl har den är det bara att sätta igång och använda flera av Googles tjänster via SOAP. I JULIA, högskolebiblioteket i Jönköpings katalog, har man i genomsnitt 500 sökningar per dag som resulterar i 0 träffar. Således borde vi kunna hålla oss under Googles gräns på 1000 förfrågningar per dag. Men, det kan ju hända att det blir för många förfrågningar någon gång.

Efter att ha satt mig in lite i hur Googles SOAP API fungerar så kunde jag ganska enkelt, genom att använda mig av samma koncept som i vidarelänkningen, skicka sökord som resulterat i 0 träffar till Google och få tillbaka förslag på alternativa stavningar. Alternativet presenteras sedan som en länk som skapar en ny sökning i katalogen och då förhoppningsvis med träffar.

Stavningskontroll med hjälp av Google

Ovan: Vid sökning som resulterar i 0 träffar presenteras, om det är möjligt, ett alternativ. Alternativet kommer från Google och länken leder till en sökning i OPAC med de/t föreslagna sökorden.

Naturligtvis finns det en del begränsningar. Inte minst när det gäller att få Google att hantera svenska sökord. Men det finns även en del kreativa sätt att ta sig förbi dessa.

Rent tekniskt så använder jag mig av en smula JavaScript, en smula iframe (vilket väl borde göra det hela till en slags mashup) och en smula PHP för att få till det hela. Jag delar gärna med mig av det hela om någon är intresserad.

Om man dessutom är på ett Webvoyage (Voyager) bibliotek så kan man titta lite extra på Jim Robinsons sida om hur de integrerade Google spelling suggestions med sin OPAC, komplett med källkod och allt. Det enda som behövs är en licens-nyckel och det får man när man skapar ett Google account.

Det här är väl så långt jag kommit i mina tankar och handlingar kring vad datat som skickas i våra OPAC – urls kan användas till. Men, nu när jag öppnat dörren till webbtjänster så spanar jag och funderar. Undrar t ex vad man kan göra med Amazons REST API

Sensmoral … lyssna på dina kompisar, förmedla tankar, små idéer kan leda långt i tanke och handling.

Tags: , , , , ,

2 Responses to “URL parsing i OPAC - food for mashup!”  

  1. 1 dfn

    hehe, kanske inte de mest tydliga av bilder … antingen så får ni gå till respektive OPAC för att prova eller så kan jag länka till lite större bilder.

  2. 2 Peter Giger

    Mycket intressant. Din framtid som API-hackare är nog ljus. Morgondagens system kommer förmodligen bygga mycket på api. Jag är också mycket intresserad av vad Amazons api-tänkande kan leda till, särskilt nu med lagringstjänsterna.

    Kanske kommer vi med tiden se något som skulle kunna kallas Mashup-Bibliotekarier…

Leave a Reply



Taggar

Epost för prenumeration:

Delivered by FeedBurner

www.flickr.com
This is a Flickr badge showing public photos from the Bibliotek 2.0 group pool. Make your own badge here.