Esittelyssä kirjastojen avoin rajapinta SRU

Asiaan liittymätön, mutta naurusta kangistunut kissa

Julkaisempa tämän SRU:ta käsittelevän jutun luonnos-kansiostani, kun SRU on tullut puheeksi viime aikoina useampaan kertaan.

Kirjastoilla on pitkät perinteet aineistoluetteloidensa ohjelmointirajapinnoissa. Vaikka alallemme on hakeutunut sangen niukalti tietokone- ja ohjelmointiosaamista, ja vaikka ilmeisen harvat näitä asioita aktiivisesti ajattelevat, eräs asia mistä puhutaan paljon ovat ohjelmointirajapinnat. Nämä tulevat esiin KDK:n, Auroran, Arenan, CS Library ym. kaltaisissa hankkeissa, joissa nimenomaan avoimet ohjelmointirajapinnat ovat keskeisiä jotta eri järjestelmät voivat keskustella keskenään.

Kenties olisi itua kerätä yhteen paikkaan, kenties data.kirjastot.fi:hin tietoa käytössä ja saatavilla olevista rajapinnoista, erityisesti sellaisista joihin on nyt heti tänään pääsy sekä meillä kirjastoihmisillä itsellämme, että myös muilla organisaatioilla, kansalaisilla ja toimijoilla. Näitä tietojahan on esim. Nelli-portaalin myötä kerätty Kansalliskirjastolle.

Search/Retrieval via URL

Eräs yleinen ja tutustumisen arvoinen kirjastomaailman ohjelmointirajapinta on Search and retrieve via URL (SRU). Kyseessä on standardi, ja tavallaan nykyaikainen versio Z39.50:stä (aka ”Z” aka. ”Zing”) jota olemme kauan käyttäneet ns. kopio- eli poimintaluettelointiin. Kuten nimi sanookin, on kyseessä rajapinta tiedonhakuun. Z, SRW ja SRU ovat kaikki oikeasti eri asioita, mutta nimiä kuulee käytettävän ristiin. Z39.50:n juuret ylettävät kauas, kauas aikaan ennen WWW:tä (kuka muistaa WAIS -tiedonhakujärjestelmän?), SRU on tuoreempaa perua.

SRU:ta käytettäessä hakulausekkeet kuvaillaan Contextual Query Language (CQL) -kielellä. SRU:ta varten on toki olemassa valmiita ohjelmointikirjastoja esimerkiksi Perliin. Kun katsot alla olevia esimerkkejä, tuon query parametrin kaverina on CQL:llä kuvailtuja yksinkertaisia hakulausekkeita. CQL on kyllä sangen ilmaisuvoimainen, ja palvelimesta sitten lopulta riippuu miten se lausekkeita tulkitsee.

Kansalliskirjaston NelliWiki kertoo SRUsta ihan kattavasti.

PallasPro -järjestelmien SRU -rajapinnat vaikuttavat olevan verkkokirjastojen /Zing? -osoitteissa, ja mahdollisesti perustuvat Index Datan tekemiin komponentteihin, jotka sinänsä ovat avointa lähdekoodia ja vapaasti netistä ladattavissa ja käyttöön otettavissa. SRU-palvelimen pystyyn säätäminen ja ylläpito ei taida olla erityisen hauskaa, mutta se on mahdollista.

Varsinais-Suomen yleisten kirjastojen kirjastokonsortion Vaskin SRU-rajapinta palveli aiemmin osoitteessa http://borzoi.kirja.turku.fi/Zing?, mutta on poistunut käytöstä Auroraan siirtymisen myötä. Vaskin nykyinen SRU-rajapinta taitaa olla palomuurin takana. Lapin osoite on http://intro.rovaniemi.fi:8001/Zing? ja Ratamo -kirjastojen http://ratamo.kirjas.to:8005/Zing?.Mitäs muita on, miten nuo Axiellilla hostatut palvelut menevät (esim. http://outi.kirjas.to/). Nämä osoitteet eivät taida olla missään mainostettuja, vaan olen deduktiivisesti päätellyt ne itse, eikä niiden käyttöä näytä olevan mitenkään erityisesti estetty. Joissain kirjastoissa, esim. Vaskissa ja PIKIssä on SRU-rajapintoihin pääsy kokonaan palomuurilla estetty. Kansalliskirjaston palveluista on tietoa täällä ja USA:n Kongressin kirjaston http://z3950.loc.gov:7090/voyager?.

Löpinät sikseen, näin haet 10 kissoja tai koiria käsittelevää teosta Lapista:

http://intro.rovaniemi.fi:8001/Zing?operation=searchRetrieve&query=dc.subject=kissa%20or%20dc.subject=koira

Vastaus näyttää sitten tällaiselta

<?xml version="1.0" encoding="UTF-8"?>
<SRW:searchRetrieveResponse xmlns:srw_dc="info:srw/schema/1/dc-v1.1" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:cld="http://www.ukoln.ac.uk/metadata/rslp/schema/" xmlns:DIAG="http://www.loc.gov/zing/srw/diagnostic/" xmlns:mods="http://www.loc.gov/mods" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:SRW="http://www.loc.gov/zing/srw/" xmlns:zng="urn:z3950:zng_prototype1" xmlns:rec="info:srw/schema/2/rec-1.0">
 <SRW:version>1.1</SRW:version>
 <SRW:numberOfRecords>2382</SRW:numberOfRecords>
  <SRW:records>
 <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Joiku 2007 2 : Lapin nuuskut ry:n jäsentiedote</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>noutajat</dc:subject>
<dc:description>4 kertaa vuodessa</dc:description>
<dc:publisher>Lapin nuuskut ry</dc:publisher>
<dc:date>2007</dc:date>
<dc:language>fin</dc:language>
   </SRW:recordData>
   <SRW:recordPosition>1</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10067478</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Burda 2005/10</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>vaatteet</dc:subject>
<dc:subject>kaavat</dc:subject>
   </SRW:recordData>
   <SRW:recordPosition>2</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10050294</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Suuri käsityölehti 2005/4</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>vaatteet</dc:subject>
   </SRW:recordData>
   <SRW:recordPosition>3</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10050187</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Suuri käsityölehti 2005/2</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>vaatteet</dc:subject>
<dc:subject>neuleet</dc:subject>
   </SRW:recordData>
   <SRW:recordPosition>4</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10050185</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Suuri käsityölehti 2003/10</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>vaatteet</dc:subject>
   </SRW:recordData>
   <SRW:recordPosition>5</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10036034</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Suuri käsityölehti 2001/11-12</dc:title>
<dc:subject>koira</dc:subject>
<dc:subject>vaatteet</dc:subject>
<dc:subject>neuleet</dc:subject>
   </SRW:recordData>
   <SRW:recordPosition>6</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_10021521</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Lappalaiskoirat : iloisesti läsnä / [teksti Sanna Karppinen] ; [kuvat Lappalaiskoirat ry]</dc:title>
<dc:creator>Karppinen, Sanna</dc:creator>
<dc:creator>Lappalaiskoirat</dc:creator>
<dc:subject>koira</dc:subject>
<dc:subject>suomenlapinkoira</dc:subject>
<dc:subject>lapinporokoira</dc:subject>
<dc:subject>ruotsinlapinkoira</dc:subject>
<dc:subject>porokoirat</dc:subject>
<dc:subject>lappalaiskoirat</dc:subject>
<dc:subject>historia</dc:subject>
<dc:subject>harrastukset</dc:subject>
<dc:subject>paimenkoirat</dc:subject>
<dc:subject>paimennus</dc:subject>
<dc:publisher>Kirjakaari</dc:publisher>
<dc:date>2012</dc:date>
<dc:identifier>978-952-5969-06-1</dc:identifier>
<dc:language>fin</dc:language>
   </SRW:recordData>
   <SRW:recordPosition>7</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_541666</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Ketterä kisu / [Sarah Phillips ; suunnittelu: Mark Richards ; suomennos: Anu Karvinen]</dc:title>
<dc:creator>Phillips, Sarah</dc:creator>
<dc:creator>Richards, Mark</dc:creator>
<dc:creator>Karvinen, Anu</dc:creator>
<dc:subject>lastenkirjallisuus</dc:subject>
<dc:subject>kuvakirjat</dc:subject>
<dc:subject>koskettelukirjat</dc:subject>
<dc:subject>paksulehtiset kirjat</dc:subject>
<dc:subject>etsintä</dc:subject>
<dc:subject>kissa</dc:subject>
<dc:subject>eläimet</dc:subject>
<dc:description>Tunnustelukirja</dc:description>
<dc:description>BTJ, T121015, BTJ Kirjo 2012 : 17a, 20121015, 7,25EUR, 9%, 22, 2,47, ACF-, 021, http://www.btj.com/btjcgi/arvo/get_add_info.cgi?type=PRES&key=4525480053575466, Kuvaus, http://www.btj.com/btjcgi/arvo/get_add_info.cgi?type=IMAGE&key=4525480053575466, Kansikuva</dc:description>
<dc:publisher>Kirjalito</dc:publisher>
<dc:date>2012</dc:date>
<dc:identifier>978-951-28-5523-0</dc:identifier>
<dc:language>fin</dc:language>
   </SRW:recordData>
   <SRW:recordPosition>8</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_541515</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Leikkisät pennut / [Sarah Phillips ; suunnittelu: Mark Richards ; suomennos: Anu Karvinen]</dc:title>
<dc:creator>Phillips, Sarah</dc:creator>
<dc:creator>Richards, Mark</dc:creator>
<dc:creator>Karvinen, Anu</dc:creator>
<dc:subject>lastenkirjallisuus</dc:subject>
<dc:subject>kuvakirjat</dc:subject>
<dc:subject>koskettelukirjat</dc:subject>
<dc:subject>paksulehtiset kirjat</dc:subject>
<dc:subject>etsintä</dc:subject>
<dc:subject>ystävät</dc:subject>
<dc:subject>leikki</dc:subject>
<dc:subject>koira</dc:subject>
<dc:subject>pennut</dc:subject>
<dc:description>Tunnustelukirja</dc:description>
<dc:description>BTJ, T121015, BTJ Kirjo 2012 : 17a, 20121015, 7,25EUR, 9%, 22, 2,47, ACF-, 021, http://www.btj.com/btjcgi/arvo/get_add_info.cgi?type=PRES&key=2226144582534108, Kuvaus, http://www.btj.com/btjcgi/arvo/get_add_info.cgi?type=IMAGE&key=2226144582534108, Kansikuva</dc:description>
<dc:publisher>Kirjalito</dc:publisher>
<dc:date>2012</dc:date>
<dc:identifier>978-951-28-5522-3</dc:identifier>
<dc:language>fin</dc:language>
   </SRW:recordData>
   <SRW:recordPosition>9</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_541505</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  <SRW:record>
   <SRW:recordPacking>XML</SRW:recordPacking>
   <SRW:recordSchema>info:srw/schema/1/dc-v1.1</SRW:recordSchema>
   <SRW:recordData>
     <dc:title>Jakt med älghund : från valp till älghund / Rolf Westerberg ; [illustrationer: Rolf Svensson ; foto: Anna-Sara Persson]</dc:title>
<dc:creator>Westerberg, Rolf</dc:creator>
<dc:subject>metsästys</dc:subject>
<dc:subject>hirvi</dc:subject>
<dc:subject>koira</dc:subject>
<dc:subject>metsästys</dc:subject>
<dc:subject>hirvikoirat</dc:subject>
<dc:subject>jämtlanninpystykorva</dc:subject>
<dc:subject>harmaa norjanhirvikoira</dc:subject>
<dc:subject>valkoinen ruotsinhirvikoira</dc:subject>
<dc:subject>musta norjanhirvikoira</dc:subject>
<dc:subject>karjalankarhukoira</dc:subject>
<dc:subject>laika</dc:subject>
<dc:subject>jakt</dc:subject>
<dc:subject>älg</dc:subject>
<dc:subject>hund</dc:subject>
<dc:subject>jakt</dc:subject>
<dc:subject>älghund</dc:subject>
<dc:subject>jämthund</dc:subject>
<dc:subject>norsk älghund, grå</dc:subject>
<dc:subject>svensk vit älghund</dc:subject>
<dc:subject>norsk älghund, svart</dc:subject>
<dc:subject>karelsk björnhund</dc:subject>
<dc:subject>lajka</dc:subject>
<dc:subject>hälleforshund</dc:subject>
<dc:publisher>Settern</dc:publisher>
<dc:date>2011</dc:date>
<dc:identifier>978-91-7586-634-5</dc:identifier>
<dc:language>swe</dc:language>
   </SRW:recordData>
   <SRW:recordPosition>10</SRW:recordPosition>
   <SRW:extraRecordData>
     <rec:id>Ppro698_541413</rec:id>
   </SRW:extraRecordData>
  </SRW:record>
  </SRW:records>
 <SRW:echoedSearchRetrieveRequest>
  <SRW:version>1.1</SRW:version>
  <SRW:query>dc.subject=kissa or dc.subject=koira</SRW:query>
  <SRW:startRecord>1</SRW:startRecord>
  <SRW:maximumRecords>10</SRW:maximumRecords>
  <SRW:recordPacking>xml</SRW:recordPacking>
  <SRW:recordSchema>dc</SRW:recordSchema>
 </SRW:echoedSearchRetrieveRequest>
</SRW:searchRetrieveResponse>

Siis ihan mukavaa XML:ää jolla voi tehdä kaikkea hauskaa. Eli ei muuta kuin parsimaan!! Jos tykkää ylläolevan Dublin Coren sijasta enemmän MARCista (kröhöm), voi vastauksen pyytää MARCXML:nä antamalle SRU-kutsulle parametrin recordSchema=marcxml, näin:

http://intro.rovaniemi.fi:8001/Zing?operation=searchRetrieve&recordSchema=marcxml&query=dc.subject=kissa or dc.subject=koira

SRU:n explain -operaatiolla voi kysyä palvelimelta mitä metadataformaatteja palvelin osaa palauttaa, ja indeksejä on haettavissa.

Muita mielenkiintoisia, olemassaolevia ohjelmointirajapintoja suomalaisiin kirjastoon ovat ONKI -ontologiapalvelimen rajapinnat sekä Kirjastot.fi:n Labsin rakentamat XML ja JSON -muotoiset rajapinnat HelMet -aineiston kyselyä varten. Tuleeko muita mieleen?

Oma lukunsa on sitten niinkutsuttu screenscraping. Tätä menetelmää voidaan toisinaan käyttää sellaisissa skenaarioissa, joissa palvelin ei oikeasti tarjoa mitään kunnollista ohjelmointirajapintaa. Näin toimivat Frank-monihaku sekä Kymenlaakson Kyyti.

Lisää avoimia rajapintoja on tulossa Axiellin kirjastojärjestelmiin (kröhöm) sekä Kansalliseen digitaaliseen kirjastoon KDK:hon.

Mainokset

Porin kaupunginkirjasto Circlen levyn kannessa

Circle: Rautatie

Jotkut kirjastoimmeisetkin ovat varmaan jo panneet merkille, että mainion porilaisen drone-bändin Circlen Rautatie -levyn (Ektro Records, 2010) kannessa on jostain syystä kuva Porin ja muiden Satakirjastojen verkkokirjastosta.

Blogissani on toisinaan välisoittoja. Rautatien parasta biisiä Kaasukelloa ei löydy sopivassa muodossa mutta otetaan tuosta kappaleesta kuitenkin ote eräästä live-showsta. Tästä lyhyestä otteesta (7 min.) ei valitettavasti välity kappaleen rakenne, mutta albumi löytyy Satakirjastojen lisäksi Spotifystä ja muista yhtä hyvin varustetuista kirjastoista.

Verkkotilastoinnissa ”haku” on virheellinen suomennos termille ”request”

Kirjasto-kaapelille juuri kirjoittamaani:

Verkkotilastoinnissa ”haku” on virheellinen suomennos termille ”request”

mace, 4. tammikuuta 2012 14:50

Vuotuinen tilastointirumba alkaa olla käsillä ja haluaisin kiinnittää huomiota erääseen verkkopalvelujemme tilastointiin liittyvään asiaan. Tiedän että ainakin joissain kirjastoissa verkkopalvelujen käyttöä tilastoidessa termi englannin kielinen sana request suomennetaan ”hauiksi”. Tämä on klassinen sudenkuoppa verkkotilastoinnissa.

Esimerkiksi PallasPro -Intron tilastointityökalussa cmnd=getcommand → cmnd=getstat kerrotaan käyttömääristä kahdella luvulla: Requests ja Sessions. Tiedän että monissa kirjastoissa täältä poimitaan tuo ”request” -tieto raportointia varten.

Requestin suomentaminen hauksi vääristää kuvaa kirjaston käytöstä pahasti. Nämä luvut ovat suuruusluokan verran liian korkeita. Mikäli tätä tietoa käytetään esim. päätöksentekoon ja toiminnan ohjaamiseen tai raportoidaan tilaajalle (esim. kunta tai kunnan kulttuuritoimi), tällä voi olla isohkoja vaikutuksia esim. rahoitukseen.

Olen gallupinomaisesti kysellyt parilta- kolmeltakymmeneltä kollegalta ja maallikolta että mitä heidän mielestään ”haku” tarkoittaa verkkokirjaston yhteydessä… eli “mikä sinun mielestästi on yksi haku?” Käytännössä kaikki ovat kuvailleet että heidän mielestään ”haku” muodostuu kun ihminen kirjoittaa jonkinlaisen hakulausekkeen ja painaa verkkokirjaston Hae -nappia. Mielestäni tämä on erittäin järkeenkäypää ja epäilen että olemme miltei kaikki samaa mieltä että juuri tätä tarkoitetaan kun puhutaan ”hausta” verkkokirjastojen yhteydessä.

Tilastointityökalujen laskemat ”requestit” on kuitenkin jotain aivan muuta kuin tämä. Niiden laskemisella voida juurikaan arvioida palvelun todellista käyttöä. Esimerkiksi PallasPro -Intron pelkälle etusivulle meno aiheuttaa vähintään puoli tusinaa ”requestia”, vaikka käyttäjä ei koskaan tekisi yhtään varsinaista aineistohakua.

Esimerkkinä 13 requestia Vennyyn

Sivulle tullessa käyttäjän selain pyytää webbipalvelimelta esimerkiksi sivupohjaa, tyylitiedostoa, kirjaston logoa, Axiellin logoa, autocomplete-skriptiä jne. Verkkokirjastoon saapuminen, sisäänkirjautuminen, lainojensa uusinta, omien varaustensa tilan tarkistaminen, ulos kirjautuminen ja verkkokirjastosta pois siirtyminen aiheuttaa vähintään tusina ”requestia”. Samoin ”näytä seuraavat 10 hakutulosta” -nappi ja ”näytä saatavuustiedot” -nappi aiheuttavat kaikki requesteja, vaikka tuskin kukaan ajattelee että nämä ovat uusia hakuja an sich.

Requestien määrä voi siis olla parikymmenkertainen verrattuna siihen, mitä me ihmiset ymmärrämme ”hauilla”. Se monestiko käyttäjä on oikeasti painanut Hae -nappia, voidaan laskea PallasPron logitiedostoista etsimällä merkkijonoa formid=find2 tai jollakin verkkologien analysointityökalulla.

Kuten tuossa aiemmin syksyllä kirjoittelin, olen tutkiskellut verkkokirjastojen PallasPro-kirjastojen verkkologeja. Tämä on eräs sitä kautta selvinneistä asioista. Minulla ei ole mitään tietoa mitä Axiell asiasta ajattelee tai miten he ohjeistavat käyttäjiään (l. kirjastoja) verkkotilastoinnin tekemiseen.

Alallamme tuntuu liikkuvan tietynlaista, hyvin ymmärrettävää epäuskoa käyttämiimme tilastoihin, ja joissain paikoissa käytössä olleet Google Analytics tai Kirjastot.fi:n verkkotilastointipalvelut (joista jälkimmäinen on poistunut käytöstä) ovat antaneet aivan toisenlaisia lukuja kuin nämä PallasPron requestit antavat ymmärtää.

Toivon siis, että mikäli käännätte verkkopalvelujen tilastoissa termin ”request” suomeksi ”hauksi”, teillä on siihen hyvät perusteet ja tiedätte mitä olette tekemässä, tai alatte käyttää jotain toista suomenkielistä sanaa kuten ”sivupyyntö” tai ”sivulataus”.

Vastaan mielelläni lisäkysymyksiin esim. tällä palstalla, tai vaikkapa Kirjasto-kaapelilla/puhelimitse/sähköpostitse/Fesessä/kahvilla tms. Lisäksi olen kysellyt jotakuta vertaisarvioimaan menetelmiäni, ja tämä kutsu on edelleen auki. Opetusvideota en ole asiasta vielä laatinut 🙂

Tsemppiä tilastointiin kaikille sitä tekeville.

Suomennetaas piruuttaan toi Koha

Aloitimme viime viikolla Kohan suomentamisen. Nyt käännetään aineistoluettelon l. näyttöluettelon l. OPACin l. verkkokirjaston puoli, eli se asiakkaille näkyvä osa. Työn alla on Koha 3.0:n OPAC.

Meillä on pieni ryhmä Google Groupsissa jossa on puitu terminologiaa. Kohasta on muutenkin tullut sähköpostiteltua tässä talven mittaan muutaman suomalaisen kirjastoaktivistin sekä sellaisten kirjastojen kanssa, joissa se on käytössä. Niitä ei tosin ole montaa kappaletta. Mutta riittävän monta, jotta suomeksi kääntäminen kannattaa tehdä (eli enemmän kuin 0 kpl). Kerran kääntämisestä hyötyvät kaikki, mutta voi olla olemassa monta erilaista suomennosta. Itse teen työtä Kirjastot.fi:n Labs-hankkeen nimissä ja Labs onkin asentanut Kohan kaikkien niiden kokeiltavaksi, joita kyseinen avoimen lähdekoodin kirjastojärjestelmä kiinnostaa. Myös Evergreen on asennettu tutkittavaksi. Teen suomentamista ”virkamiestyönä”, eli ilman mitään erityistä projektisuunnitelmaa tms. sekoilua. Virkamiestyön ja talkootyön ero on hienonhieno 🙂 En tiedä miten muut Kohan suomentamisessa mukana olevat ovat omaa työtään organisoineet, eikä oikeastaan kiinnostakaan – kunhan saadaan jotain aikaan ja hyvä pysyy kierrossa. Koha käyttää PO-tiedostoja ja kääntämistä eri kielille tehdään Pootle -ympäristössä. Tai voi muitakin käännöstyökaluja käyttää jos haluaa, mutta ainakin tässä vaiheessa tuo Pootle on osoitteutunut näppäräksi.

Tässä käännöshankkeessa on muutamakin kiehtova puoli. Ensinnäkin tämä on konkreettnen osoitus siitä, miten avoin lähdekoodi ja yhteisöllinen kehittäminen yleensäkin toimii. Uskoisin, että tuota Kohan OPACin suomennosta päästään kokeilemaan ensi viikon loppupuolella. Vertailun vuoksi HelMet-alueella on vähän aikaa sitten otettu käyttöön Innovativen mobiilituote AirPAC, joka on siis käytännössä helmet.fi -sivusto älypuhelimille sopivammassa muodossa. Se on saatavilla Innovativelta vain englanninkielisenä. Niinsanotusti kansainvälinen versio on pääkaupunkiseutulaisten käytössä ehkä 2012. Todellisuudessa kääntäminen varmasti sujuisi päivässä parissa, jos siihen vain olisi mahdollisuus. Pointti on, että avoimen lähdekoodin ohjelmistoissa ei ole mitään yhtä tahoa, joka voi estää halukkaita tekemästä omasta ja toisen elämästä parempaa.

Toinen kiehtova puoli Kohan kääntämisessä on se, että edes hieman mahdollistaa kirjastojärjestelmistä ja niiden valitsemisesta keskustelemista. Tilannehan on Suomen yleisissä kirjastoissa nyt se, että järjestelmätoimittajia on tasan yksi kappale. Axiell. No pääkaupunkiseutu uloslukien. Ei minulla periaatteessa ole mitään Axiellia vastaan, mutta sitä vastaan on, ettei ole mitään vaihtoehtoja joista edes keskustella, tai joihin verrata käytössä olevaa järjestelmää. Tulevaisuudessahan se tulee olemaan Axiellin Aurora, kun Axiell siirtää Pallas ja Origo -asiakkaansa siihen.

HelMet on yhä enemmän 2.0

HelMet

Lienettekö huomanneet, että pääkaupunkiseudun yleisten kirjastojen näyttöluettelo sallii nykyään arvioiden kirjoittamisen? Sitä en osaa sanoa aikooko kirjasto tarjota itse kirjallisuusarvioita niitä tuottamalla tai hankkimalla julkaisuoikeuksia ammattilaisten laatimiin kirja-arvioihin vai onko tarkoitus että vain loppukäyttäjät (siis ihmiset) laativat niitä.

Jokatapauksessa asiakkaille arvion kirjoittaminen onnistuu kirjautumalla normaalisti kirjastokortin numerolla sekä siihen liittyvällä pin-koodilla. Teoksen saatavuustietojen alapuolelta, käyttäjien antamien tähtien vierestä löytyy nappi ”kirjoita arviointi”.

Muita, vastaavia palveluja on sekä käytössä että vireillä pilvin pimein ja niitä onkin kirjastoalalla kaipailtu jo vuosia. Tai ainakin jotkut ovat kaipailleet, minä mukaan lukien.

Kotimaiset kirjastomarkkinat itseensä käytännössä kokonaan integroinut Axiell myy Arena -palvelua ja se on käytössä jo Hämeenlinnassa ja tulossa mm. Tampereelle. Axiellin Arenalle kilpailija on ruotsalaisen Teknikhusetin CS Library. CS Libraryn hatussa on sulka mm. Tukholman kaupunginkirjaston verkkosivu-uudistuksesta. Molemmat ovat varsinaisen kirjastojärjestelmän sekä niiden perinteisen ankeiden webbisivustojen päällä/rinnalla pyöriviä, rikkaampia sivustoja. Tällaisista ohjelmistoista puhutaan discovery interfacena.

Saatavilla on jo vuosia ollut ”kirjasto 2.0” -tuotteita, joista suuri osa on saatavilla myös ilmaiseksi (lähdekoodeineen) ja heti käyttöönotettavissa. Näistä mainittakoot SOPAC, XC, VuFind sekä Blacklight. Suomalaiset yleiset, akateemiset tai erikoiskirjastot eivät kuitenkaan ole halunneet alkaa ottamaan käyttöön mitään näistä, vaan ovat odottaneet perinteisten järjestelmäntoimittajiensa tarjoavan jotain tuotetta. Pääkaupunkiseudun järjestelmäntoimittaja Innovative onkin koonnut ns. ”kirjasto 2.0” -ominaisuuksia Encore -tuotteeseensa (jota ei ainakaan toistaiseksi ole hankittu HelMet-alueelle) ja Axiell on siis kehitellyt Arenaa omien kirjastojärjestelmiensä päälle.

CS Library, kuten suurin osa avoimen lähdekoodin ilmaisista, itseasennettavista discovery interfaceista väittävät olevansa alla kehräävästä kirjastojärjestelmästä (melko) riippumattomia. Harvat avoimen lähdekoodin ohjelmistoista kuitenkaan tukevat suomalaisissa yleisissä kirjastoissa käytettäviä kirjastojärjestelmiä, eli Origoa ja PallasProta (jotka olivat siis ATP:n ja Tiedon tuotteita ennenkuin Axiell osti molemmat). Tuen rakentaminen Origoa, PallasProta ja muita kirjastojärjestelmiä varten avoimen lähdekoodin ratkaisuihin ei kuitenkaan olisi suurikaan työ ja kerralla saataisi mukaan suurensuuri joukko suomalaisia yleisiä kirjastoja. Tämä olisi järkevää hoitaa keskitettynä ostopalveluna. Milleniumia sensijaan tukee suuri osa näistä ratkaisuista.

Asiaa monimutkaistaa sinänsä hyvä pyrkimys siihen, ettei kirjastojen mustasukkaisesti vartioiman bibliografisen metatiedon ympärille muodostuva lisätieto (esim. arvostelut, käyttötilastot jne) sirpaloituisi moneen paikkaan. Suomi on liian pieni käyttäjäkunta hajautumaan alueellisiin kirjasto 2.0-palveluihin, eikä maantieteellinen alue kuitenkaan ole internetissä kovinkaan relevanttia. Kuvitelkaa että jokaisella maailman kunnalla olisi oma Facebook yhden yhteisen Facebookin sijasta. Ei toimi. Kirjastoalalla puhutaan sensijaan yhden laarin mallista.

Kirjasampo pyrkii olemaan se laari. Lisäksi se mullistaa kaiken mistä kirjastojen metatietotyössä on kyse. Tässä vaiheessa on kuitenkin erittäin epäselvää miten Kirjasampo yhtyy kirjastojen verkkopalveluihin (terveisiä sinnepäin, että plsplspls miettikää jonkinlaiset liittymät Origoon, PallasProhon ja HelMetiin, osana pr-työtä kirjastoille. välivaiheena). Lisäksi Kirjasampo rajautuu kaunokirjallisuuteen joten tietokirjallisuuteen, musiikkiin ja kävelysauvoihin liittyvä metatieto on ratkaistava jotenkin muuten.

Vaarana on, että arvostelupalvelut keräävät tietoa suljettuihin siiloihin. Mielestäni siilot ja ”2.0” ovat keskenään tyystin epäyhteensopivat käsitteet. En tunne CS Libraryn tuotetta tarkasti, mutta ainakin mainostavat ohjelmointirajapintaansa (API) kovasti. Ehkä se ei ole siilo ja ehkä Axiell Arena ei ole siilo. Nykyiset HelMetin arvostelut muodostavat siilon ja marginalisoivat 4 miljoonaa suomalaista. Kirjastolaisille tuttuja yhteystyön muotoja ovat MARC, z39.50 ja kopioluettelointi. Teoksia kuvailevien MARC-tietueiden lisäksi kaikki muutkin kirjastojen tietotuotteet on rakennettava saman periaatteen, eli yhteiskäyttöisyyden ja verkostomaisuuden mukaisesti. Mutta tietenkin vielä paremmin kuin 25 vuotta sitten!

Oikean kirjastomaailman ulkopuolelta käyttäjäarvioita ja muita kirjasto 2.0 -ominaisuuksia löytyy esim. LibraryThingistä, Amazonista ja Google – tyylilleen uskollisensa – haravoi arvioita ja viitteitä verkosta koneellisesti Google Book Searchiin. Nämä kolme palvelua konseptoivat kirjastoa aivan eri lähtökohdista kuin perinteiset, institutionalisoidut kirjasto-organisaatiot (tai no, monet kirjastoinstituutiot ml. yleinen kirjastolaitos ovat oikeastaan aika lyhyt välivaihe kirjastojen historiassa). Amazonin ja Googlen kanssa ns. oikeiilla kirjastoilla ei ole oikeastaan minkäänlaista vuorovaikutussuhdetta, LT on onneksi aktiivinen toimija kirjastojen suuntaan.

Todella sekava kirjoitus, mutta sekava on kirjastojen verkkopalvelujen tilannekin. Tilannetta pyrkii valottamaan Kirjastojärjestelmät nyt! -raportti sekä Yleisten kirjastojen neuvoston verkkostrategia. Muutama selvä linjaus on olemassa (esim. mainittu yhden laarin malli) ja riittävästi teknisiä avaimia sekä kansainvälistä yhteistyökumppaneita (eli tanskalaisia) olisi tarjolla kuten Antti innostavasti kirjoittaa. Taustalla kuitenkin häämöttää toisaalta järjestelmätoimittajien tuotteet (Axiell Arena, CS Library) joilla kaikesta tästä murehtiminen voidaan ulkoistaa ja toisaalta Suuri Yhteisluettelo, Joka Tulee Ratkaisemaan Kaikki Ongelmat. Joten ehkä nyt ei kannata hätiköidä (lue: kannattaa olla tekemättä mitään, yhtikäs mitään). Ja toisaalta–yleisten kirjastojen keskuskirjaston (Helsingin kaupunginkirjasto) sekä sen seudullisten kumppanien (Espoo, Vantaa, Kauniainen) lähteminen oman laarin rakentamiseen on signaali muille noin 350:lle kirjastolle siitä halutaanko sittenkään hakeutua kohti yhteisiä verkkopalveluratkaisuja vai ei.