Skip to content

Imvertor release v2.0

Compare
Choose a tag to compare
@ArjanLoeffen ArjanLoeffen released this 07 Dec 12:48
· 571 commits to master since this release

Hieronder de aanpassingen in versie 2.0.

Introductie MIM 1.1.1 en NEN3610-2022 metamodellen

Zie #284 en #283

Dit is een forse slag. We nemen MIM 1.1.1 en NEN3610-2022 op als
metamodel.

  • Validaties op MIM 1.1 niveau zijn uitgebreid: welke stereotypen kunnen
    waar voorkomen (context/parent-stereo)?
  • Metamodel omschrijving van stereotypen zijn aangepast waar nodig.
  • Tagged values van MIM 1.1 en 1.1.1 in lijn gebracht; met name welke
    tagged values zijn waar van toepassing/vereist?
  • owner-specifieke MIM 1.1.1 metamodellen klaargezet (potentiele plek
    voor extensies)
  • Conceptuele schema's (CS) zijn uitgebreid (MIM 1.1) en toegevoegd (MIM
    1.1.1 en NEN3610-2022)
  • Correctie URL van MIM11 CS.
  • Overal waar stereotype basismodel voor kan komen, kan nu ook MIM 1.1
    informatiemodel voorkomen.

Dit is een minor, omdat er metamodellen worden toegevoegd; bestaande
code en metamodellen wordt niet beïnvloed.

Diverse aanpassingen aan MIM serialisatie.

Zie #280 voor een overzicht van de aanpassingen:

Refactoring:

  • Alle identifiers van alle constructies expliciet opgenomen in de code
    (niet via variabelen).
  • Introducerende uitleg opgenomen in kop van document uitgelezen vanuit
    file - zie elders
  • Alle referentie naar configuratie via $config gerealiseerd.
  • Native scalars nu uitgelezen uit config, niet meer uit
    MIM11package.xml. MIM11 package wordt niet meer inevoegd om native
    scalar referentie te maken; dit is het gevolg van het verzoek om naar
    mim datatypen te refereren als <mim:Datatype> [naam]</mim:Datatype>. NB
    als native scalars zijn gebruikt wordt naam in hoofdletters weergegeven,
    zoals in <mim:Datatype>CHARACTERSTRING</mim:Datatype>.

Functionele aanpassingen:

  • Introducerende uitleg opgenomen in kop van document aangepast.
  • Klaargemaakt voor MIM11* ipv. Specifiek MIM11.
  • Overal referenties toegevoegd naar catalogus - zie elders
  • De MIM versie kan worden gespecificeerd als (uitsluitend): “1.1.0”.
    Dit is als enum doorgevoerd in het schema - zie elders.
  • Expliciete naam voor relatiesoort “RelatiesoortRelatiesoortLeidend”
    verkort tot “Relatiesoort” en daarvoor aparte XSD’s gemaakt. Dus geen
    keuze meer tussen RelatiesoortRelatiesoortLeidend en
    RelatiesoortRelatierolLeidend.
  • Identifiers (@id, @xLink:href) kunnen nu worden samengesteld zonder
    gegenereerde ID’s (o.b.v. parameter)
  • Resultaat MIM serialisatie wordt technisch gevalideerd.

Onderscheid gemaakt tussen MIMformat compiler versies 1 en 2

Oorspronkelijk was een versie v1 opgeleverd op basis van overleg in
zomer van 2021. Deze versie is vervangen op verzoek door een versie v2
met meerdere inhoudelijke en technische aanpassingen.
De versie kan worden gekozen middels cli/mimformatversion (v1 | v2).

V2 is in deze update nog niet compleet en niet geaccordeerd.

MIM compiler nu expliciet gekoppeld aan configuratie.

Daarvoor werden gegevens expliciet opgenomen in het stylesheet; nu
uitgelezen uit config.
Tevens vervanging van herkenning op basis van stereo naam naar stereo
ID.

Aanpassing XML schema voor MIM serialisatie

Er zijn nu twee schema's voor relatierol leidend en relatiesoort leidend.

Zie #247

MIMExtensieVersie opgenomen als attribuut van MIM serialisatie XSD

De extensie versie is nodig om vast te stellen welke combinatie van mim
versie en extensie is toegepast.

Toevoegen mim extensie versie als tv.

Deze is onderdeel gemaakt van MIM extension. Omdat het niet in MIM
staat.

Omdat in imvert grouping het basismodel parallel oploopt met
informatiemodel is ook daar deze tagged value toegevoegd.

Conceptuele schema's worden op één plek beheerd

Dit is het samenbrengen van conceptuele schema's

Deze komen in één gemeenschappelijke verzamelplek. Dat betekent dat alle
schema's een echt goede plek moeten krijgen; er onstaan nieuwe owners
zoals OGC, OMG, ISO etc. Binnen die owners worden de conceptuele
schema's opgenomen, waarnaar vanuit configuraties wordt verwezen
(xinclude).

Eerste stap in #247

Minor. De werkzaamheden hebben geen zichtbaar effect op de werking van
Imvertor.

Omzetting van conceptuele schema's.

Nieuwe stap in #247 - alle conceptuele schemas zijn onder een owner
opgenomen, en de configuratie is klaar om getest te worden op basis van
aangeleverde regressietestgevallen.

De configuraties zijn ook opgetild naar NEN3610-2022 en MIM111. Hierdoor
kunnen major verschillen ontstaan.

Andere aanpassingen

XML schema validatie houdt verdere verwerking niet tegen.

XML schema validatie is een real-time check of the code klopt. Deze
check zou eigenlijk nooit fouten moeten opleveren. Daarom blokkeert een
fout in de XML schema validatie de verdere verwerking niet. De fout
wordt wel gewoon gemeld.

Minor.

Voeg compare rules voor MIM 1.1 toe

Compare rules zijn gebonden aan een metamodel, omdat per model element
etc. wordt vastgesteld op welke manier deze kan worden opgenomen in de
release-vergelijking. Voor MIM 1.1 waren deze nog niet beschikbaar.

Dit is feitelijk een "stub" omdat de implementatie nog niet is
gerealiseerd; eea hangt af van de waarde die de UG hecht aan de compare
functie.

Minor.

Vertalingen toegevoegd aan documentatie.

Deze vertalingen staan onderaan het /doc report (translations).

Minor, want uitbreiding van het rapport.

Introductie van labels bij keuzen (XML schema)

Hiermee ambiguiteit in keuzen tegengegaan.

Zie #287 .

Aanpassingen tbv specifieke gebruikers

Geonovum

Introductie "eerste versie" van IMGEO onder Geonovum

IMgeo is niet (goed) opgenomen in de conceptual schemas, dat is nu
hersteld. Dit is echter een start; de inhoud moet goed worden
doorgenomen door betrokkenen.

Bij het toevoegen van de Conceptual Schemas is ook een referentie vanuit
Geonovum en IHW Conceptual Schemas opgenomen. Dus ook voor Geonovum
omdat de IMGeo mapping in principe onder Geonovum valt.

Zie #276

Dit is een hotfix: een eerder beschikbare mapping is weggevallen,
waardoor IHW modellen niet meer goed werden verwerkt.

IMGEO en CityGML opnemen in c.s.

Dit is eigenlijk voorbereidend werk op een bugfix voor IHW.

De schema's voor CityGML zijn opgehaald vanuit
http://schemas.opengis.net/citygml
Deze zijn nog niet geactiveerd omdat onduidelijk is hoe deze zich
verhouden tot GML (3.1.1/3.2.1, andere namespace). Het is niet mogelijk
twee GML's naast elkaar te hanteren.

INGEO map krijgt nieuwe ID: "IMGEO211"

NEN3610 tagged value "XML Schema locatie" is URL

Hiervoor is een validatie toegveoegd; de XSD locatie moet altijd een URL
zijn (als opgegeven).

Minor.

Introductie van NEN3610:2022 metamodel

Deze toevoeging is nog niet compleet. Het vormt voldoende basis voor
configuratie werk t.b.v. o.a. conceptual schemas.

Minor.

Introductie van stereotype "informatiemodel"

Dit stereotype werd tit nu toe nog niet herkend, alleen basismodel en
toepassing werden ondersteund door Imvertor.

BRO

BRO: Correctie verwijdering tv "XML Schema locatie"

Vreemd genoeg zijn de code-regels die we hadden om de tagged value "XSD
schema location" op te pikken verwijderd in versie 1.66. Het is een
foutje geïntroduceerd bij het samenbrengen van ISO en Kadaster schema
code.

Bugfix.

Accepteer ook /Waardelijst als root van referentie/codelijst

Voorheen hadden alle referentielijsten als root element <domeintabel>.
Dat kan nu ook <Waardelijst> zijn.

Minor.

Overstap naar MIM 1.1.1 en NEN3610:2022

BRO volgt voor conceptuele modellen MIM 1.1.1, voor logische modellen
NEN3610:2022.

"Reden geen waarde" komt te vervallen voor gegevensgroep

"Als gegevensgroepen niet langer de mogelijkheid hebben op geen waarde,
zou ik denken dat het nut van opgaaf van een ‘Reden geen waarde’ ook
komt te vervallen."

Minor; deze zal nooit meer worden ingevuld in MIM111 noch NEN3610
modellen.

Kadaster

Domein toegevoegd aan documentatie.

Domein van de waarde van een attribuut wordt als tagged value "domein"
opgenomen. Voorbeeld is NL.IMKAD.KadastraleGrens. Dit keert terug in de
documentatie.

Dit is een functionele uitbreiding voor alléén Kadaster.

Introductie van GM_Ring.

Deze variant moet worden geaccordeerd, zie
#286

Minor. Is een toevoeging.

Bij genereren van Kadaster schema is <<voidable>> niet verplicht

Deze verplichting was wel ingebouwd waardoor er bij weglating van
<<voidable>> geen nillable constructie ontstond. Dat uit zich in het
niet genereren van SimpleType: Basetype_ constructies aan het eind van
het schema zoals "MatchAbonnementen:Basetype_Abonnement_referentie".

Bugfix.

Kadaster gaat over op MIM 1.1.1

Hiervoor de configuraties aangepast, cm en cs, en stylesheets voor
canoniseren en valideren.

Minor, is uitbreiding van Kadaster validaties.

Meervoudige Relatieklasse is een "objecttype"

Dit wordt uitgedrukt in configuratie tbv validaties.

Genereren van GML profiel levert nu de juiste verwijzing op.

In de 1.67 versie ging dat ook niet goed, is nu hersteld. Zie #300

IHW

Introductie CityGML en FunctioneelGebied (Imgeo) en ReliefFeature

(CityGML)

Feitelijk moeten deze standaarden worden uitgewerkt en
gedisambigueerd.

scalar Real wordt Float in XSD.

Was: Decimal.

Overnemen BRO profile voor GML321

Voorheen volgde IHW een GML322 profiel. Dit is omgezet naar dat van de
BRO, dwz. GML 321 profiel. Dit is uitgebreider van opzet.

Hiermee corrigeren we ook een verkies van Conceptual schena constractues
tussen 1.65 en 1.67. Dat verschil is niet meer goed achterhaalbaar.

BRO volgt nu ook expliciet hetzelfde includeerbaar profiel van GML 321,
maar het is conform dat wat eerder onderdeel was van het BRO CS. Wat dat
betreft dus géén verandering.

Waarderingskamer

Verwijzing naar primitief datatype in detailinfo is hyperlink.

Op verzoek van waarderingskamer.
Dit is een link naar de sectie met globale informatie (wanneer deze voor
betreffende owner is gehandhaafd).

Zie #258

BIJ12

Beperk "Inhoud van waardenlijsten"

Wanneer alleen enumeraties, dan ook alléén enumeraties daarin opnemen,
niet tevens Referentielijsten etc.

Minor.

KNB

Respec documentatie van SIM klaargezet

KNB configuratie tbv. respec geïnitialiseerd

Algemene aanpassingen

Verbeterde weergave (Display-name) van informatiemodel zelf.

Wordt nu

(Model: ...naam van model)::

Dit keert terug in de EA addin waar van toepassing.

Minor.

Regression extractor verbeterd.

Minor.

Runtine parameters (parms.xml) nu ook opgeleverd in een run.

Deze spelen een rol in regressietest maar het is ook soms aantrekkelijk
om deze paremeters te kunnen inzien bij oplevering.

Minor. Er wordt iets extra opgeleverd in de ZIP.

Beperking van aantal gerapporteerde XSD fouten

Wanneer het gegenereerde XML schema meer dan 10 fouten heeft, wordt dat
niet meer getoond. In plaats daarvan wordt informatie gegeven over
hoeveel fouten er nog meer zijn. Dit, omdat eigenlijk geen schema fouten
mogen voorkomen; het betreft dus een situatie die moet worden opgelost
in een Imvertor bugfix.

Minor, alleen weergave.

Source en target kardinaliteit worden op 1 gezet met melding

Zie #203

Minor. Er komt effectief alleen een waarschuwing bij als iets geen
target mult. heeft.

Introductie van super-stereo context

Is het nodig dat bij validatie stereotypen in elkaars super/subtype
context kunnen worden getest. Voorbeeld: Koppelklasse is een Objecttype.
Daarvoor aan kunnen geven dat een stereotype bepaalde supertypen heeft.

Minor, uitbreiding van de validaties.