open-education-api / ooapi-dotnet

dot.net-implementation of the ooapi-specification
GNU Affero General Public License v3.0
8 stars 0 forks source link

RIO mapper conformeert zich niet aan OOAPI specificatie #45

Open bartvriesema opened 10 months ago

bartvriesema commented 10 months ago

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:

De volgende zaken worden niet benoemd in relatie tot de RIO mapper:

bartvriesema commented 9 months ago

In aanvulling hierop:

kevinhagenaars commented 7 months ago

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.

bartvriesema commented 7 months ago

@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.

kevinhagenaars commented 7 months ago

@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:

afbeelding

bartvriesema commented 7 months ago

@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. image

Daarna ziet dat er zo uit: image 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

kevinhagenaars commented 7 months ago

@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.