Summary
Implement sendInteractions — a fire-and-forget procedure for clients to report download, citation, and derivative usage events. Enables popularity-based discovery ranking.
Background
From the original XRPC design (forecast-bio/atdata#49):
- Input:
interactions[] — array of {type: "download"|"citation"|"derivative", datasetUri, timestamp}
- Output: empty (fire-and-forget)
- Analogous to Bluesky's
sendInteractions for feed engagement signals
Design Considerations
- Privacy: Need opt-in/anonymization design before implementing
- Storage: Append-only event log vs aggregated counters
- Ranking: How interaction counts feed into
searchDatasets relevance scoring
Tasks
Related
Summary
Implement
sendInteractions— a fire-and-forget procedure for clients to report download, citation, and derivative usage events. Enables popularity-based discovery ranking.Background
From the original XRPC design (forecast-bio/atdata#49):
interactions[]— array of{type: "download"|"citation"|"derivative", datasetUri, timestamp}sendInteractionsfor feed engagement signalsDesign Considerations
searchDatasetsrelevance scoringTasks
science.alt.dataset.sendInteractionslexicon in atdata-lexiconRelated
getAnalyticsandgetEntryStatsendpoints (server-side view counting already exists)