Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vervangen Json schema generator conform "encoding rules" #336

Open
ArjanLoeffen opened this issue Apr 24, 2023 · 7 comments
Open

Vervangen Json schema generator conform "encoding rules" #336

ArjanLoeffen opened this issue Apr 24, 2023 · 7 comments

Comments

@ArjanLoeffen
Copy link
Contributor

ArjanLoeffen commented Apr 24, 2023

Geonovum neemt initiatief tot encoding rules voor Json schema. Deze regels moeten ook op MIM modellen in imvertor worden toegepast. Dat betekent dat de huidige schema's en aanpak in Imvertor moet worden aangepast om de voldoen aan de nieuwe eisen.

De encoding rules:

@ArjanLoeffen
Copy link
Contributor Author

ArjanLoeffen commented Apr 24, 2023

Json schema's komen op twee plekken terug in Imvertor resultaten.

Ter vergelijking: ShapeChange resultaten voor de voorbeeld modellen zijn hier: Shapechange.zip. Een vergelijking van dit formaat met de Kadaster methode staat hier: SC-IMV-analyse.docx. ShapeChange test repository issues vind je hier.

Op dit moment wordt Json schema via EP gegenereerd. Dus Imvertor-XML naar EP naar Json-schema (naar yaml schema). Dit geldt voor beide methoden. Maar de implementaties lopen uiteen.

  • De EP formaten wijken af.
  • De json formaten wijken af.
  • Aanname is dat de yaml formaten niet afwijken als de json formaten gelijk zijn; yaml wordt gegenereerd vanuit Json op basis van een publieke java library.

De strategie om te komen tot één module die de EP genereert (dus één variant, zie #337) en van daaruit één Json schema variant, moet serieus worden bekeken. VNG geeft aan dat het vooralsnog niet mogelijk is om af te wijken in de json/yaml schemas zoals die nu in OAS worden samengesteld. Dit, omdat afnemers aanpassingen niet zullen volgen.

Vooralsnog zal dus EP moeten worden gelijkgetrokken waarna (als nodig) de bedoelde twee json schema varianten worden opgeleverd. Dat is alvast het halve werk.

Ook zal dit EP formaat worden gegenereerd vanuit een MIM serialisatie. Dat is afwijkend van de huidige aanpak, waarbij het vanuit Imvert-XML wordt samengesteld (in beide methoden). Dit betekent dat de Json schema module alléén bedoeld is voor MIM modellen. Daarbij moet dus VNG kijken of die aansluiting (in BSM context) wel werkt.

Voorwaardelijk voor een succesvolle implementatie is dus:

  • Correcte en complete MIM serialisatie. De MIM serialisatie schema's zijn hier te vinden.
  • Correcte EP serialisatie. EP formaat (het "EP schema") moet geaccepteerd worden door beide methoden. Het EP schema is hier te vinden.
  • Correcte Json serialisatie, inclusief aansluiting op GeoJSon

NB

ArjanLoeffen pushed a commit that referenced this issue Apr 24, 2023
Work in progreess, zie #336
@melsk-r
Copy link
Contributor

melsk-r commented May 1, 2023

Bij deze de IMVB voorbeeld bestanden (json en yaml) gegenereerd m.b.v. de VNG-R methode BSM-IMVB.zip.

@ArjanLoeffen
Copy link
Contributor Author

ArjanLoeffen commented May 2, 2023

Inmiddels zijn beide genoemde schemas aangepast in een feature branch.

Deze schemas kunnen dus nog worden aangepast obv voortgang in het werk.

ArjanLoeffen pushed a commit that referenced this issue May 9, 2023
Hierna wordten de verschillen tussen de eisen die de Best Practices
stelt en de huidige json opgelost en doorgevoerd.

zie #336

Minor, nieuwe module.
@ArjanLoeffen
Copy link
Contributor Author

De eerste oplevering is gedaan op 3 aug 2023. @lvdbrink loopt het resultaat door.

Zie https://github.com/Geonovum/shapeChangeTest/issues

@ArjanLoeffen
Copy link
Contributor Author

Materiaal voor review van Johannes staat in

https://github.com/Geonovum/shapeChangeTest/tree/main/Results

@PalmJanssen
Copy link
Collaborator

Dit was een major succesvolle 👍 operatie in 2023.
JSON schema generatie is nu geintegreerd: JSON schema's (JSON, GeoJSON, JSON-FG).

Vraag: Is er ergens documentatie (voor de gebruiker) hierover.?

@ArjanLoeffen
Copy link
Contributor Author

Nee, nog geen documentatie.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants