Skip to content

Conversation

@sanderke
Copy link
Member

Voorzet voor regel voor datum en tijd

closes #195

@sanderke sanderke requested a review from TimvdLippe July 24, 2025 14:54
@github-actions
Copy link

@TimvdLippe TimvdLippe added Scope: Groot Grote wijziging met grote impact Status: In bewerking Het voorstel is in bewerking bij de beheerorganisatie. Type: Wijziging Inhoudelijke wijziging op een standaard Overleg: TO-API Te agenderen voor het Technisch Overleg API labels Aug 13, 2025
Copy link
Contributor

@TimvdLippe TimvdLippe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ziet er goed uit! 2 kleine wijzigingen, de rest lijkt mij voldoende om te bespreken in het TO.

@TimvdLippe
Copy link
Contributor

Willen we misschien ook nog bepaalde namen van velden vastleggen? Dus als er een datum is, dan moet het veld "date", "datum", "_date" of "_datum" heetten. En als het een timestamp is, dan moet het veld "timestamp", "tijdstip", "_timestamp" of "*_tijdstip" heetten.

Co-authored-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
Copy link
Contributor

@TimvdLippe TimvdLippe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nog wat kleine fixes. De andere vragen moeten we offline even bespreken wat we daar mee willen.

@TimvdLippe
Copy link
Contributor

https://swagger.io/docs/specification/v3_0/data-models/data-types/#strings geeft aan dat openapi een "format": "date" volgens RFC 9557 kan aangeven.

Tevens lijkt RFC 9557 een restrictie te zijn op ISO8601 waarbij er minder mogelijkheden te zijn. Deze RFC is relevant voor internet protocollen, dus lijkt het beter om deze RFC te gebruiken ipv de ISO standaard.

Wat betreft de veldnamen laten we dat voor nu buiten de regel. We gaan dit op het TO bespreken of hier alsnog een restrictie op moet plaatsvinden.

De linter check laten we nog even achterwege, omdat we niet goed weten hoe je dit geautomatiseerd kan testen als we enkel een "type": "string" hebben in de openapi specification.

@TimvdLippe TimvdLippe added this to the ADR 2.2 milestone Aug 15, 2025
Co-authored-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
@BvanRaaij
Copy link

Hi Tim, in de concept ADR staat dat alle datetimes het ISO 8601 format YYYY-MM-DDTHH:mm:ssZ moeten hebben. Ik vraag me af of dit handig is. De Z betekent Zulu time, ofwel UTC+00:00. Met de keuze voor dit format verplicht je dus iedereen alle data-tijden om te zetten in timezone +:00:00 (wat in de wintertijd 1 uur en in de zomertijd 2 uur verschilt met onze tijd) en weer terug. Het is misschien logischer (zeker met toepassingen die vooral in de Nederlandse context gebruikt worden) om het format YYYY-MM-DDTHH:mm:ss**+/-hh:mi** ook toe te staan of zelfs voor te schrijven

Verder detail: volgens mij schrijf je de uren als hh, niet als HH (zie https://www.w3.org/TR/NOTE-datetime).

@TimvdLippe TimvdLippe added Status: Ter goedkeuring Het voorstel is uitgewerkt en wordt ter goedkeuring aangeboden. and removed Status: In bewerking Het voorstel is in bewerking bij de beheerorganisatie. labels Nov 14, 2025
@TimvdLippe
Copy link
Contributor

Naar mijn weten is er geen verdere feedback van TO-leden tot nu toe, dus ik heb het label "Ter goedkeuring" toegevoegd voor bespreking op het TO van 2 december.

Het voorstel vanuit TO-leden is om tijdens het TO deze wijziging vast te stellen, maar daarna nog een consultatie te doen specifiek bij het Kennisplatform API's. Op basis van de feedback kunnen we dan in het eerste TO van 2026 de definitieve vaststelling in het TO doen en deze wijziging doorvoeren.

@TimvdLippe
Copy link
Contributor

Enkele linter regels geschreven. Hierbij de resultaten:

Statistics for rule nlgov:date-time-ensure-timezone:

Analyzed: 160
Passing: 160
Percentage: 100%

Statistics for rule nlgov:time-without-timezone:

Analyzed: 160
Passing: 156
Percentage: 97%

Statistics for rule nlgov:specify-format-for-date-and-time:

Analyzed: 160
Passing: 140
Percentage: 87%

Statistics for rule nlgov:use-date-instead-of-datetime:

Analyzed: 160
Passing: 152
Percentage: 95%

Interessante bevindingen:

  1. De heuristieken werken best wel redelijk. Het is lastig om te bepalen wanneer iets een datum had moeten zijn, maar door op basis van tekst wat aannames te doen lijken er de correcte gevallen uitgepikt te worden.
  2. We zeggen iets over fields, maar moeten we ook iets zeggen over parameters? Dat wordt nog best vaak gebruikt.
  3. Moeten we enkel time-local toestaan of is time soms ook toegestaan? E.g. met tijdzone, maar dan zonder datum.

Voor dat laatste punt, wat denken we van dit soort gevallen? Volgens mij hebben ze hier time-local bedoeld ipv time (zie beschrijving op https://spec.openapis.org/registry/format/):

{
  "name": "tijdstipWeging[in]",
  "in": "query",
  "description": "Matches any value from a comma-separated list: val1,val2,valN.",
  "schema": {
    "type": "array",
    "items": {
      "type": "string",
      "format": "time"
    }
  },
  "explode": false,
  "style": "form"
},

@TimvdLippe TimvdLippe force-pushed the date-time branch 2 times, most recently from f04d381 to bc7dd2d Compare November 17, 2025 14:39
@TimvdLippe
Copy link
Contributor

Deze wijziging is goedgekeurd bij het TO 2025-12-02 voor consultatie bij Kennisplatform API's. Dat houdt in dat we het hoofdstuk "Date & Time" als geheel consulteren.

Tevens was er nog een behoefte aan een aparte regel dat als er zowel een tijd als datum veld apart in een response zitten, die moeten worden samengevoegd tot 1 veld.

Daarnaast nog een noot toevoegen dat er goed moet worden nagedacht als er enkel time wordt gebruikt, maar met een terugkerend patroon. In dat geval kan het in de tijdzone overgang vallen, waar de tijdzone van belang is. In dat geval is een datetime waarschijnlijk geschikter.

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

Labels

Overleg: TO-API Te agenderen voor het Technisch Overleg API Scope: Groot Grote wijziging met grote impact Status: Ter goedkeuring Het voorstel is uitgewerkt en wordt ter goedkeuring aangeboden. Type: Wijziging Inhoudelijke wijziging op een standaard

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rules voor Date en DateTime attributen

5 participants