Imvertor / Imvertor-Maven

Mavenized version of Imvertor
http://www.imvertor.org
7 stars 12 forks source link

MIM eis: alle missende metagegevens worden niet als waarschuwingen maar als fouten gerapporteerd #459

Open ArjanLoeffen opened 4 months ago

ArjanLoeffen commented 4 months ago

Alle verplichte maar missende metagegevens worden niet als waarschuwingen maar als fouten gerapporteerd. Voorbeeld: Herkomst definitie.

Achtergrond: Naar aanleiding van het (eerder gesloten) Github issue https://github.com/Imvertor/Imvertor-Maven/issues/210 het volgende: de MIM standaard stelt dat bepaalde metagegevens aanwezig moeten zijn. In de praktijk blijkt dit vaak niet het geval: tagged values blijven in MIM modellen vaak leeg. Dit wordt opgemerkt door Imvertor en dit resulteert in waarschuwingen. De MIM standaard stelt echter dat deze waarden verplicht zijn en dus niet horen te resulteren in een waarschuwing maar in een foutmelding.

Als de Commissie het hiermee eens is, en dus vind dat het model in dat geval niet correct is, voelen wij ons gedwongen de waarschuwing om te zetten in een foutmelding. Tenslotte wil Imvertor op een juiste manier de MIM standaard afdwingen in de aangeboden informatiemodellen. Het signaleren van fouten (en het daarmee afbreken van de verwerking van de informatiemodellen) zorgt ook voor een robuustere werking van de software. Op dit moment moet de software namelijk kunnen omgaan met het ontbreken van informatie waar de standaard stelt dat deze beschikbaar dient te zijn, dus reeds in het aangeboden model en niet op basis van verstekwaarden.

Het verzoek ligt dus voor aan de MIM standaardisatiecommissie om ofwel de foutmeldingen te accepteren, ofwel toe te staan dat de software gebruik maakt van verstekwaarden.

Dit laatste is trouwens geen onbelangrijke functionaliteit, omdat Imvertor de zogenaamde afleiding implementeert hetgeen betekent dat waarden van bijvoorbeeld tagged values onttrokken kunnen worden aan andere modellen, en dus niet noodzakelijk in het aangeboden model hoeven te zitten. Dit terwijl het aangeboden model wel bedoeld is om MIM conform te zijn, en daarop moet worden getest.

ArjanLoeffen commented 4 months ago

Zie ook eventuele discussie op https://github.com/Geonovum/MIM-Werkomgeving/issues/475

wilkoquak commented 3 months ago

Ik merk bij het maken van Informatiemodellen vaak dat het niet zinnig is waardes voor alle metagegevens in te vullen om verschillende redenen:

Samenvattend: er is te kwistig omgesprongen met het verplicht maken van metagegevens, met als gevolg dat als ik een catalogus maak er allerlei gegevens in staan die niet van belang zijn en ellenlange lijsten met waarschuwingen in Imvertor en als die ook nog foutmeldingen worden dan wordt het onwerkbaar voor mijn.

Mijn voorstel: maak alleen kenmerken verplicht die verdere verwerking van het model onmogelijk maken. Overigens is dit meer een MIM issue dan een Imverter issue. Voorstel voor Imvertor is om te kunnen configureren dat sommige metategevens niet in de catalogus terechtkomen.

ArjanLoeffen commented 3 months ago

@wilkoquak Grotendeels eens, maar je voorstel is niet 100%

Mijn voorstel: maak alleen kenmerken verplicht die verdere verwerking van het model onmogelijk maken.

Dat is (te) complex, omdat Imvertor meerdere modulen heeft die op verschillende plekken afhankelijk zijn van ingevoerde info. Het enige wat we als basis kunnen nemen is wat de standaard voorschrijft. Als de standaard zegt dat een gegeven er niet hoeft te zijn, of dat er een verstekwaarde mag worden gehanteerd, dan kunnen we de software daarop inrichten.

Voorstel voor Imvertor is om te kunnen configureren dat sommige metategevens niet in de catalogus terechtkomen.

Je voorstel heeft nu alleen betrekking op de catalogus, dat is een klein deel van de output. Ook snap ik niet hoe deze vrijheid in de catalogusopbouw het probleem van te veel verplichte info oplost.

wilkoquak commented 3 months ago

Ja, eigenlijk zou je per waarde een afweging moeten maken. Misschien moet ik maar eens voorstellen gaan doen voor MIM 2.0.