You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

Perustuu tietovarannon tietosisällöstä tehtyyn rajausluonnokseen, Korkeakoulujen tietomallin (xdw-malli) perusteella tehtyyn tietomalliluonnokseen sekä näihin perustuvaan koodistoluonnokseen, jotka saatavilla sivulla Tietovarannon tiedot.

Tämän sivun sisältö

Yleistä tiedonsiirrosta

Nämä tiedonsiirtomääritykset koskevat tietojen siirtämistä korkeakoulusta tietovarantoon. Tietojen lukemiseksi on erikseen web services-tyyppinen rajapinta, joka palauttaa tiedon järjestettynä CEN\SFS-standardin EUROLMAI-mukaan viranomaiskäyttöön tai korkeakoululle siirrettyjen tietojen tarkistamiseksi tai muuhun käyttöön.

Ohjausryhmän päätöksen 25/25.5.2012 perusteella tuetaan vain oletustiedonsiirtotapaa, mikä perustuu eräsiirtoon korkeakoulusta tietovarantoon.

Tietovarannon tietosisällön päivittämisen perustapaus on, että korkeakoulu päivittää eräsiirrolla kaikki tiedot uudestaan eli kaikki aiemmin tuotu tieto poistetaan alta. Kehitteillä on tapa päivittää eräsiirrolla tietoja vain muuttuneilta osin, eli yksittäisiä tietoja lisätään, muutetaan tai poistetaan (yksilöivät id:t!). 

Tiedonsiirto korkeakoulusta tietovarantoon muodostuu xml-tyyppisestä siirtotiedostosta tai vastaavasta(, kuten json?). Koska tietovarantoon sisältyy tietoja, jotka voivat saada nollasta useaan tiettyä ominaisuutta, ei CSV-kaltaiset yksiulotteiset tiedonsiirtoformaatit ole hyviä: esimerkki hylätystä CSV-vaihtoehdosta.

Tiedonsiirtomääritykset korkeakoulusta tietovarantoon

Tiedonsiirtomääritykset XML-skeemoina (http://www.w3.org/XML/http://www.w3.org/XML/Schema) on listattu alla (alisivuja). Jokainen skeematiedosto on alisivun liitetiedostona siten, että myös vanhemmat versiot on saatavilla. Lisäksi kustakin varsinaisesta tietorakenteita kuvaavasta skeemasta (skeeman nimi alkaa isolla kirjaimella) löytyy wikistä sekä kaavio että skeematiedosto.

XML-skeemat

  • Opintosuoritukset :: Versio 1.04 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 23
  • Opiskeluoikeudet :: Versio 1.04 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 19
  • LukukausiIlmoittautumiset :: Versio 1.04 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 18
  • Opiskelijat :: Versio 1.04 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 16
  • koodistot :: Versio 1.04.2 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 17
  • tyypit :: Versio 1.04.1 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 15
  • Virta.xsd :: Versio 1.04 :: namespace="urn:mace:funet.fi:virta/2012/11/26" :: wiki versio 5
Päivityshistoria:
  • 17.9.2012 Tuotu ensimmäiset "julkiset" versiot (opiskelijat, opiskeluoikeudet, opintosuoritukset, tyypit, koodistot). Versio 0.2
  • 18.9.2012 Päivitetty mittavasti kaikkia skeemoja. Lisätty ilmoittautumiset-skeema. Versio 0.3
  • 19.9.2012 Lisätty version 0.3 mukaiset kaaviokuvat XML-skeemoista
  • 25.9.2012 Päivitetty skeemat ja kaaviot versioon 0.4. Muutoksia rakenteissa niin tietosisältöön liittyen kuin yleisemminkin. Lisäyksiä tietosisältöön, mm. kirjoilletulopvm. Dokumentaatiota lisätty.
  • 28.9.2012 Päivitetty skeemat ja kaaviot versioon 0.5. Muutokset enimmäkseen aiempien "TODO"-kohtien läpikäyntiä ja ratkaisuja niihin. Joitakin rakenteellisia muutoksia.
  • 4.10.2012 Päivitetty skeemat ja kaaviot versioon 0.6 ja 0.61. Lukuisia muutoksia asiantuntijaryhmän työpajan (2.10.2012) perusteella. Myös laajoja tietotyyppien tarkentamista ja keräämistä kahteen skeemaan (tyypit ja koodistot).
  • 10.10.2012 Päivitetty skeemat ja kaaviot versioon 1.0. Versionumero on ohjausryhmän päätöksen jälkeen "virallinen julkaistu versio", mutta asiavirheitä ja tarkennuksia tehdään vielä. Erityisesti nyt alkavien Virta-projektin pilottitoteutusten aikana.
    • Puutteita/tulevaa:
      • Valtakunnallinen koulutusmoduuliID
      • id-tietotyyppien muutos ja linkittäminen toisiinsa, kun mahdollista tai suotavaa
      • Koodistojen tarkentaminen ja täydentäminen (esim. pätevyys, organisaatio)
      • Luovutaan toistaiseksi turhista <Koodi>-elementeistä, kuten Opiskeluoikeus.Tyyppi.Koodi, Opintosuoritus.Patevyys.Koodi jne.
  • 11.10.2012 Päivitetty skeemat ja kaaviot versioon 1.01.
    • Muutoksia:
      • Poistettu toistaiseksi tarpeettomat <Koodi>-tagit, jotka voi helposti laajentaa myöhemmin mukaan, jos tarvetta ilmenee.
      • Opintosuoritukset-skeemaan muutettu Opinnaytetyo-elementin rakenne: Lisätty Koodi-elementti ja muutettu hankkeistettu->Hankkeistettu (attribuutista elementiksi).
      • Koodistoja tarkennettu ja täydennetty. Vielä on keskeneräisiä mm. pätevyys ja arvosana-asteikot.
    • Puutteita/tulevaa:
      • Valtakunnallinen koulutusmoduuliID
      • id-tietotyyppien muutos ja linkittäminen toisiinsa, kun mahdollista tai suotavaa
      • Koodistojen tarkentaminen ja täydentäminen: pätevyys, arvosana-asteikot
  • 25.10.2012 Päivitetty skeemat ja kaaviot versioon 1.02
    • Muutoksia:
      • Lisätty valtakunnallinen koulutusmoduuli id Opiskeluoikeudet ja Opintosuoritukset -skeemoihin
      • Koodistoa tarkennettu arvosana-asteikkojen osalta. Samalla Opintosuoritukset-skeemaa päivitetty arvosanojen osalta.
      • Lisätty täysin uutena uusi skeema Virta, joka oikeastaan vain yhdistää kaikki muut skeemat.
    • Puutteita/tulevaa
      • id-tietotyyppien muutos ja linkittäminen toisiinsa, kun mahdollista tai suotavaa
      • Koodistojen tarkentaminen ja täydentäminen: pätevyys, arvosana-asteikot
  • 30.10.2012
    • Puutteita/tulevaa
      • Elementtien ja attribuuttien nimeäminen uusitaan
  • 5.11.2012 Päivitetty skeemat ja kaaviot versioon 1.03
    • Muutoksia:
      • Nimetty kattavasti elementtejä ja attribuutteja uudestaan siten, että nimet vastaavat paremmin korkeakoulujen tietomallia (xdw-malli). Selkein esimerkki tästä on kaikki elementit ja attribuutit, joissa esiintyi "id".
      • Joitakin rakenteellisia muutoksia, esim opiskeluoikeuden opiskelijaliikkuvuus (oli tarpeeton).
      • Ilmoittautumiset-skeema nimetty uudestaan nimelle LukukausiIlmoittautumiset
      • Lisätty Kansainvälistä vaihtoa -koodisto tiedonsiirtoskeemaan
    • Puutteita/tulevaa
      • Koodistojen tarkentaminen ja täydentäminen: pätevyys, arvosana-asteikot
  • 26.11.2012 Päivitetty skeemat ja kaaviot versioon 1.04

    • Muutoksia:
      • koodistot.xsd
        • Päivitetty Pätevyys-koodistoon asiantuntijoiden ilmoittamia arvoja erityisesti Valviraan liittyen
      • tyypit.xsd
        • Tarkennettu henkilötunnuksenmuotoa siten, että vain aidot suomalaiset hetut kelpaavat (tarkistusosan ensimmäinen merkki 0-8 (ei 9)) sekä vain syntymäaikaa ilmoittaville välimerkki (=vuosisatamerkki) on pakollinen.
        • Nimetty: OpintosuoritusLisatietoTyyppi => OpintosuoritusJulkinenLisatietoTyyppi
        • Lisätty: Opintosuorituksiin liittyen 'Muu' arvosana-asteikkoon liittyen rakenne, jolla arvosana-asteikko arvosanoineen voidaan ilmoittaa osana tiedonsiirtoa.
      • Opintosuoritukset.xsd
        • Nimetty uudestaan: Lisatieto -> JulkinenLisatieto
        • (lisäksi tyyppi.xsd-skeeman muutos 'Muu' arvosana-asteikkoon liittyen koskee tietysti erityisesti opintosuorituksia)
      • Virta.xsd
        • Muutettu: Opiskeluoikeuksien pakollisuus valinnaiseksi.
      • Muut skeemat muutettu vain vastaamaan versionumeroltaan sekä nimiavaruudeltaan.
  • 11.01.2013 Päivitetty tyypit- ja koodistot-skeemat versioon 1.04.1
    • Huom! Skeemojen nimiavaruutta ei muutettu, joten versiopäivitykseksi riittää kopioida tyypit.xsd ja koodistot.xsd -tiedostot!
    • Muutoksia:
      • koodistot.xsd
        • Päivitetty Kunta-, Maa- ja Organisaatio-koodistot sisältämään koko 2000-luvun tiedot.
        • Huom! Organisaatio-koodisto ulottuu vasta 2010-vuoteen saakka. Lisäksi Koulutuskoodi (koulutusluokitus/tutkinto) sisältää toistaiseksi vain vuoden 2010 tiedot.
      • tyypit.xsd
        • Poistettu tarpeeton ylimääräinen tyyppimääritys HenkilotunnusTyyppi-elementistä (maxLength=11).

        • Muutettu KoulutusmoduulitunnisteTyyppi ja ValtakunnallinenKoulutusmoduulitunnisteTyyppi-tyyppien pituudet 200-merkkiin.
  • 21.01.2013 Päivitetty koodistot-skeema versioon 1.04.2
    • Huom! Skeeman nimiavaruutta ei muutettu, joten versiopäivitykseksi riittää kopioida koodistot.xsd -tiedosto!
    • Muutoksia
      • koodistot.xsd
        • Lisätty arvoja Kunta-, Maa- ja Kieli-koodistoihin. Kieli-koodistoon lisätty arvo 98, Maa-koodistoon lisätty arvo 891 ja Kunta-koodistoon paljon arvoja, jotka ovat olleet aiemmin käytössä.
        • Päivitetty Arvosana-asteikkoja. Lisätty Viisiportainen-asteikkoon arvosana HYV=Hyväksytty sekä poistettu arvosana 0. Poistettu Hyvaksytty-asteikosta arvosana HYL=hylätty.

XML-tiedoston tarkastaminen skeemaa vasten

XML-tiedoston voi tarkastaa (validoida) lukuisilla tavoilla XML-tiedostoa vastaavaa skeemaa vasten. Validointi tarkoittaa, että tarkistetaan olemassa olevan XML-tiedoston oikeellisuus "yhteisesti sovitun" XML-skeeman mukaisena.

xmllint

VIRTA-projektin yhteydessä on käytetty kehittämisen yhteydessä ohjelmaa xmllint. Ohjelman xmllint löytää vapaasti ladattavana internetistä useistakin paikoista, mutta suosittelemme ohjelman lataamista ohjelman kehittäjän omilta sivuilta:

Edellä mainitusta www-osoitteesta (zlatkovic.com) tarvitaan "paketit":

  • libxml2
  • iconv

Esim. Windows-ympäristössä ladattavat paketit löytyvät edellä mainitun www-osoitteen oikeassa reunassa olevan otsikon "Binaries" alta, josta avautuu tiedostolista, ja josta edelleen ladattavat zip-paketit ovat:

  • libxml2-2.7.8.win32.zip
  • iconv-1.9.2.win32.zip

(Unix/Linux-versiot löytyvät ohjelmien virallisilta sivuilta: http://xmlsoft.org/ [18.12.2012] ja http://www.gnu.org/software/libiconv/ [18.12.2012].)

Purkamalla ko. zip-paketit ja kopioimalla (tai siirtämällä) bin\-hakemistojen sisältö samaan paikkaan, voi xmllint.exe-ohjelmaa käyttää komentoriviltä ("kehote", Windows: cmd.exe). Ohjelma tulostaa lyhyet omat käyttöohjeet kun ohjelman käynnistää ilman parametreja.

Tyypillisin tarkistustapa VIRTA-projektin XML-skeemojen kehittämisen yhteydessä on ollut:

xmllint-ohjelman käyttöesimerkki
>xmllint.exe --noout --schema "Opiskelijat.xsd" "Opiskelijat esim1.xml"

Esimerkistä on jätetty hakemistopolut tarkoituksella esimerkin siistinä pitämisen vuoksi pois, mutta jos sattuisi kaikki tarvittava olemaan samassa hakemistossa tai esim. xmllint-ohjelma asetettu käyttöjärjestelmän PATH-ympäristömuuttujaan, niin esimerkki luultavasti toimisi suoraan (olettaen tietysti että xml-tiedoston nimi on sama kuin esimerkissä). Tuloksena toivomme ohjelman tulostaman ilmoituksen: "Opiskelijat esim1.xml validates" (smile). Mikäli virheitä löytyy, xmllint-ohjelma kyllä melko hyvin osaa raportoida epäkohdista!

XMLStarlet

Vaihtoehtoinen ohjelma ainakin windows-ympäristössä on ohjelman XMLStarlet:

XMLStarlet-ohjelman avulla onnistuu isojenkin XML-tiedostojen tarkastaminen (onnituneesti on kokeiltu n. 2,34 GB opintosuoritusten XML-tiedostolla).

XMLStarlet-ohjelman käyttöesimerkki
>xml.exe val --err --xsd Opintosuoritukset.xsd Opintosuoritukset.xml

Toivottu tulos: "Opiskelijat.xml - valid"

  • No labels