TweedeKamerDerStaten-Generaal / OpenDataPortaal

GitHub van het officiële Open Data Portaal van de Tweede Kamer der Staten-Generaal.
https://opendata.tweedekamer.nl
48 stars 3 forks source link

SyncFeed "updated" veld #83

Closed jordibeen closed 1 year ago

jordibeen commented 1 year ago

Hi all,

Allereerst wil ik even melden dat ik erg blij ben dat het Open Data Portaal sinds kort beschikbaar is voor iedereen!

Ik heb wel een vraag betreft het <updated> veld in de SyncFeed API. Zoals de documentatie voorstelt bevraag ik deze API nu periodiek om te synchroniseren met mijn eigen database, en gebruik ik de DateTime-waarde uit dit veld om te bepalen of er een update uitgevoerd moet worden in mijn database.

Echter, in de documentatie zie ik bij meerdere modellen de volgende twee attributen staan:

ApiGewijzigdOp Datum waarop een Persoon zichtbaar is geworden in de OData API. In de SyncFeed API is dit het element 'updated'.

GewijzigdOp Datum wanneer het bronsysteem een Persoon heeft aangemaakt of aangepast. In de SyncFeed API is dit het attribuut 'tk:bijgewerkt' van het element 'persoon'.

Aan de hand van deze informatie lijkt het zo dat het <updated> veld dus niet aangeeft of de entry geüpdatet is in jullie bronsysteem, maar alleen aangeeft sinds wanneer hij toegevoegd is in de XML result, en is het tk:bijgewerkt veld het daadwerkelijke veld waaruit blijkt of een entry geüpdatet is. Klopt dit?

En zo ja: kunnen jullie er voor zorgen dat het <updated> veld wél daadwerkelijk aangeeft wanneer de informatie binnen de entry aangepast is? Dit zou de uitwisseling een stuk schoner houden omdat er dan niet gekeken hoeft te worden naar de content in een entry. Deze content is namelijk "category-specific", en dat zou voor ieder model betekenen dat ik dieper moet graven om te bepalen of ik mijn record moet updaten, terwijl wat mij betreft het <updated> veld hier de logische plek voor is.

Alvast bedankt!

OpenDataPortaal commented 1 year ago

De documentatie is op dit vlak niet helemaal volledig. Ook wanneer er een wijziging heeft plaatsgevonden in het bronsysteem wordt <updated> geüpdatete. Het tijdsverschil tussen GewijzigdOp en ApiGewijzigdOp (<updated>) is het verschil tussen het moment dat een entiteit is aangepast in het bronsysteem (GewijzigdOp) en het moment dat deze wijziging zichtbaar is geworden in het Gegevensmagazijn (ApiGewijzigdOp). We gaan de documentatie aanpassen om dit te verhelderen.

jordibeen commented 1 year ago

Goed om te horen, dan houd ik het <updated> veld aan. Dank voor de verduidelijking!