Closed nickevansuk closed 6 years ago
Hi @nickevansuk
The course listed in LawnTennisAssociation/opendata#13 was never deleted, it simply has no more upcoming sessions, and as such, we no longer include it in the feed. The data/course is still valid, exists, etc - but you'd never want to book onto a course from last week. If new sessions are added to the course, it will re-appear, and the modified date will be updated accordingly.
I did raise that as a question recently on one of these tickets, but I seem to have lost it now.
Hi @dolkensp thanks for this clarification. As per the link above items shouldn't disappear from the feed. If there's a filter in place that excludes items with no upcoming sessions, it should render a deleted item for that session (with an updated "modified" value at the point in time where it was deleted), with no data, e.g.:
{
"state": "deleted",
"kind": "SessionSeries",
"id": "d97f73fb-4718-48ee-a6a9-9c7d717ebd85",
"modified": 1453931925
}
Have removed the historic data filter, this is deploying now.
Great! So we can QA deleted items properly, could you delete a run in your test environment?
Should be a bunch of cancelled events in there now. We're flagging them as cancelled, as opposed to deleted.
Perfect looks good!
Issue
As noted by the RPDE validation results and https://github.com/LawnTennisAssociation/opendata/issues/13, the RPDE “deleted” state does not appear to be correctly implemented.
See https://developer.openactive.io/publishing-data/data-feeds/how-a-data-feed-works#items-must-never-disappear
Any record that was at one point present in the feed must be set to “deleted”, and items should never just “disappear” from the feed.
Feeds that do not have the “deleted” state implemented also often do not fully implement “modified” updates. The “modified” timestamp must be updated for any material change to the rendered item within the feed, otherwise such updates will not be received by data consumers.