-
Notifications
You must be signed in to change notification settings - Fork 7
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
Aanpassingen en aanvullingen nav #29 #67
Aanpassingen en aanvullingen nav #29 #67
Conversation
Update fork Done
Aanpassingen en aanvullingen n.a.v. #29
docs/design_decisions.md
Outdated
Eigenschappen die functioneel alleen een waarde Ja/aan/waar of Nee/uit/onwaar kunnen hebben, worden gedefinieerd als boolean. We gebruiken dus geen enumeratie zoals [J,N] voor dit soort situaties. | ||
|
||
### DD2.5 Gebruik zo mogelijk string i.p.v. een enumeration | ||
Wanneer een gegeven in het informatiemodel gedefinieerd is als een enumeratie, maar de enumeratiewaarde wordt door gebruikers van de API alleen gebruikt wordt om als tekst te tonen aan eindgebruikers (mensen), definiëer het gegeven dan als string (niet als enumeratie) in de API. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
er zitten wat taalfouten in deze zin (heb ik zeker zelf ingetypt ;) )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is gecorrigeerd.
docs/design_decisions.md
Outdated
@@ -147,6 +180,9 @@ Historie wordt aflopend gesorteerd op datum geldigheid (datumVan). | |||
### DD4.2 Bij historie wordt alleen de actuele situatie van inOnderzoek getoond | |||
Binnen de historie-endpoints wordt alleen de actuele situatie met betrekking tot "in Onderzoek" getoond. Er wordt geen historie getoond van de onderzoeken die in het verleden hebben plaatsgevonden. | |||
|
|||
### DD4.3 Gebruik standaard queryparameters voor datums bij historisch opvragen | |||
Als queryparameters voor het historisch opvragen gebruiken we "peildatum", "datumvan" en "datumtotenmet" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NL API strategie heeft inmiddels gezegd dat we camelCase gebruiken voor parameters en dat hebben we overgenomen (nog niet doorgevoerd in oudere API's zoals BRP). Dus datumVan en datumTotEnMet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is aangepast.
docs/design_decisions.md
Outdated
* De subtypes worden samengevoegd tot 1 object. Deze keuze is logisch als de subtypes grotendeels overlappen en er geen strijdigheid is tussen de verschillende mogelijke types. | ||
* De subtypes worden volledig opgenomen als property van een object, met daarin de eigenschappen van dat type. In het response is altijd maar 1 van deze properties gevuld. Deze keuze is logisch als de subtypes weing gemeenschappelijke properties hebben. | ||
|
||
In beide gevallen nemen we ook een type property op waaruit de gebruiker kan lezen welk type het betreft. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hier kan je de term "discriminator" toevoegen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ik heb hem toegevoegd.
docs/design_decisions.md
Outdated
@@ -220,3 +260,130 @@ Dit betekent dat er in de berichtspecificaties geen gebruik gemaakt wordt van de | |||
|
|||
### DD5.9 Properties die gebruik maken van Booleans worden alleen geretourneerd als de waarde 'true' is | |||
In diverse situaties worden booleans opgenomen als er sprake is van indicatoren. Deze booleans worden alleen geretourneerd als de waarde van de boolean ook informatief is. Dit soort properties worden dus alleen opgenomen als de waarde van de Boolean 'true' is. | |||
|
|||
### DD5.10 Identificatie van een resource zit altijd op het hoogste niveau van de resource | |||
De identificatie van een resource zit, wanneer die is opgenomen in de resource anders dan in _links.self, en gebruikt wordt als path-parameter van het resource-endpoint, altijd op het hoogste niveau van de resource in de vorm en inhoud zoals die wordt opgenomen in de uri (path-parameter) van de resource. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Het punt is dat je deze identificatie op het hoogste niveau opneemt. Ik weet niet of het punt ook moet zijn dat deze identificatie altijd moet worden opgenomen. Bijvoorbeeld in /ingeschrevenpersonen/{burgerservicenummer}/partners/{id} is in de resource partners geen veld "id" opgenomen. Dit is namelijk puur een technische identificatie, geen functioneel gegeven (zoals bsn en kvknummer dat wel zijn). Misschien moet deze zin hiervoor een beetje herschreven worden, want het kan nu op beide manieren gelezen worden. @JohanBoer mee eens?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is de volgende formulering dan wellicht beter?
Als de identificatie van de resource geen functioneel gegeven is (zoals burgerservicenummer en kvknummer) maar een technische identificatie en alleen noodzakelijk om gebruikt te kunnen worden als path parameter dan wordt deze opgenomen op het hoogste niveau van de resource. De vorm en inhoud van die identificatie property is dan zoals die wordt opgenomen in de uri (path-parameter) van de resource.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Volgens mij was het punt van Frank dat een dergelijk veld soms helemaal niet opgenomen wordt in de resource, maar alleen wordt gebruikt in de link als path parameter.
Dus als er een identificatie wordt opgenomen dan doe je dat op het hoogste niveau in de resource.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ik heb 'wanneer' vervangen door 'als' en 'anders dan in _links.self,' verwijderd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
paar kleine opmerkingen, verder helemaal oké
Kijk ook even naar mijn opmerking over DD1.17. Ik twijfel of snakecase daar van toepassing is. |
Waar staat jouw opmerking? |
In mijn eerste post had ik:
geschreven. Als het kan vervallen dan hoeven we het daar echter niet meer over te hebben. |
Aanpassingen n.a.v. opmerkingen van Frank.
docs/design_decisions.md
Outdated
@@ -9,7 +9,7 @@ Onderstaande Design Decisions zijn een verbijzondering van paragraaf 6.1 van de | |||
We benoemen altijd zo duidelijk mogelijk wat iets is. | |||
|
|||
Hoofdregel is altijd: | |||
1. propertynamen moeten zoveel mogelijk zelfverklarend zijn (lezen van de description om de betekenis te begrijpen is liefst niet nodig) | |||
1. propertynamen moeten zoveel mogelijk zelfverklarend zijn (lezen van de description om de betekenis te begrijpen is liefst niet nodig). Gegevens in een resource moeten kunnen worden gebruikt en geïnterpreteerd zonder domeinkennis of complexe algoritmes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deze laatste zin vind ik byzonder. Als je zeker wilt weten dat een gegeven juist geïnterpreteerd wordt borg je dat door de definitievan dat gegeven op te nemen als description. Doe je dat niet dan is de mogelijkheid om zoiets te interpreteren afhankelijk van de domeinkennis van de developer. Alhoewel wij misschien denken dat iedereen weet wat een burgerservicenummer is is het niet vanzelfsprekend dat iedere developer dat weet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eigenlijk zou deze zin een apart punt moeten zijn, want het gaat niet alleen over de propertynaam, maar ook over de inhoud. Je moet dus ook (juist) de waarde kunnen interpreteren zonder speciale domeinkennis of algoritme. Bijvoorbeeld Als indicatieGeheim > 0, dan ... hebben we vervangen door indicatieGeheim=true. Denk ook aan mogelijkOnjuist in BAG die niet aangeeft wat onderzocht wordt, maar wat mogelijk onjuist is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ik heb DD1.18 toegevoegd.
docs/design_decisions.md
Outdated
@@ -220,3 +260,130 @@ Dit betekent dat er in de berichtspecificaties geen gebruik gemaakt wordt van de | |||
|
|||
### DD5.9 Properties die gebruik maken van Booleans worden alleen geretourneerd als de waarde 'true' is | |||
In diverse situaties worden booleans opgenomen als er sprake is van indicatoren. Deze booleans worden alleen geretourneerd als de waarde van de boolean ook informatief is. Dit soort properties worden dus alleen opgenomen als de waarde van de Boolean 'true' is. | |||
|
|||
### DD5.10 Identificatie van een resource zit altijd op het hoogste niveau van de resource | |||
De identificatie van een resource zit, wanneer die is opgenomen in de resource anders dan in _links.self, en gebruikt wordt als path-parameter van het resource-endpoint, altijd op het hoogste niveau van de resource in de vorm en inhoud zoals die wordt opgenomen in de uri (path-parameter) van de resource. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Volgens mij was het punt van Frank dat een dergelijk veld soms helemaal niet opgenomen wordt in de resource, maar alleen wordt gebruikt in de link als path parameter.
Dus als er een identificatie wordt opgenomen dan doe je dat op het hoogste niveau in de resource.
Aanpassingen n.a.v. opmerkingen van Johan en Frank.
@fsamwel en @JohanBoer, |
van mij mag je |
Van mij ook. |
N.a.v. #29 zijn de volgende aanpassingen en aanvullingen aangebracht:
Zie DD5.10.
Zie DD5.11.
Zie DD5.12.
Zie DD5.13.
Zie DD2.4.
Zie DD2.5.
Was al opgenomen onder DD2.3.
Zie DD1.13.
DD1.4 aangepast.
Zie DD1.14.
DD1.1 is aangescherpt n.a.v. deze opmerking.
DD5.4 is aangescherpt n.a.v. deze opmerking.
Zie DD5.14.
Zie DD1.15
Zie DD4.3
Zie DD5.15.
Zie DD1.16
Zie DD1.17. Aan bovenstaande beschrijving heb ik lowerCamelCase en UpperCamelCase als uitzonderingen toegevoegd.
Ik vraag me af of snakeCase hier wel terecht wordt genoemd. Volgens mij is dat nl. alleen van toepassing op enumeratiewaarden.
Zie DD5.16.
Zie DD5.17
Zie DD5.18
Zie DD5.19
Zie DD5.20
Zie DD5.21
Zie DD5.22