keskiviikko 21. joulukuuta 2016

Julkaisuarkistotyötä GLAMpipella

Doria, Theseus, JYX. DSpace pyörii monen julkaisuarkiston taustalla.

Uuden DSpace 6 version myötä aineistoja pääsee hallitsemaan huomattavasti paremmin, koska vihdoin DSpace tarjoaa kunnollisen REST-rajapinnan.

Niinpä GLAMpipe on saamassa osasia myös DSpace-aineistojen pyörittelyyn:



lauantai 1. lokakuuta 2016

GLAMpipe, uusi ulkoasu ja Helsingin kaupunginorkesteri

GLAMpipe on hakenut muotoaan sekä toiminnallisesti mutta myös ulkonäöllisesti. Nyt aletaan olla jo voiton puolella, Susanna on tehnyt hienoa työtä käyttöliittymän kanssa:


Testausta

Tiesitkö mitä teosta Helsingin kaupunginorkesteri on esittänyt eniten vuodesta 1882 lähtien: Porilaisten marssia.

Tulokset GLAMpipen mukaan:

1
Ohjelma ei tiedossa
619
2
Porilaisten marssi
362
3
Finlandia op. 26
358
4
Sinfonia nro 2 D-duuri op. 43
214
5
Lohengrin, III näytäksen alkusoitto
209
6
Viulukonsertto d-molli op. 47
200
7
Nalle maailmalla
200
8
Sinfonia nro 5 Es-duuri op. 82
192
9
Sinfonia nro 1 e-molli op. 39
168
10
Tunetmaton kappale
150
11
Kevätlaulu, sävelruno op. 16
142
12
Kevään ääniä -valssi
140
13
Maamme
139
14
Satu op. 9
132
15
Rákóczy-marssi
130

Tulos on saatu importoimalla Helsingin kaupunginorkesterin datasetti GLAMpipeen ja käyttämällä group-nodea teoksen nimeen.



Datasetti löytyy täältä:
https://www.avoindata.fi/data/fi/dataset/helsingin-kaupunginorkesterin-konsertit

GLAMpipen asennus

Asennustapa on muuttunut ja se tapahtuu nyt docker-composen kautta. Asennuksen pitäisi olla suhteellisen helppoa, kun käyttäjän ei tarvitse asentaa sen lisäksi mitään muuta.

https://github.com/artturimatias/GLAMpipe


torstai 21. huhtikuuta 2016

GLAMpipe



Olen työskennellyt viimeaikoina GLAMpipe-nimisen työkalun kehittämisen parissa. Hanke on Wikimedia Suomen projekti OKM:n rahoitukseslla.

Kyseessä on sveitsiläinen linkkuveitsi -tyyppinen ohjelmisto aineistojen katseluun, muokkaukseen ja lataamiseen. Ohjelman käyttäminen ei vaadi ohjelmointitaitoja.

Esimerkkejä käyttötavoista

aineiston tuonti Flickristä:


Kartta-aineiston georeferointi (hyvin alustava prototyyppi):



Aineiston lataaminen Internet Archivesta ja sen uploudaus Wikimedia Commonssiin:



Ohjelmisto on kehityksen alla ja vielä paljon riittää tehtävää. Voit katsoa lisätietoja täältä:

http://artturimatias.github.io/GLAMpipe/


tiistai 24. marraskuuta 2015

Wikidata ja Ylen historiallinen tapahtumakalenteri




Yle on julkaissut tapahtumakalenterinsa tiedot vapaana datana:
https://www.avoindata.fi/data/fi/dataset/yle-arkiston-historiallinen-tapahtumakalenteri

Halusin selvittää, kuinka monta tapathumakalenterissa olevista ihmisistä löytyy wikidatasta.  Tämä on edellytys sille, että tietoja voitaisiin siirtää kalenterista wikidataan.

Data

Ylen kalenteridata näyttää tällaiselta:
  "id": 9234,
  "vuosi": 1945,
  "kuukausi": 6,
  "paiva": 2,
  "tapahtuma": "Kim Brown syntyi",
  "huomautus": "Englantilainen laulaja & lauluntekijä, the Renegades-yhtyeen johtohahmo. Kuoli 11.10.2011.",
  "linkki": "",
  "henkilo": 1,
  "fennica": 0,
  "lahde": "hs 13.10.11",
  "valmis": 1,
  "tallpvm": "4.1.2012",
  "muokkpvm": "4.1.2012"
Aineisto koostuu erillisistä tiedoista, joilla ei ole muuta keskinäistä viitettä kuin henkilön nimi. Henkilöitä koskevat tiedot on merkitty "henkilo" -lipulla, joten aineiston rajaaminen tämän mukaan on ensimmäinen vaihe.

Toiseksi aineistosta pitää kaivaa henkilöiden nimet, sillä nimet eivät ole omana kenttänään vaan ne ovat muotoa "Aleksi Lehtonen syntyi" tai "Ari Vatanen voitti ensimmäisenä suomalaisena ralliautoilun virallisen maailmanmestaruuden".

 

Vaiheet

Prosessi jakautui neljään vaiheeseen.

Konvertointi

Ääkköset näkyivät rumasti kun tiedostoa katseli tekstimuodossa.
Ensiksi piti siis päästää eroon väärästä merkistöstä. Sen jälkeen muunsin tiedoston json-formaattiin, jotta jatkokäsittely olisi helpompaa.

Yhtenäistäminen

Yhtenäisteminen tarkoittaa tässä tapauksessa sitä että yksittäistä henkilöä koskevat tiedot kootaan yhteen. Siis esimerkiksi kaikki Matti Nykästä koskevat huomiot linkitetään Matti Nykäsen alla. Tästä muodostuu Matti Nykäsen tapahtumat. Tätä voisi kutsua myös tapahtumallistamiseksi(?).

Kysely

Seuraavaksi tein kohteesta hakutiedoston json-formaattiin. Tiedosto sisältää hakutermit ja viitteet alkuperäisen aineiston tietoihin. Tähän tiedostoon kirjoitetaan kyselyn tulokset. Näin voidaan tehdä useita hakuja ilman että haetaan samoja tietoja uudestaan ja uudestaan.

  "name": "Alfred Kordelin",
  "response": {
   "head": {
    "vars": [
     "s",
     "label",
     "birth",
     "death"
    ]
   },
   "results": {
    "bindings": []
   }
  },
  "ids": [
   5857
  ],
  "response_count": 0,
  "long_name": 6,
  "new_id": 123
Käytin wikidatan SPARQL-rajapintaa. Kokeilujen jälkeen päädyin kysymään siltä joko suomen- tai englanninkielistä versiota nimestä.

Analyysi

Kun onnistuineita hakuja on saatu tarpeeksi, voi tuloksia analysoida. Anayysissa tutkitaan millaisia vastauksia on saatu tai onko niitä saatu ollenkaan.

henkilöitä: 3071
ei löydy: 314
yksi osuma: 2516
useita osumia: 241


Yli 80 prosenttia kyselyistä tuotti yhden osuman. Se ei tietysti tarkoita että henkilö on oikea, mutta siitä on hyvä jatkaa esimerkiksi syntymä- ja kuolinpäivien (tai vuosien) vertailulla. Mutta entä nuo yli 300 joita ei löytynyt?

Aleksander vai Alexander?

Nimi on kehno ihmisen tunniste. On samoja nimiä, eri tavalla kirjoitettuja samoja nimiä (esim. aksenttimerkit), väärin kirjoitettuja nimiä (Bertrand Russel) ja sitten on vielä kuninkaalliset.  Esimerkiksi Ylen kalenteridatassa on "Anne, englannin prinsessa". Tässä muodossa wikidatasta ei löydy mitään. Sen sijaan "Prinsessa Anne" löytyy.

Myös aksenttimerkit aiheuttava omat ongelmansa. Kalenterissa osassa nimissä on aksenttimerkit ja osassa ei. Salvador Dali ja Edith Piaf ovat kalenterissa ilman aksenttia mutta näiden henkilöiden wikidatan suomenkielinen label on aksentin kanssa. Siksi haku ei löydä kyseisiä taitelijoita.

Lisäksi on vielä kielivalinta. Wikidata on aidosti monikielinen ja siksi myös henkilöiden nimillä voi olla useita eri kieliasuja kielen mukaan. Esimerkiksi aiemmin mainittu prinsessa Anne on suomennettu nimi Princess Annelle. Tosin haun kannalta tällä on merkitystä lähinnä SPARQL -hakujen kannalta.

Google ratkaisuksi?

Entä jos syötetään "Anne, englannin prinsessa" Googlen hakuun? Jo vain, ensimmäinen osuma on wikipedian sivu "Anne (prinsessa)". Wikipedian sivun kautta taas voidaan löytyy prinsessa Annen wikidatakohde!

En tehnyt ohjelmallista google-hakua, vaan tein suppean testin käsin. Mutta näyttää siltä, että kattavin hakualgoritmi näyttää menevän mutkan (Google) kautta.

Loppujen kohdalla on tehtävä sitä, mitä kukaan ohjelmointitaitoiseksi itseään kutsuva ei halua tehdä eli käsineditointia. Otetaan siis listaus niistä nimistä, joista ei löytynyt tietoa minkään haun avulla ja tutkitaan ovatko hakutermit järkeviä ja jos on, niin miksi mitään ei löytynyt (kirjoitusvirhe, ei wikipediasivua jne.)

Entä useat osumat?

Nopean katsauksen perusteella useita osumia tuli koska henkilöillä oli useita syntymä- tai kuolinpäiviä (wikidatassa tämä on mahdollista, niin kuin olla pitääkin). Moni nimi myös tuotti useampia henkilöitä, kuten esimerkiksi Aarre Merikanto.

Johtopäätös

Pelkkien nimien avulla tietojen yhdistäminen on hankalaa ja vaatii jossain vaiheessa perinteistä käsityötä. Paras algoritmi näyttäisi olevan Googlen kautta wikipediaan ja sieltä wikidataan.Kaiken kaikkiaan tehtävä ei ole triviaali. Teknisen värkkäämisen lisäksi tarvitaan myös aika lailla tietoa, jotta tiedot kohtaavat oikeat henkilöt silloin kun erehtymisen vaara on.

Tekniikkaa

Merkistömuunnos iconv-ohjelmistolla:
iconv -f WINDOWS-1252 -t UTF-8 Yle-tapahtumat.csv > Yle-tapahtumat-utf8.csv  

Tein kokeilut javascriptillä nodejs-ympäristössä. Wikidatahaut tein wikidatan sparql -apin kautta seuraavalla kyselyllä:

PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 

SELECT DISTINCT ?s ?birth ?death WHERE {
    ?s wdt:P31/wdt:P279* wd:Q5  .

    { ?s ?label "Eubie Blake"@en }
    UNION
    { ?s ?label "Eubie Blake"@fi }
    
    OPTIONAL { ?s wdt:P569 ?birth }
    OPTIONAL { ?s wdt:P570 ?death }
}





torstai 19. marraskuuta 2015

Ken Burns effect with Blender VSE

I made an exhibition video to Vantaa City Museum to their current exhibition about river Vantaa (Vantaanjoki). I was given texts, images of paintings, some photographs and an old map. Three videos was needed: the main video with texts and images, and two ambience videos - that were projected to ceiling - consisting just Ken Burns effects.

Video editing and Blender

I haven't made video editing recently, although I have even taught that several years ago. Back then I was using Adobe Premiere. Now I'm on Linux (Debian) so I had to search new tools for videoediting.

First I tried shortly OpenShot and Natron. Basically, Openshot was just too simple and Natron too complex, although Natron was very interesting. I made some test with OpenShot but I had problems with jerky motion in Ken Burns effects.

I ended up to using Blender.  I was familiar with the user interface of Blender but I wasn't sure about the usefulness of Blender's VSE (Video Sequence Editor).

 

VSE

I needed several Ken Burns effects so making those was my main concern. I found out that it is possible to add transform strip over existing strip. At transform strip there are position and scale values that can be animated. So, I had a Ken Burns effect.

But making those with adjusting sliders was quite impractical. It would have been so much easier to transform and scale strips by dragging them with the mouse.

But hey, it's Blender! Surely there must be some nice trick for this. And there was: vse transform tool. And BUM! Making Ken Burns effects was easy and fun.

 

Making Ken Burns effect with VSE

Shortly: add transform strip (T) to a image strip, drag and scale image strip in preview window where ever you like, add keyframes to position and scale properties of the strip, move to the end frame of the effect and do same there. Done!


I used Gimp for making transparencies and other image editing needs. Texts I made also with Gimp. I saved texts in Gimp's own xfc format and then exported as png images. Things go smoothly when one uses the final presentation resolution from the very beginning. It is important to know the final presentation resolution in a very early stage so that you don't have remake any of your image files.

 

Conslusion?

I learnt that VSE is a really capable tool for this kind of work. At least, If you know the user interface already. Otherwise there is some work to do with the basics of Blender.




PS. at 1.35 my son throws a stone to the river. He was getting bored while I was filming the ripples of the water...


perjantai 6. marraskuuta 2015

WIkidata ja Munch

"Edvard Munch - Melancholy (1894-96)" by Edvard Munch -
The Athenaeum: pic. Licensed under Public Domain via Wikimedia Commons - https://commons.wikimedia.org

Kaikki tietävät Edvard Munchin teoksista ainakin Huudon, sen "pää kenossa, kädet poskilla ja suu auki" -kuvan (itse asiassa maalauksia on useita). Mutta mitä muuta Wiki-maailmasta löytyy Munchin teoksista?

Wikidatasta löytyy Munchin teoksia 1799 (6.11.2015).

Kaikki Edvard Munchin teokset


Mutta wikipedia-artikkeleita löytyy vain 22:sta teoksesta! Huuto-teoksesta löytyy artikkeli peräti 56:lla kielellä.

wd:Q471379
The Scream
56
wd:Q1989780
Madonna
15
wd:Q2267579
The Sick Child
8
wd:Q3432673
Puberty
4
wd:Q1683743
Vampire
4
wd:Q17041052
Melancholy
3
wd:Q3208135
Dance of Life
3
wd:Q3929351
The Girls on the Bridge
3
wd:Q3955717
Evening on Karl Johan Street
3
wd:Q18891111
The Kiss
3


Munchin teokset, joista löytyy wikipedia artikkeli

Entä Munchin maalausten kuvia? Niin kauan kuin commonsdata ei ole käytettävissä, ei oikein ole fiksua tapaa etsiä kuvia wikidatan avulla. Kuvia kuitenkin on Commonssissa toista sataa:

https://commons.wikimedia.org/wiki/Category:Paintings_by_Edvard_Munch

maanantai 5. lokakuuta 2015

Wikidata ja Dali


lähde: openclipart.org

Wikidata on mahtava projekti. Jos et vielä tiedä mikä wikidata on, käy tutustumassa: wikidata.org

Miksi pitäisi innostua wikidatasta?

Tyhmää nörttipuuhaako vaan? Ehkä vähän nörttipuuhaa, mutta ei tyhmää. Wikidata auttaa ratkaisemaan yhden wikipedian perustavanlaatuisen ongelman eli sen inhimillishistoriallisen tiedon rakenteen.  Toisin sanoen wikipedia on tiedonhallinnallisesti sotkuinen, kuten me ihmisetkin olemme.

Wikipediassa kyllä on tietorakenteita kuten kategoriat ja infoboksit. Kategoriat ovat parhaimmillaan erinomaisia ja huonoimmillaan täysin absurdeja, kuten "List of people named Sean".

Lisäksi kategorioiden hierarkia ei ole aina looginen ja artikkeli kuuluu johonkin kategoriaan vain jos joku on sen sinne huomannut laittaa. Wikipedia tarjoaa siis jonkin verran säännöllisiä rakenteita tiedolle mutta niiden käyttö on epäsäännöllistä.

Siksi wikipedia sellaisenaan on konehaun painajainen.

Wikidata sen sijaan on tarkoitettu koneille. Toisin sanoen, se tarjoaa koneluettavaa ja konehaettavaa dataa.

Kerrohan Wikidata, missä museoissa on Dalin teoksia?

Tätä voi kysyä Wikidatalta sangen helposti *. Wikipediasta tällaisen tiedon kaivaminen olisi kyllä mahdollista, mutta myös hyvin työlästä ja epävarmaa.

Voit kokeilla kyseistä hakua seuraavan linkin kautta: Näytä kaikki museot, joissa on wikidatan mukaan Dalin teoksia. Klikkaa vain excute -painiketta aukeavalla sivulla.

Kyselykieli jolla haku on tehty on nimeltään SPARQL (lausutaan jotensakin kipinäksi,  "sparkle"). Sillä voi hakea tietoa tietyntyyppisistä tietoaineistoista.

Lisää kyselyjä:

Täältä löydät lisää hakuesimerkkejä: SPARQL query examples.
  
Wikidata ja SPARQL mahdollistavat yhden erittäin hyödyllisen kyselytyypin, nimittäin sen kysymisen mitä puuttuu. Voimme kysyä wikidatalta niitä Dalin teoksia, joilla ei ole paikkaa eikä kokoelmaa: Näytäpä ne, wikidata!



(*) sangen helposti on suhteellinen käsite. Minulle SPARQL oli entuudestaan tuntematon ja oikeanlaisen kyselyn aikaansaamiseen meni kyllä tovi aikaa.

PS. Jan Ainali piti erinomaisen esittelyn Wikidatasta Avoin kulttuuridata hyötykäyttöön työpajassa Isossa pajassa. Tästä innostuneena kirjoitin tämän. Joskus kannattaa vaan innostua.





keskiviikko 17. kesäkuuta 2015

Nautilus and stalled SFTP connection




After a long idle period my SFTP connection through Nautilus get stalled. Only cure I've found is to unmount and then connect again.

Unmount can be done from command line as follows:
 gvfs-mount -u sftp://you@you.net/


torstai 11. kesäkuuta 2015

Near Field Information in Museums

Near Field Information

I taught a module called "Near Field Information in Museums" in a CIDOC summer school in Jyväskylä. Near Field information is a term I invented for this class. It means wireless ways to trigger some information or action based on visitor's location. The module includes four technologies: QR codes, Near Field Communication (NFC), iBeacon and GPS.

It was an interesting experience. We concentrated to a situation where visitors would use their own devices without installing any museum specific application. And this is a challenge of its own.  

 

How did things work?

QR codes are widely used also in museum exhibitions and also most of the participant had a QR code reading software already installed in their mobile devices. No problems here.

NFC was much more challenging. In a group of 17 there wereonly  3 that could read NFC tags (i.e. had a NFC capable device). And that worked only if the tag had a URL stored in its memory. When I wrote a GPS coordinates to tag, then there was only 1 working device left.

Unfortunately iBeacon was introduced only by slides since my iBeacon, that I ordered form the net, never arrived. My self-made iBeacon (raspberry + BLE dongle) did not work since I could not find a DVI-cable for that so that I could start BLE advertising (sigh).

There was quite many iPhone users in the class, so iBeacon would have been worked well. However, iBeacon requires some application that links ID of the beacon to some content and this is the weak spot of that technology.

In order to test location services of mobile phones, I made a small browser-based GPS demo that we tried. The idea was that the location of the user was shown on the map by a blue dot in real time. By going to a certain marked points in the campus, you could see an old photograph taken from that point. Manual interaction was disabled so you couldn't see photograph by clicking or tapping.

Did it work? No. Well, there were 2 persons that managed to actually see a photograph. But in general, in real life this kind of outdoor museum application would make many visitors frustrated.

Why did this GPS thing fail? There are couple of reason. First, GPS is slow starter. It takes time and time depends on device and place. Secondly, mobile phones can use several methods for location (cell tower, WIFI) and it is not always clear what is enabled in the phone.

Cell tower locations are able to locate you very fast in a city level. That works if you would like to find a coffee bar next to you. But it might not work if there is a certain spot you must enter.

 

What did we learn?

One thing is clear when: Things can get messy. People want to use their devices but their device has no necessary application or hardware. Or, they have all the latest bells and whistles but they don't know how to enable them. Or, everything should be fine and working but things just *do not* work. In all cases, people get frustrated.

NFC is not mainstream, neither are QR codes, iBeacon or not even GPS. By mainstream I mean that they are not in a people's "default settings". There is always something extra needed.

But, there are always people that can use these and will use them.

 

How to proceed? 

By combining QR code, NFC tag and SHORT url, you will get a quite good coverage. NFC is handy and precise, QR code is less handy and written url is the last change to see what's behind this link.

How about frustration? I would use "educated eyes only" approach. It means that there is a possibility to use your own device but it is not actively advertised. In other words, there are QR codes or NFC tags lying around for those  who *already* know how to use them.

At this point it just might be a good approach.


torstai 21. toukokuuta 2015

We made this virtual reconstruction in 2006 about the Church of Oulainen. The animation was made for an exhibition. I'm not sure why I didn't publish this earlier. But anyway, here it is!


keskiviikko 5. marraskuuta 2014

Wikidata

I'm starting slowly to understand the possibilities of Wikidata. First time there is a possibility to really *use* the data stored in the Wikipedia and other Wikis.

I collected some links that were useful for me while I was/am finding my way to the sources of Wikidata.

What is it all about:
http://korrekt.org/page/Wikidata:_A_Free_Collaborative_Knowledge_Base

wikidata with pretty face:
http://tools.wmflabs.org/reasonator/

Search related

Wikidata Query (WDQ for short):
http://magnusmanske.de/wordpress/?p=72
http://wdq.wmflabs.org/api_documentation.html
http://wdq.wmflabs.org/wdq/

traditional Wikidata API:
https://www.wikidata.org/w/api.php

autolist:
http://tools.wmflabs.org/autolist/autolist1.html

Queries:

How to search by an article title in certain wikipedia:
http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&titles=Alvar%20Aalto&props=sitelinks&format=xml

Search from items:
https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Ky%C3%B6sti%20Kallio&language=en

Get sitelinks for a certain item:
https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q42&props=sitelinks&format=xml

More stuff:

http://notconfusing.com/3-ways-to-access-wikidata-data-until-it-can-be-done-properly/

http://stackoverflow.com/questions/tagged/wikidata

How to see a property in Wikidata:
www.wikidata.org/wiki/Property:P610

sunnuntai 14. syyskuuta 2014

Simberg, open data ja GlamWikiToolset

Kuva:Kansallisgalleria
PÄIVITETTY 22.9.2014
Kansallisgalleria on avannut hienon kokoelman Hugo Simbergin valokuvia osana Avoin Kulttuuridata -mestarikurssia.Metadata on saatavilla useassa eri formaatissa ja kuvat ovat saatavilla yhtenä zip-pakettina.

Tässä blogikirjoituksessa selvitän mitä tarvitaan Simberg-aineiston viemiseksi Wikimedia Commonssiin GWToolsetin avulla. GWToolsetin esittelin lyhyesti edellisessä kirjoituksessani. Kirjoitus on osa Wikimedia Suomen GLAM-yhteistyötä.

Simberg-aineisto

Simberg-aineiston muodostavat noin tuhat negatiivikuvaa, joista on digitaalisesti tehty positiivit. Lisäksi metadata on saatavilla usessa eri muodossa. Metadata on XML-muodossa seuraavan näköistä:



<photograph> 
  <author> Simberg, Hugo</author>
  <title> HS Familjeliv 1907 83</title> 
  <type> mustavalkonegatiivi, filmi</type> 
  <date> 1907</date> 
  <keeper> Kokoelmienhallinta, Kansallisgalleria</keeper> 
  <material> valokuvafilmi, selluloosanitraatti</material> 
  <keyword> Simberg</keyword> 
  <keyword> Hugo</keyword> 
  <keyword> taiteilija</keyword> 
  ...
  <image type="positive"> 130617Ha018</image> 
  <image type="negative"> 130617Ha019</image> 
</photograph> 


Mitä pitää muuttaa GWToolsettiä varten?

Aineistojen vieminen Wikimedia Commonssiin GWToolsetin avulla edellyttää kahta perusasiaa. Ensinnäkin aineistojen metadatan täytyy olla saatavilla jossain muodossa. Toiseksi, itse aineistoilla täytyy olla osoite, josta yksittäiset tiedostot voi ladata kuka tahansa.

URL

Ensimmäinen korjattava asia aineiston Simberg-metadatassa on siis URL:n ja tiedostopäätteen lisääminen tiedostonimeen (image-tagi). Eli rivi
<image type="positive">130617Ha018</image>
pitää muuttaa muotoon:
<image>http://esimerkkipalvelin.fi/kuvat/130617Ha018.jpg</image> 
Myös negatiivikuvat pitää poistaa, koska niiden lataamisessa Commonssiin ei ole tarvetta. Tällä kohtaa oletan, että kaikista kuvista on positiivit.

Instituution ja instituutiomallineen yhdistäminen

Aineistojen tarjoaja ja säilyttäjä on siis Kansallisgalleria. Siksi muutamme keeper -tagin sisällön muotoon, joka voidaan yhdistää suoraan Commonssissa jo olevaan Kansallisgallerian omaan instituutiomallineeseen.

Eli rivi:
<keeper> Kokoelmienhallinta, Kansallisgalleria</keeper> 
muutetaan muotoon
<keeper> Finnish National Gallery</keeper> 

GWToolsetissä voimme sitten ruksata option "Wrap institution in the institution template", jolloin Kansallisgallerian malline liitetään kaikkiin kuviin.

Photograph > record

Tämä on vain pieni mukavuuslisä. GWToolset oletusarvoisesti arvelee yksittäisten tietueiden olevan record -nimisiä. Siksi photograph tägi kannattaa muuttaa recordiksi, jotta tätä ei tarvitse muistaa muuttaa tuontivaiheessa.

Kuinka muunnos tehdään? vastaus:XSLT

XSLT on XML-pohjainen merkintäkieli XML-tiedostojen muunnoksiin. Sen avulla on helppo tehdä juuri edellä mainitun tapaisia muutoksia XML-tiedostoihin.Alla on selitetty miten hyvin yksinkertaisella XSLT-tiedostolla voidaan tehdä tarvittavat muutokset Simberg-aineiston XML-tiedostoon.

<!-- palvelimen osoite muuttujaan -->
<xsl:variable name="servername">http://esimerkkipalvelin.fi/kuvat/</xsl:variable>

<!-- kopioidaan kaikki -->
 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

<!-- poistetaan negatiivit -->
<xsl:template match="image[@type='negative']" />

<!-- lisätään kuvaan URL ja tiedostopääte -->
<xsl:template match="image[@type='positive']" >
    <image>
    <xsl:value-of select="concat($servername,.,'.jpg')" />
    </image>
</xsl:template>
</xsl:transform>


<!-- muutetaan Kansallisgallerian nimi vastaamaan instituutiomallinetta -->
<xsl:template match="keeper[.='Kokoelmienhallinta, Kansallisgalleria']" >
    <keeper>Finnish National Gallery</keeper>
</xsl:template>

<!-- lopuksi vielä vaihdetaan photograph recordiksi -->
<xsl:template match="photograph" >
    <record>
        <xsl:apply-templates select="@*|node()" />
    </record>
</xsl:template>

Tuloksena on GWToolset-ready XML-tiedosto. Hieman se vaati nypräämistä mutta ei mitään mahdottomia. Ainut puuttuva asia on palvelin, jossa kuvat olisivat saatavissa yksittäin sekä kyseisen palvelimen saaminen GWToolsetin latauslistalle.

DEMO:

Selaimessa toimiva demo löytyy tästä.

Voit käyttää XSLT-tiedostoa myös suoraan. Esimerkiksi Linuxissa konversion voi tehdä näin xsltproc-nimisen ohjelman asennuksen jälkeen:
 xsltproc --stringparam server 'http://jokupalvelin/kuvat/' xsl/simberg_clean.xsl xml/simberg_sample.xml

Lopputulos

Avoimen kulttuuridatan ja Wikimedia Commonssin ajatuksena on osallistuminen. Siksi lähtökohdan aineistolataukselle ei tarvitse olla täydellinen. Simberg -aineiston metatiedot voisivat olla *teknisesti* paremmin eroteltuja esimerkiksi kuvissa näkyvien henkilöiden osalta. Mutta niin ne voisivat AINA olla, täydellisyyttä tällä saralla ei voi saavuttaa.

Tärkeää kuitenkin on saada aineistot liikkeellä ja antaa ihmisille mahdollisuus täydentää ja käyttää aineistoja. Jos aineistojen pitäisi olla lähtötilanteessa täydellisesti luokiteltuja, virheettömiä ja täysin jonkin standardin mukaisia, niin silloin julkaisukynnys nousisi liian ylös, varsinkin kun resursseja ei monesti ainakaan liikaa ole. Tämä taas tarkoittaisi vähemmän avointa kulttuuridataa.

sunnuntai 31. elokuuta 2014

Aineistot Wikimedia Commonssiin


Uusi syksy, uudet kuviot 

Olen juuri aloittanut Wikimedia Suomen hommissa. Tarkoitus on dokumentoida GlamWikiToolset suomeksi ja auttaa organisaatioita sen käytössä. Lisäksi työskentelen Wikimapsin parissa.

Kirjoittelen tässä blogissa kokemuksista ja opetuksista pestini ajalta.

Mikä on GlamWikiToolset?

GlamWikiToolset (GWToolset) mahdollistaa aineistojen siirtämisen metatietoineen Wikimedia Commonssiin ns. massasiirtona (batch upload). Tämä on ainoa järkevä tapa tuoda suuria määriä tiedostoja Commonssiin.

Kuinka se toimii?

Alustavien kokeilujen jälkeen voin kertoa (Commons Betassa), että itse siirto on suhteellisen simppeli, kun sen on kerran tehnyt. Metatiedot kertova XML-tiedosto ladataan palveluun, sen jälkeen kerrotaan mitkä kentät lataajan tietomallissa vastaavat Wikimedian kenttiä (mappaus) ja lopuksi Toolset lataa kuvat tietoineen Commonssiin.

Haasteita

Suurin ongelma on XML-tiedoston luominen.Tiedoston pitää siis olla XML-tiedosto ja vaikka kenttien nimillä ei sinällään ole väliä, tiedostolla pitää kuitenkin olla tietynlainen rakenne. Tällaista tiedosto ei välttämättä saa "ulos" esimerkiksi kovin monesta museojärjestelmästä. Tämä on ehkä suurin yksittäinen haaste ratkaistavaksi.

Heräsikö kysymyksiä?

Minut tavoittaa sähköpostilla tai Twitterissä.
posti: ari.hayrinen@gmail.com
Twitterissä: https://twitter.com/opendimension




keskiviikko 14. toukokuuta 2014

ELY-keskus ja suora pyörätie


Kuinka monta Keski-Suomen ELY-keskuksen suunnittelijaa tarvitaan suunnitelemaan suora pyörätie?

Ei yhtään, sillä pyörätiehän ei voi olla suora!

On se kaunista kun ammattilaiset tekee!
kuva: Teemu Tenhunen

Lisää aiheesta: http://jkl.kaupunkifillari.fi/blog/2014/05/07/uusi-laukaantienjyvaskylantien-pyoratie

lauantai 1. helmikuuta 2014

Jolla and Aldiko permission fix

Jolla is able to run Android apps. However, this functionality is not perfect in all cases. On of those not-so-perfect-cases is Aldiko ebook reader. It is a very good reader and it can be used to download public domain books.

In Jolla, downloading public domain books with Aldiko is not fully functional. It downloads the book (by using the browser) in the Downloads directory but the book does not appear to the Aldiko's book self. If one tries to import that file directory to the Aldiko, the app says it cant read the file.

The fix for this is simple. Just give more permissions to the file. Adding read access for the group seems to be enough. If you have enabled the developer mode, then just go to the Downloads directory (/home/nemo/Downloads) and type:

chmod g+r the_ebook_name.epub

I tried also Nautilus for setting permission and that worked well also.

torstai 30. tammikuuta 2014

Jolla - se kaunein vaihtoehto

Jolla on esteettisesti erittäin miellyttävä. Tai oikeastaan voisi käyttää myös sanaa kaunis.

Jolla on mustavalkea pinta, jossa ei ole logoja eikä tyyppinumeroita. Jollan ei tarvitse kertoa kuka se on.


Kun Jollan käynnistää ensimmäisen kerran, yksi ensimmäisistä kysymyksistä on lempiväri. Se on koneelta aika hyvä iskurepliikki.

Voiko puhelin olla lempeä? Voiko hektiseen informaation vaihtoon suunniteltu laite olla rauhoittava? Jolla tuntuu pystyvän siihen.

Informaatioähky ei tunnu niin pahalta, kun siinä voi navigoida pehmeästi sivellen.

Sähköposti? Ei from, to tai cc-kenttiä. Ei klemmarin kuvia tai mainoksia. Vain lähettäjän nimi ja teksti. Ne kaksi asiaa, jotka ovat tärkeitä.

Yksityiskohdat löytyvät sipaisemalla vasemmalle.

Herätyskello? Ympyrä, kehä ja kaksi planeettaa. Aika ei ole digitaalisia numeroita, aika on positioita.

Erilainen.
Kaunis puhelin, joka on teknisesti (sangen) avoin. 
Humanistinörtti kiittää.

keskiviikko 30. lokakuuta 2013

How to restart X in Debian?

Just a quick note and reminder (for myself). I have experienced occasional GUI freezes. The mouse moves but nothing else works. However, I'm able to switch to command line (Ctrl + Alt + F1).

From terminal I can restart X with this (as root):
service gdm3 restart
And then the we run again... 

lauantai 20. huhtikuuta 2013

3D verkossa ilman lisäosia (WebGL + X3DOM + Javascript)


Reaaliaikaisten 3D-materiaalien käyttö verkossa on tähän asti vaatinut erilaisten lisäosien asennusta. Tämä on ollut äärimmäisen kömpelöä sekä harvoin alustariippumatonta. Lisäksi erilaiset suljetut formaatit ovat asettaneet sisällöt vaaraan. Digitaalisen kulttuuriperinnön näkökulmasta tärkeää on, että työtä ei tehdä turhaan eikä aineistoja kadoteta sitä mukaa kun kaupallisten tuotteiden tuki lakkaa.

Uusimmat selaimet (Microsoftin selainta lukuunottamatta) eivät enää välttämättä tarvitse laajennuksia kolmiulotteisen sisällön näyttämiseen. WebGL:n avulla selain voi käyttää hyväkseen 3D-näytönohjaimen ominaisuuksia suoraan.

Tekniikka itsessään ei vielä tietenkään vielä riitä. Malli täytyy saada näkymään tässä formaatissa ja siihen pitää lisätä tietoja ja mahdollisesti interaktiivisuutta. X3D on standardoitu XML-formaatti 3D-materiaaleille ja X3DOM on javascript-kirjasto, jonka avulla X3D-tiedostoja voidaan kääntää WebGL:n ymmärtämään muotoon.


Petäjäveden vanhan kirkon virtuaalirekonstruktio X3DOM-versiona.

Tein yksinkertaisen demon, jossa käytin aikaisemmin tekemääni Petäjäveden vanhan kirkon mallia. Malli on tallennettu X3D-formaattiin Blenderissä eikä sitä ole käsin muokattu. Koska 3D-objektit ovat osa normaalia DOM-rakennetta, pääsee niihin käsiksi kuten verkkosivun elementteihinkin. Tämä tietysti edellyttää, että mallintaja on ollut johdonmukainen objektien nimeämisessä. Esimerkiksi kaikki ikkunat voidaan helposti piilottaa, jos ne on nimetty "ikkuna_2", "ikkuna_3" ja niin edelleen. Nyt tarvitsee vain etsiä kohteet, joiden alussa on sana "ikkuna" ja asettaa niiden renderointi pois päältä.

Kokeilun pohjalta X3DOM vaikuttaa erinomaiselta lähestymistavalta. Se yhdistää standardin formaatin viimeisimpään selainteknologiaan. Mallit ovat turvassa vaikka javascript ja WebGL tulevat katoamaan ennemmin tai myöhemmin.

Demo löytyy täältä:
http://opendimension.org/reconstructions/petajavesi/



perjantai 19. huhtikuuta 2013

Väittelijä väittää, kuuleeko kukaan?


Lumemenneisyys 2013 on takana. Erinomainen tapahtuma, jota pitää yrittää hieman tarkemmin purkaa jossain vaiheessa. Mutta nyt on itsereflektion paikka.

Goggles on tunnistanut pöydälläni olleen lastenkirjan ja
etsinyt sen saksankielisen alkuperäisteoksen. (kuva esityksestäni)
Yksi asia on tullut selväksi: Väitöskirjan kirjoittaminen ei riitä. Ihmisiä voi kyllä yrittää saada lukemaan sitä, mutta se ei ole ihan helppoa. Ne, jotka työskentelevät asian parissa, eivät ehdi lukemaan ja ne, jotka ehtivät lukemaan, eivät työskentele asian parissa.

Väitöskirja ei voi olla päätepiste. Omaa tutkimusta on vietävä framille. Ei välttämättä niin että "tiedän miten asia on", vaan paremminkin että "asiaa voi katsoa näinkin". Tosin voi sitä näkökulmaa tietysti vähän terästää.

Eli seminaareihin ottamaan senkka nenästä. Paha veri ulos ja hyvä veri sisään.





sunnuntai 24. maaliskuuta 2013

Inverting checkbox selections with JQuery


I was building my first X3DOM test case and I needed to invert a checkbox selection with JQuery.  I found several ways of doing this that worked with previous versions but not with 1.9.1.

My first attempt was this ( inside .each -function):
$(this).attr("checked",!$(this).attr("checked")); 
That didn't work. Next attempt:
 $( this ).attr( 'checked', $( this ).is( ':checked' ) ? '' : 'checked' );
Nope. Then this:
$(this).is(':checked') ? $(this).removeAttr('checked') : $(this).attr('checked','checked');
Then I found it. Just click it with JQuery:

$(this).trigger('click');

Nice and simple!