URL parsing i OPAC - food for mashup!
Published by Daniel Forsman oktober 24th, 2006 in Tips och tricks, Bibliotek 2.0 Tags: api, bibliotekskataloger, Mashup, samsök, webblösningar, webbtjänster.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.

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.

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.

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

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.

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.
2 Responses to “URL parsing i OPAC - food for mashup!”
Leave a Reply
Sök
Taggar
-
3D akademisk kompetens användare Användargränssnitt api artikeltips autonomi bemötande betydelse bibliotek bibliotek 2.0 bibliotek 3.0 bibliotek20.se bibliotekarierollen bibliotekarieyrket bibliotekschatt bibliotekschatt chatt biblioteksfilosofi bibliotekskatalog bibliotekskataloger biblioteksliv biblioteksrummet bibliotekssystem bibtex bildbehandling bilder blog blogg bloggtips bokhylla bokmärken boktips café camtasia centralisering chatt citeulike communities connotea Creative Commons dagstidningar delaktighet delicious deltagande deltagarkompetens deltagarkulturer demokrati design digitalt paper dokumentformatet drm e elaring e papper eböcker ekonomi emusic endnote enkät epapper episteme epostlistor etidning event examination expert FAQ feedburner fildelning film filosofi firefox flickr flock folksonomi forskning forskning 2.0 framtid frihet fronesis frågetjänster föreläsningar författare författare 2.0 google Google Nyheter grafisk guide hälsa hållbar utveckling ideologi information informationsdisk informationskompetens informationssamtalet institution Internet Internet Librarian internt isbn issn jabref javascript jourhavande kalender katalogisering kloster kommunikation kompetens konferens konferenser kravrutiner kunskap kunskapsproduktion 2.0 kunskapsteori lagring latex Libris listor lyx lärande lärobjekt lärresurser läsare läsplatta lösenord marc xml Mashup media mediejukebox mediär meebo meebome microcontent mikroformat miljö mindmap minnesstöd mp3 msn musik människa teknik mässa namnrymd närhet nätverk onlinekurser opac open source orginalitet parodi participation literacy patent pdf pekskärm ping pinga pod portal postcast prenumeration programmering radical transparancy ranking rankning recensioner referenser referenstjänst regler relevans reserach rfid rootkits rss rss bibliotek uppsatser rss läsare rssläsare rumskonceptet räknare samarbete samsök samtal sanctuary scribd second life seo skype skämt skärmbild skärmbilder skärmdumpar snapshot social software Sony Reader spam spiralfrog språk språkfrågor ssb stickam storebror student synkron asynkron sökguide sökmotor sökmotorer sökmotorvänlighet sökning sökresultat tablet pc taggar taggmoln techne teknovetenskap television testa tillägg tjänster topplistor trender tv undersökning upphovsrätt uppsats utbildning vetenskap video virtuella biblioteket visuell web 2.0 webb office webbkatalog webbliv webblösningar webbsök webbtjänster webbtv wiki wikipedia workshop yahoo youtube zotero återvinning öppenhet
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.
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…