Open bartvriesema opened 10 months ago
In aanvulling hierop:
Program - FieldsOfStudy
: indien dit veld niet gevuld is, wordt het opgestuurde Program niet verwerkt door de RIO mapper. Dit veld bevat de ISCED-F code van de opleiding. Een veld dat wij in ieder geval binnen de universiteit (nog) niet gebruiken. Alhoewel we in ons SIS wel voorzieningen getroffen hebben om dit veld te kunnen vullen.Wij hebben ditzelfde probleem, zelfs na het volgen van de instructies van SURF waarin ze verwijzen naar die zelfde documentatie. We hebben opnieuw contact gezocht met SURF hierover, omdat wij nu geen Programs
kunnen versturen naar RIO.
Zodra we meer duidelijkheid hebben zal ik hier een update plaatsen.
@kevinhagenaars Tegen welk probleem lopen jullie aan? Wij zijn inmiddels wel live in productie met onze koppeling, waarbij we ook tegen problemen aangelopen zijn. Wellicht dat wij jullie in ieder geval op weg kunnen helpen.
@bartvriesema ah dat klinkt goed. Wij hebben problemen met het opvoeren van Programs waarbij deze de onderstaande foutmelding geeft als response:
{ "status": "error", "token": "xxx", "resource": "program/xxx", "phase": "fetching-ooapi", "message": "Entity fails spec: () - failed: Insufficient input in: [:consumers] at: [:consumers :rio] spec: :nl.surf.eduhub-rio-mapper.ooapi.Program/rio-consumer\n" }
waarbij dit ons consumer object is:
@kevinhagenaars Ik heb in onze testomgeving even gekeken en geprobeerd dit na te spelen. Als ik echter een Program met dezelfde consumerkeys opstuur naar RIO test dan gaat dat gewoon goed.
Dit was de data in de database, waarbij ik een aantal entries verwijderd heb.
Daarna ziet dat er zo uit:
Ik krijg in ieder geval niet dezelfde foutmelding met deze data.
Ik zie echter wel dat jullie in de educationOffererCode verwijzen naar 107B304 en dat is een OnderwijsBestuur en geen OnderwijsAanbieder. Als ik bij ons die waarde wijzig naar een OnderwijsBestuur, dan krijg ik de volgende foutmelding: Entity fails spec: () - failed: Insufficient input in: [:consumers] at: [:consumers :rio] spec: :nl.surf.eduhub-rio-mapper.ooapi.Program/rio-consumer.
Lijkt er dus op dat daar het probleem zit. En dat de volgende OnderwijsAanbieder gebruikt moet worden: https://vt-zakelijk.duo.nl/portaal/rio/selfservice/organisatie/108A996
@bartvriesema super bedankt! In onze data stuurde we de code van het Onderwijsbestuur mee ipv de Onderwijsaanbieder. Na de juiste code te gebruiken gaat het wel goed! Ik zal even bij SURF een verzoek indienen met de vraag of de mapper duidelijkere foutmeldingen kan sturen.
Bij het testen van de koppeling tussen OOAPI en RIO test hebben we geconstateerd dat sommige velden t.b.v. RIO zich niet conformeren aan de OOAPI specificatie. Daarnaast lijken een aantal velden in de documentatie niet verplicht te zijn, maar zijn die volgens de RIO mapper van SURFeduhub wel noodzakelijk.
De tot nog toe bekende afwijkingen van de OOAPI specificatie zijn:
EducationSpecification - Abbreviation
: maximaal 40 karakters t.b.v. RIO, terwijl de OOAPI specificatie 256 karakters toestaatProgram - Abbreviation
: idemEducationSpecification - Description
: maximaal 3000 karakters t.b.v. RIO terwijl de OOAPI specificatie geen harde limiet heeft. Betreft een LanguageTypedStringProgram - Description
: idem Bovenstaande zaken zijn wel benoemd op de documentatie paginaDe volgende zaken worden niet benoemd in relatie tot de RIO mapper:
Program - Consumer - RIO - StudyChoiceCheck
: verplicht veld voor RIOProgram - Consumer - RIO - ConsentParticipationSTAP
: verplicht veld voor RIOProgramOffering - EnrollStartDate
: verplicht veld voor RIOProgramOffering - EnrollEndDate
: verplicht veld voor RIOProgramOffering - Consumer - RIO - RegistrationStatus
: verplicht veld voor RIO Dat deze velden verplicht zijn blijkt niet uit de documentatie. Het is ook niet automatisch zo dat alle RIO specifieke velden verplicht zijn, want een deel mag je wel weglaten. Voornoemde lijstje is wat ik tot nog toe ben tegen gekomen, maar er zou meer kunnen zijn.