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äydellisine 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.

(warning) 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äselitekäyttöpakollinenopintojaksorajapinnan tietueHAKA-attribuutti
idyksilöivä tunniste (sisäinen)sisäinen(tick)(error)(error)
codeorganisaation koodi / domaintiedolla liitetään käyttäjä tiettyyn organisaatioon(error)(error)homeOrganisation
nameorganisaation nimitiedolla liitetään opintojakso tiettyyn organisaatioon. Näkyy myös käyttöliittymässä.(tick)institutionName(error)
name_abbreviationorganisaation nimen lyhennetoistaiseksi ei käyttöä(error)(error)(error)
object_versiontietueen versionumerosisäinen. Arvoksi 1 kun tietuetta lisätään.(tick)(error)(error)
parent_idyläorganisaation yksilöivä tunnistetoistaiseksi ei käyttöä. Tarvittaessa tällä voidaan mallintaa organisaatiohierarkioita.(error)(error)(error)

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);
  • No labels