Keväällä 2024 on pohdittu työryhmässä muutoksia Ripan viestirajapintaan, jotta Peppi-Sisu-Ripa -yhteentoimivuus saadaan toimimaan paremmin. Näiden tapaamisten muistiot ovat sivulla Muistiot 2024 yhteentoimivuuden kehittäminen Ripa-Peppi-Sisu.

Tälle sivulle on koottu tehtävät muutokset yhteen paikkaan.

Ilmoittautumisviestit, ilmoittautumisen tilat, ilmoittautumisen peruminen

Kuvattu vanha ja ehdotettu uusi malli kaavioineen sivulla Ilmoittautumisviestit ja ilmoittautumisen tilat

Pienryhmäilmoittautumiset

RIPAPUB-21 - Getting issue details... STATUS

Nykyiset viestiskeemat realisation.json registrationSelectionItemHier1.json

Skeemassa realisations.json kohta groupSelections.

  • Poistetaan type (CHOOSE_ONE tai CHOOSE_MANY) ja korvataan se uusilla kentillä
    • minGroups ja maxGroups, kuinka moneen ryhmään on tarkoitus osallistua, molemmat required.
    • flagi allowExtraSelections saako valintoja tehdä yli max arvon. Ei required, default false
  • Asettamalla maxGroups = -1 tai undefined voidaan ilmaista, että ylärajaa ei ole
  • Taaksepäin yhteensopivuus toteutetaan siten, että
    • vanha arvo CHOOSE_ONE tarkoittaa minGroups = 1 ja maxGroups = 1, allowExtraSelections = false
    • vanha arvo CHOOSE_MANY tarkoittaa minGroups = 1 ja maxGroups = -1, allowExtraSelections = true
    • uusi arvo maxGroups = 1 tarkoittaa CHOOSE_ONE
    • uusi arvo maxGroups > 1 tai maxGroups = -1 tarkoittaa CHOOSE_MANY
    • Tässä ei toteudu molempiin suuntiin yksi yhteen mäppäys, se ei olisi mahdollista. Toivottavasti kattaa yleisimmät tapaukset. Ilmoittautuminen voidaan aina myos hylätä kohdekorkeakoulussa.

Skeemassa registrationSelectionItemHierX.json (vastaavat muutokset Hier1, 2 ja 4 skeemoihin)

  • kohta subGroupsSelection
    • Arrayn items tyyppi muuttuu stringistä objectiksi. Uudessa objectissa propertyt
      • subGroupId. required. vastaa taulukon aiempaa string arvoa
      • preferredChoice. ei required. boolean. onko kyseessä ensisijainen valinta. Tällä voidaan erotella ensisijaiset valinnat muista. Peppi voi jättää tämän huomioimatta eikä sen tarvitse lähettää kentää lainkaan.
    • Taaksepäinyhteensopivuus triviaali, preferredChoice-kenttää ei tarvitse käyttää


Suoritusmerkinnät (CREATE_STUDYRECORD_REQUEST)

Nykyiset vistiskeemat: studyRecordCrossStudy.json, studyRecord.json, completedCredit.json

Muutokset completedCredit.jsoniin

  • Sisu on aiemmin lähettänyt osasuoritusten tunnisteet kentässä assessmentItemRealisationsOfMethodOfCompletion. Tehdään näille uusi kentä childCompletedCreditIdentifiers (string array). Tähän siis Sisun sisäinen viite osasuorituksesta.
    • Poistetaan vanha assessmentItemRealisationsOfMethodOfCompletion, koska tälle ei ole tiedossa mitään muuta käyttöä
  • Kentän completedCreditStatus mahdollisiksi tiloiksi tulevat ACCEPTED ja FAILED. Poistetaan tilat ATTEMPT_ABANDONED, UNFINISHED ja NOT_PARTICIPATED.
    • Versioiden välillä poistettavat tilat mäpätään FAILED tilaan ja FAILED tila mäpätään ATTEMPT_ABANDONED paitsi kun transaction = REMOVAL niin FAILED mäppäytyy NOT_PARTICIPATED
  • Suoritusviesteihin lisätään studyElementPermanentId kenttä. Tämä vastaa studyElement.jsonin studyElementPermanentId-kenttään ja siihen tulee opintoelementin pysyväisluonteinen tunniste korkeakoulun järjestelmässä. Erityisesti saman opintojakson eri versioilla säilyy tämä tunniste, jolloin nämä voidaan tunnistaa ja suoritusmerkinnät hoitaa oikein, mikäli opiskelija saa suoritusmerkinnän opintojaksolle, jonka vanhalla versiolla opiskelijalla on jo suoritusmerkintä.
  • Suoritusviesteihin studyRecord.json lisätään kenttä secondaryCompletion (ei required, boolean), jolla voidaan ilmaista toissijainen suoritusmerkintä. Tämä on lähinnä Sisun sisäistä viestintää varten. Pepin kannalta toissijaisia suorituksia ei tarvitse huomioida.
    • Taaksepäin yhteensopivuus tehdään niin, että Ripa ei edelleenlähetä lainkaan versioille 8 tai 9 toissijaisia suorituksia.


TapausLähettäjäcompletedCreditStatustransactioncompletedCreditTargetTypecompletedCreditAssociationsHuomioitaTaaksepäin yhteensopivuus
Hyväksytty toteutuksen suoritus, josta kirjataan heti myös opintojakson suoritusPeppiACCEPTEDNEW_COMPLETED_CREDITREALISATIONCOURSE_UNIT

Pepissä aiemmin ollut mahdollisuus, että transaction = CORRECTION, tämä poistuu. 

Ripa automaattisesti muuttaa CORRECTION → NEW_COMPLETED_CREDIT vanhoilta versioilta uusille, jos ei ole aiempaa suoritusta samasta opintojaksosta.

Hyväksytty toteutuksen suoritus, josta kirjataan arvioinninkohteen suoritusSisuACCEPTEDNEW_COMPLETED_CREDITASSESSMENT_ITEMREALISATION, COURSE_UNIT

Hyväkstty arvioinninkohteen suoritus ilman toteutuksen suoritustaSisuACCEPTEDNEW_COMPLETED_CREDITASSESSMENT_ITEMCOURSE_UNIT

Opintojakson suoritus koostetaan arvioinninkohteistaSisuACCEPTEDNEW_COMPLETED_CREDITCOURSE_UNITCOMPLETION_OPTION (voi myös jäädä pois)
ASSESSMENT_ITEM

Osasuoritukset kentässä assessmentItemRealisationsOfMethodOfCompletion

Aiemmin on jo erikseen lähetetty arvioinninkohteen suoritus, mistä käyvät ilmi siihen liittyvät toteutukset.

COMPLETION_OPTION voidaan joissakin tapauksissä jättää pois. Sisussa voidaan tehdä kirjauksia, jotka eivät voudata mitään olemassa olevaa suoritustapaa (erityisjärjestelyjä suorituksessa).

Aiemmassa toteutuksessa associationseissa ei lähetetty mitään. Ei kuitenkaan tarvitse poistaa tietoja vanhoille versioille.
Opintojakson suoritus ilman toteutuksen suoritusta. ErilliskirjausPeppi / 
Sisu
ACCEPTEDNEW_COMPLETED_CREDITCOURSE_UNITRiippuen erikoistilanteesta, voidaan lähettää viitteitä COMPLETION_OPTION tai ASSESSMENT_ITEM, mutta ei välttämättä. 

Nämä viestit ovat erikoistapauksia sekä Pepissä että Sisussa.

Osasuoritusten tietoja voi myös olla kentässä assessmentItemRealisationsOfMethodOfCompletion

Näitä viestejä ei käytössä Pepin eikä Sisun nykyisissä toteutuksissa. Lähin toteutettu tilanne on Sisun opintojakson suorituksen koonti, jossa myös type = course_unit, mutta associations tyhjä.

Loogisinta olisi jättää tähän muotoon eli ei muunnoksia.

Hylätty toteutuksen suoritus

Peppi

FAILEDNEW_COMPLETED_CREDITREALISATIONCOURSE_UNIT

Jos opiskelija itse jättää suorituksen kesken niin pääsääntöisesti hoidetaan ilmoittautumisviestien kautta eikä tule suoritusmerkintää lainkaan.

Sisussa ei ole toteutusten suorituksia, joten ei niiden hylättyjäkään suorituksia.

FAILED on täysin uusi tyyppi. Ripa muuntaa FAILED → ATTEMPT_ABANDONED uudelta vanhalle

Ripa muuntaa ATTEMPT_ABANDONED ja UNFINISHED → FAILED, vanhalta uudelle

Aiemmin Peppi on saattanut lähettää transaction myös CORRECTION. Ripa muuntaa CORRECTION → NEW_COMPLETED_CREDIT vanhasta uuteen

Hylätty arviointikohteen suoritusSisuFAILEDNEW_COMPLETED_CREDITASSESSMENT_ITEMREALISATION, COURSE_UNIT

Jos opiskelija itse jättää suorituksen kesken niin pääsääntöisesti hoidetaan ilmoittautumisviestien kautta eikä tule suoritusmerkintää lainkaan.


Hylätty opintojakson suoritusSisuFAILEDNEW_COMPLETED_CREDITCOURSE_UNIT

Sama huomio kuin yllä ilmoittautumisten kautta hoitamisesta.

Sisuun ei pääsääntöisesti kirjata hylättyjä opintojaksojen suorituksia, mutta erikoistapauksissa niitäkin voi tulla.

Sama kuin yllä FAILED → ATTEMPT_ABANDONED uudelta vanhalle.

Opintojakson korotusPeppiACCEPTEDNEW_COMPLETED_CREDITREALISATIONCOURSE_UNIT
Aiemmin Peppi lähettänyt Correction. Ripa ei pysty erottelemaan tätä ja kirjauksen korjausta toisistaan. Katso huomiot virheen korjauksen rivillä.
Opintojakson korotusSisuACCEPTEDNEW_COMPLETED_CREDITCOURSE_UNIT

Suoritusviesteihin lisätään studyElementPermanentId, jolla voidaan tunnistaa korotustilanne, kun verrataan aiempiin suoritusmerkintöihin, vaikka opintojaksosta olisikin toinen versio eri tunnisteella

Vanha suoritusmerkintä muuttuu toissijaiseksi CORRERCTION viestillä. Pepin pitäisi tämä käsitellä poistamalla vanha suoritus. Tilalle tulee NEW_COMPLETED_CREDITillä uusi suoritus.

studyElementPermanentId uusi suoritusviesteissä. Tieto on kuitenkin ilmoittautumisissa. Ripa voisi kaivaa ilmoittautumisen ja lisätä siellä olevan permanentId:n vanhoista versioista tuleviin suoritusviestiin

Arvioinnin kohteen korotusSisuACCEPTEDNEW_COMPLETED_CREDITASSESSMENT_ITEMREALISATION, COURSE_UNITArvioinnin kohteissa ei ole permanentId:tä. Korotus voidaan kuitenkin tunnistaa aiemmista suorituksista.
Opintojakson korotuksen yritys, mutta korotus ei onnistuPeppiACCEPTEDNEW_COMPLETED_CREDITREALISATIONCOURSE_UNIT

Aiemmin lähetti paremman eli vanhan arvosanan. Muutetaan lähettämään uusi arvosana vaikka se olisikin huonompi. Vastapää tunnistaa tilanteen epäonnistuneeksi korotukseksi. Tärkeää, että transaction on tässä NEW_COMPLETED_CREDIT.

Kun Ripa muuntaa uudesta rajapinnasta vanhaan, Ripa jättää välittämättä uuden arvosanan, mikäli se on huonompi kuin vanha.

Aiempaa transaction CORRECTION tilannetta Ripa ei pysty tunnistamaan muista vastaavista. 

Opintojakson korotuksen yritys, mutta korotus ei onnistuSisuACCEPTEDNEW_COMPLETED_CREDITCOURSE_UNIT

Näitä ei Sisussa yleensä synny. Opintojaksoista ei koosteta huonompia suorituksia. Ehkä joissain erikoistapauksissa.

Arvioinnin kohteen korotuksen yritys, mutta korotus ei onnistu

SisuACCEPTEDNEW_COMPLETED_CREDITASSESSMENT_ITEMREALISATION, COURSE_UNITLisätään viestiin flagi secondaryCompletion, jolla ilmaistaan, että toissijainen suoritus. Peppi voi jättää tällaiset suoritukset huomioimatta.

Kun Ripa välittää viestejä vanhaan rajapintaan, viesti jätetään kokonaan välittämättä, mikäli secondaryCompletion on asetettu.

Suoritusmerkintä korjataan kirjausvirheen takiaPeppiACCEPTEDCORRECTIONREALISATIONCOURSE_UNIT

Aiemmin muitakin tilanteita lähetettiin CORRECTION tyypillä. Ripan mahdotonta erotella näitä toisistaan. CORRECTION viestit jätetään tälle tyypille. Tästä ei pitäisi syntyä ongelmatilanteita.

Suoritusmerkintä korjataan kirjausvirheen takiaSisuACCEPTED

CORRECTION

tai joissakin tilanteissa kahdella eri viestillä

REMOVAL ja NEW_COMPLETED_CREDIT

COURSE_UNIT
Jos laajuus tai arvosana muuttuvat niin Sisussa suoritus virhemerkitään, mikä tulee Ripaan poistona ja tilalle tehdään kokonaan uusi merkintä. CORRECTION tyypillä tehdään korjauksia esim vastuuhenkilöihin tai lisätietoihin jne.

Kahden viestin yhdistelmä pitäisi toimia sellaisenaan myös vanhoissa versioissa.

Suoritusmerkintä korjataan kirjausvirheen takiaSisuACCEPTED

CORRECTION

tai joissakin tilanteissa kahdella eri viestillä

REMOVAL ja NEW_COMPLETED_CREDIT

ASSESSMENT_ITEMREALISATION, COURSE_UNIT
Kahden viestin yhdistelmä pitäisi toimia sellaisenaan myös vanhoissa versioissa.
Erityisjärjestelyjä suorituksessaPeppi



Peppi ei lähetä tällaisia

SisuACCEPTEDNEW_COMPLETED_CREDITCOURSE_UNIT
Normaalitilanteisiin verrattuna associationseista puuttuu viittaus arvioinninkohteseen. osasuorituksen id saattaa olla omassa kentässään, riippuen siitä, miten erityisjärjestelyt on tehty.

SisuACCEPTEDNEW_COMPLETED_CREDITASSESSMENT_ITEMCOURSE_UNITNormaalitilanteisiin verrattuna associationseinta puuttuu viittaus toteutukseen.
Suoritus poistetaanPeppi

ACCEPTED

myös FAILED käy

REMOVALREALISATIONCOURSE_UNIT
Peppi aiemmin käytti statusta NOT_PARTICIPATED. Ripa muuntaa tämän molempiin suuntiin versioiden välillä.
Suoritus poistetaanSisu

ACCEPTED

myös FAILED käy

REMOVALCOURSE_UNIT

Sisussa virhemerkintä tai suorituksen poisto kokonaan.

Korotustilanteissa Sisu lähettää CORRECTION-viestin, jossa suoritus asetetaan toissijaiseksi. Tämän käsittely Pepissä pitäisi olla oleellisesti sama kuin REMOVAL-viestin. 


Suoritus poistetaanSisu

ACCEPTED

myös FAILED käy

REMOVALASSESSMENT_ITEMREALISATION, COURSE_UNIT

Sisussa virhemerkintä tai suorituksen poisto kokonaan.

Associationseista voi viittaukset myös puuttua, mikäli ne puuttuivat alkuperäisestä suorituksesta erikoisjärjestelyjen takia










  • No labels