PIKI-kirjastojen tietokantapöyhintäni lähdekoodi, työpäiväkirja ja raportti julkistettu

BaseX:llä ja XQueryllä MARC21 -tietueiden kimpussa

Tein marras-joulukuussa freelancena töitä PIKI-kirjastoille tietokannan  siivouksen parissa. Pöyhin about 2 miljoonaa MARC21 -tietuetta kokonaan kirjastojärjestelmän (Axiell Aurora) ulkopuolella ja hauskaa oli. Lisäksi suunnittelin miten kirjastojärjestelmän ulkopuolella tehtyjä muutoksia voi tuoda tuotantotietokantaan ym. ym.

Projektin- ja asianhallintaan käytin Kirjastot.fi:n tarjoamaa Redmineä, ja käytin sitä myös työpäiväkirjanani. Avasin sen julkiseksi ja se on siis kaikkien nähtävissä. Tonkimiseen paras alku lienee lista kaikista issue-trackeriin merkityistä asioista. Kaikki kirjoittamani XQuery -kielinen lähdekoodi löytyy sensijaan GitHubista ja minua, sinua ja lähdekoodia suojaa GNU GPL-lisenssi. Työpäiväkirja ja lähdekoodi ovat mielestäni mielenkiintoisimmat dokumentit työstäni ja analyyseistä. Laadin myös raportin, joka löytyy Google Docsista, jossa sitä voi myös kommentoida.

(: Check all classification fields which claim to get their value from
YKL classification systems, see if they are really define there. Based
on my screenscraped YKL :)

declare namespace srw="http://www.loc.gov/zing/srw/";
declare namespace marc="http://www.loc.gov/MARC21/slim";

declare variable $yklres := fn:doc('ykl.xml');
declare variable $ykl := $yklres/ykl/class/@no/data();

<yklClasses>{
for $field in /records/record/srw:recordData/marc:record/marc:datafield[@tag="084"]
  let $classNo := $field/marc:subfield[@code="a"]/data()
  where $field[marc:subfield[@code="2"] = "ykl"]
  return <yklClass
    inYkl="{if ($classNo = $ykl) then 'true' else 'false'}">{
      $classNo
  }</yklClass>
}</yklClasses>

Esitelmöin ja toivottavasti myös demoan hommiani Kansalliskirjaston järkkäämillä sisällönkuvailun tiedostuspäivillä lounaan jälkeen keskiviikkona 20.3.2013 Helsingin yliopiston päärakennuksen pienessä juhlasalissa. Päivillä on muutakin mukavaa ja mielenkiintoista aihetta tarjolla. Tilaisuuteen voi osallistua etänä, ja webinaari ilmeisesti myös taltioidaan. Toivottavasti siellä tavataan.

Mainokset

Tänään viimeinen päiväni Turun kaupunginkirjastolla ja Vaski-kirjastoissa

Kiittimoi

  • ☑ Jätä pyyntö sähköpostin ja kalenterin sulkemisesta
  • ☑ Laadi ja laita sähköpostiin automaattivastaus
  • ☑ Jätä avainkortti
  • ☑ Palauta VPN-avain
  • ☑ Palauta työpuhelin
  • ☑ Palauta kahviautomaatin avain
  • ☑ Palauta nimikyltti
  • ☑ Kirjaa projektinhallinnasta tehtävät pois itseltäsi
  • ☑ Kuulumisten, ideoiden, palautteiden yms. vaihto Inkerin kanssa
  • ☑ Jätä pyyntö Rondo -tunnusten sulkemisesta
  • ☑ Jätä pyyntö Populus -tunnusten sulkemisesta
  • ☑ Tyhjennä työpöytä ja lokerikot
  • ☑ Käännä monitori pivotista normaaliasentoon
  • ☑ Kollegoiden kakutus
  • ☑ Kollegoiden halailu
  • ☐ Päätä mitä teet tulevaisuudessa
  • ☑ Aurinkoinen sää ulkona

Nyt katse Vilnaan, IFLA WLIC2012:een ja tulevaisuuteen. Kiitti moi, ikävä tulee. Onnea valitsemallanne tiellä ja palaillaan.

Projektinhallintatyökalu Redmine tyhjä omalta osaltani

Oma 2do -lista kondiksessa

Tein esittelyvideon ehdottamastani issue trackeristä

Ehdottelin pari päivää sitten useissakin paikoissa (blogissa, Kirjasto-kaapelilla, privana useamman henkilön kanssa), että me kirjastolaiset voisimme perustaa issue trackerin sekä Axiellin verkkokirjastotuotetta Arenaa että heidän taustajärjestelmäänsä Auroraa varten ja mahdollisesti muuhunkin käyttöön. Ehdotus on saanut paljon kannatusta eri puolilta, eiköhän näillä puheilla pistetä homma pystyyn. Kirjastot.fi päivittänen Redminen uusimpaan versioon, niin päästään alkuun.

Pohjille voisi varmaan laittaa nykyiset aikataulut (testivaihe, tuotantoon meno jne), tiedossa olevat päivitykset, vaatimusmäärittelyt ja mitä ominaisuuksia on kaavailtu tulevaisuudessa sekä tietenkin bugit ja sensemmoiset.

Tein pienen esittelyvideon Kirjastot.fi:n tarjoamasta projektinhallintatyökalusta Redminestä, sekä siitä miten olen sillä itse hallinnoinut EuropeanaLocal -hanketta.

Korkearesoluutioisemmista videoista näet lukea tekstinkin, niin saat paremman kuvan miten olen järjestelmää käyttänyt.

Axiell saa palautetta; miten parannettaisi tilannetta?

Axiell

Ei kannata missata Kirjastot.fi:ssä käytävää keskustelua Axiellista sekä PIKI-alueen verkkokirjastouudistuksesta. Heikki Poroila aloitti blogissaan otsikolla PIKI-uudistus Tampereella epäonnistunut – asiakaspalaute murskaavaa ja sittemmin keskustelua on käyty Kirjasto-kaapelin puolella.

Jos minulla olisi kirjasto, se olisi varmasti Auroraton ja luultavasti Arenaton. Kirjastojen ja yritysten suhde on kiusallinen, eivätkä kirjastojen suhteet Axielin kanssa tunnu kuulopuheideni mukaan olevan kovin lämpimät. Tämä varmaan tiedetään Axiellissa kyllä, mutta itselleni lähinnä HelMetin Innovative -umpiossa kasvaneena epäluottamuksen määrä on kuitenkin ollut yllätys. Tilanne ei tietenkään ole kenenkään etu, ei kirjastojen, ei Axiellin eikä Suomen kansan etu.

Hyvä kuitenkin että tätä keskustelua käydään. Eilen taas seikkailin avoimen lähdekoodin maailmassa, ihailusta pakahtuneena. Aivan eri maailma. En nyt tarkoita tuotteita (siis tietokoneohjelmia) vaan avointa lähdekoodia kokonaisuudessaan. Mitä tapahtuisi jos avaisimme Axiellin kanssa tai ilman Axiellia jonkun issue trackerin, jonne dokumentoisimme ohjelmistohankkeitamme? Voisimme tehdä sen heti, siihen ei kauaa menisi sillä Kirjastot.fi on pitkään tarjonnut alallemme keskitettynä projektinhallintatyökaluna Redmineä.

Julkiset ongelmien raportointi-, dokumentointi- ja seurantatyökalut ovat olleet arkea avoimen lähdekoodin maailmassa vuosikausia. Vaikka Axiellin Arena ja Aurora -tuotteet eivät avointa lähdekoodia olekaan, voisimme aivan hyvin valita tehdä projektinhallintaa avoimesti, mieluusti Axiellin kanssa yhteistyössä.

Tässä vielä täydellisyyden (ja tautologian) vuoksi Kirjasto-kaapeli -foorumille kirjoittamani haaste:

Hyvää keskustelua täällä. Mutta hmm-hmm miten voitaisi parantaa tilannetta?

En tiedä moniko meistä tuntee esim. issue trackereiden kaltaisia projektinhallintatyökaluja enkä tiedä millaista ohjelmistoprojektien hallintaa Axiell sisäisesti tekee, mutta ehdotan, että avaamme julkisen issue trackerin.

Kirjastot.fi on jo pitkään tarjonnut Redmine -ohjelmistoa kirjastojen erilaisiin projektinhallintatarpeisiin, olen itse käyttänyt sitä 23 asiaa -verkkokurssin ja Suomen EuropeanaLocal -hankkeen yhteydessä. Redmine on ihan hyvin toimiva ongelmapohjaiseen projektinhallintaan, tosin en ole mikään projektinhallinnan ammattilainen enkä ole aktiivisesti käyttänyt montaakaan vastaavaa ohjelmistoa. Avoimen lähdekoodin maailmassa joitain yleisesti käytettyjä ovat Bugzilla, Launchpad, Trac (mm. Europeana), SourceForge, Google Code, Redmine.

Tällaisethän ovat tuolla ”Oikeassa Maailmassa”, kirjastokuplamme ulkopuoellla aivan arkipäiväisiä ohjelmistonkehityksen työkaluja. Avoin lähdekoodi ei ole edellytys tällaisen järjestelmän käyttämiseen (vaikka avoin lähdekoodi on tietenkin parempi asia kuin estetty lähdekoodi).

Vaski-kirjastoissa ollaan ottamassa käyttöön Auroraa. Asiakasliittymäksi tulee KDK, jota pilotoimme. Henkilökohtaisesti olen valmis sitoutumaan yllä kuvailemani kaltaiseen järjestelyyn käyttää jotain issuetrackeriä. Itseasiassa olisin hyvinkin kiinnostunut jos me Axiell -tuotteita kehittävät kehittävät päättäisimme ottaa tuollaisen jokapäiväikseksi työkaluksemme ja yhteistyöalustaksemme.

Olisiko kiinnostuneita? Tämä on erityisesti suunattu kollegoilleni Vaski-kirjastossa, Axiellille ja Kansalliskirjaston kirjastoverkkopalveluyksikölle, sekä mukaan haluaisin tietenkin kollegoita muualtakin jossa Axiellin kanssa toimitaan. Äkkiseltään tuntuisi hyvältä perustaa omat issue trackerit Axiellin Auroralle ja Axiell Arenalle, ja KDK:llekin olen kaipaillut sellaista. Miten on?