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ää
- Arrayn items tyyppi muuttuu stringistä objectiksi. Uudessa objectissa propertyt
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.
Tapaus | Lähettäjä | completedCreditStatus | transaction | completedCreditTargetType | completedCreditAssociations | Huomioita | Taaksepäin yhteensopivuus |
---|---|---|---|---|---|---|---|
Hyväksytty toteutuksen suoritus, josta kirjataan heti myös opintojakson suoritus | Peppi | ACCEPTED | NEW_COMPLETED_CREDIT | REALISATION | COURSE_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 suoritus | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | ||
Hyväkstty arvioinninkohteen suoritus ilman toteutuksen suoritusta | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | COURSE_UNIT | ||
Opintojakson suoritus koostetaan arvioinninkohteista | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | COURSE_UNIT | COMPLETION_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. Erilliskirjaus | Peppi / Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | COURSE_UNIT | Riippuen 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 | FAILED | NEW_COMPLETED_CREDIT | REALISATION | COURSE_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 suoritus | Sisu | FAILED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | Jos opiskelija itse jättää suorituksen kesken niin pääsääntöisesti hoidetaan ilmoittautumisviestien kautta eikä tule suoritusmerkintää lainkaan. | |
Hylätty opintojakson suoritus | Sisu | FAILED | NEW_COMPLETED_CREDIT | COURSE_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 korotus | Peppi | ACCEPTED | NEW_COMPLETED_CREDIT | REALISATION | COURSE_UNIT | Aiemmin Peppi lähettänyt Correction. Ripa ei pysty erottelemaan tätä ja kirjauksen korjausta toisistaan. Katso huomiot virheen korjauksen rivillä. | |
Opintojakson korotus | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | COURSE_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 korotus | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | Arvioinnin kohteissa ei ole permanentId:tä. Korotus voidaan kuitenkin tunnistaa aiemmista suorituksista. | |
Opintojakson korotuksen yritys, mutta korotus ei onnistu | Peppi | ACCEPTED | NEW_COMPLETED_CREDIT | REALISATION | COURSE_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 onnistu | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | COURSE_UNIT | Näitä ei Sisussa yleensä synny. Opintojaksoista ei koosteta huonompia suorituksia. Ehkä joissain erikoistapauksissa. | ||
Arvioinnin kohteen korotuksen yritys, mutta korotus ei onnistu | Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | Lisä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 takia | Peppi | ACCEPTED | CORRECTION | REALISATION | COURSE_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 takia | Sisu | ACCEPTED | 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 takia | Sisu | ACCEPTED | CORRECTION tai joissakin tilanteissa kahdella eri viestillä REMOVAL ja NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | Kahden viestin yhdistelmä pitäisi toimia sellaisenaan myös vanhoissa versioissa. | |
Erityisjärjestelyjä suorituksessa | Peppi | Peppi ei lähetä tällaisia | |||||
Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | COURSE_UNIT | Normaalitilanteisiin verrattuna associationseista puuttuu viittaus arvioinninkohteseen. osasuorituksen id saattaa olla omassa kentässään, riippuen siitä, miten erityisjärjestelyt on tehty. | |||
Sisu | ACCEPTED | NEW_COMPLETED_CREDIT | ASSESSMENT_ITEM | COURSE_UNIT | Normaalitilanteisiin verrattuna associationseinta puuttuu viittaus toteutukseen. | ||
Suoritus poistetaan | Peppi | ACCEPTED myös FAILED käy | REMOVAL | REALISATION | COURSE_UNIT | Peppi aiemmin käytti statusta NOT_PARTICIPATED. Ripa muuntaa tämän molempiin suuntiin versioiden välillä. | |
Suoritus poistetaan | Sisu | ACCEPTED myös FAILED käy | REMOVAL | COURSE_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 poistetaan | Sisu | ACCEPTED myös FAILED käy | REMOVAL | ASSESSMENT_ITEM | REALISATION, COURSE_UNIT | Sisussa virhemerkintä tai suorituksen poisto kokonaan. Associationseista voi viittaukset myös puuttua, mikäli ne puuttuivat alkuperäisestä suorituksesta erikoisjärjestelyjen takia | |