Open erikdelepper opened 4 years ago
Even heel gechargeerd denk ik dan dat dit qua idee hetzelfde is als EIGENSCHAP uit ImZTC: https://www.gemmaonline.nl/index.php/Imztc_2.1/doc/objecttype/eigenschap
Waar ik in ieder geval voor wil waken is in een dergelijke definitie ook een volgorde/plaatsbepaling (punt 5: Order) op een formulier op te nemen. Dan zou je nl. een nieuwe versie van dat Verzoektype moeten maken wanneer je besluit om een veld ergens anders op het formulier te maken. Dat is denk ik niet wat je wilt, het gaat immers om de structuur en voor de verwerking van het verzoek noodzakelijke gegevens. Niet over de definitie van een UI, dat is een ander onderwerp.
Ik worstel eerlijk gezegd ook nog met de UI-aspecten: Dat wil je eigenlijk niet vast hebben liggen in het verzoektype, maar je wil wel iets centraals hebben vastliggen waar de verschillende kanalen geautomaiseerd gebruik van kunnen maken; naast een webformulier bijvoorbeeld ook een chatbot die de vragen in een logische volgorde moet stellen. Het idee is in ieder geval dat je straks ook geen specifiek webformulieren meer gaat bouwen, maar dat het formulier ter plekke wordt gegenereerd op basis van deze definitie. Dan kun je in feite met één configuratie een verzoektype ontsluiten voor meerdere kanalen, zonder daar een progammeur of webbouwer voor nodig te hebben.
Ik snap je. Dan zou ik dit toch apart opslaan, in een UI-definitie of zo. Mocht die dan ooit aangepast worden staat dat los van het verzoektype.
In het verzoektype beschrijf je alleen de structuur van het verzoekType, ongeacht hoe dat verzoek ingediend kan worden.
Het grote voordeel is dan dat je eventueel toch meerdere ui-definities kunt maken die naar het zelfde verzoektype wijzen, mocht dat nodig zijn.
@michielverhoef, Ik kan hier in meegaan, maar als die leidt tot een 1-op-1-relatie, vraag ik me af wat de toegevoegde waarde is om het te scheiden. Als de verwachting is dat het een 1-op-n, of zelfs een n-op-m-relatie wordt, of dat een groot deel van de verzoektypen geen UI-aspecten heeft, dan moet je uiteraard splitsen.
Aangezien @HenriKorver inhoudelijk hier mee bezig is heb ik hem geassigned, het lijkt me dat hij hier beter op in kan gaan.
...zodat ik kan controleren of een verzoek volledig en juist is en een indiener tijdens de klantreis kan ondersteunen door middel van feedback. Defacto moet ik daarvoor zowel het bestaan van een waarde als voorwaarden daarvoor vastleggen. Beide wil ik vastleggen in een waardeobject dat als array bestaat op een verzoek type. Dat roept de vraag op hoe we kunnen definiëren aan welke “voorwaarden” een waarde moet voldoen. Hiervoor is een antwoord in de vorm van commonground/nl-api strategie design keuzes. Daarbij leggen we voor API waarden en voorwaarden vast in OAS3. Diezelfde definitie kunnen we hier gebruiken om een waarde en voorwaarde te definiëren. Met andere woorden we eindigen dan met een waarde-resource onder een verzoekType-resource die we als properties voorzien met voorwaarde definities conform OAS3:
Deze moeten we de dan voor onze use case uitbreiden met