openactive / realtime-paged-data-exchange

OpenActive Realtime Paged Data Exchange Specification
https://www.openactive.io/realtime-paged-data-exchange/
Other
6 stars 1 forks source link

Remove overloaded use of `modified` property #80

Open ldodds opened 6 years ago

ldodds commented 6 years ago

The ordering strategy that uses change numbers means that the modified property no longer contains a reliable date that the record changed. In this case it contains a version number.

When a publisher is using an alternative strategy, it should be indicated, e.g. by including the change number as a separate key. The modified property can then be retained as a time stamp if/when available.

nickevansuk commented 6 years ago

In both cases the modified property's invariant holds, which is "It must be appropriately comparable to itself as either a string or integer, representing a chronological ordering". It is more useful to think about it as a ordered E-Tag rather than a modified date in this respect, as the primary purpose is cache invalidation and ensuring that any consuming System 2 can process items in parallel without depending solely on the order in which they appear in the feed.

To make this example real: as long as every page is processed and the pages are retrieved following the next URL, the items themselves can e.g. enter geolocation queue or a manual validation queue based on their contents without concern for halting reading of the feed until such items are resolved.