Miksi?
Organisaatiotiedoille on EXAMin tietojärjestelmässä paikka, mutta tietoja ei toistaiseksi ole hyödynnetty sovelluksessa kovinkaan kattavasti.
Opintojakson organisaatiotieto
Toistaiseksi organisaatiotietoa on tuotu järjestelmään opintojaksorajapinnan kautta, institutionName-attribuutin perusteella, jotta opintojaksolle voidaan linkittää oppilaitoksen nimi. Tieto on tuotu puuttellisena ja ad-hoc -tyyppisesti eli EXAMin tietokantaan luodaan automaattisesti uusi organisaatio aina kun sellainen vastaanotetaan rajapinnan välityksellä. Järkevämpää olisi, että organisaatiot olisi valmiiksi määritelty täydellisinen tietoineen EXAMin tietojärjestelmässä, jolloin linkitys opintojakson ja organisaation välillä voitaisiin tehdä hallitummin ja perusteellisemmin.
Käyttäjän organisaatiotieto
Jatkossa tullaan tukemaan myös käyttäjien jaottelua organisaatioihin HAKA-tiedon perusteella. Tämä siksi että halutaan tukea käyttötapausta, jossa useampi oppilaitos jakaa saman EXAM-asennuksen. Jotta käyttäjät saadaan oikein jaoteltua organisaatioihin, täytyy organisaatiotieto olla esituotuna EXAMin tietojärjestelmään.
Tämä on myös esivaatimus, jotta useamman organisaation yhteinen asennus voidaan ottaa käyttöön.
Miten?
Organisaatiotieto tallennetaan Examissa relaatioon organisation:
sitnet=> \d organisation Table "public.organisation" Column | Type | Modifiers -------------------+------------------------+----------- id | bigint | not null code | character varying(32) | name | character varying(255) | not null name_abbreviation | character varying(32) | object_version | bigint | not null parent_id | bigint |
kenttä | selite | käyttö | pakollinen | opintojaksorajapinnan tietue | HAKA-attribuutti |
---|---|---|---|---|---|
id | yksilöivä tunniste (sisäinen) | sisäinen | |||
code | organisaation koodi / domain | tiedolla liitetään käyttäjä tiettyyn organisaatioon | homeOrganisation | ||
name | organisaation nimi | tiedolla liitetään opintojakso tiettyyn organisaatioon. Näkyy myös käyttöliittymässä. | institutionName | ||
name_abbreviation | organisaation nimen lyhenne | toistaiseksi ei käyttöä | |||
object_version | tietueen versionumero | sisäinen. Arvoksi 1 kun tietuetta lisätään. | |||
parent_id | yläorganisaation yksilöivä tunniste | toistaiseksi ei käyttöä. Tarvittaessa tällä voidaan mallintaa organisaatiohierarkioita. |
Huomioitavaa on siis, että jos halutaan hallitusti liittää opintojaksoja organisaatioon rajapinnan yli tapahtuvan tuonnin yhteydessä, on name-kentän arvon vastattava opintojaksolle saatavan institutionName-kentän arvoa.
Vastaavasti, jos halutaan liittää käyttäjiä organisaatioon, on code-kentän arvon vastattava HAKA:sta saatavan homeOrganisation-tiedon arvoa.
Tietojen tuonti
SQL-kommennolla tyyliin
INSERT INTO organisation (id, code, name, name_abbreviation, object_version, parent_id) VALUES (1, 'utu.fi', 'Turun Yliopisto', 'UTU', 1, NULL); INSERT INTO organisation (id, code, name, name_abbreviation, object_version, parent_id) VALUES (2, 'abo.fi', 'Åbo Akademi', 'ÅA', 1, NULL);