Overall goal is to add a new group of Mongo collections to track usage/user activity on a per-resource basis. :
- views & downloads
- files
- datasets
- collections
- distinction between agents
- logged in users via GUI and API
- user API keys
- extractors
- essentially want to differentiate intentional "human" access (even via API, e.g. from external processes) vs. automated access (e.g. from an internal extractor such as preview generator) for accurate usage tracking & "last used" information
- one option would be to implement a separate download endpoint intended for extractors that does not increment metrics and encourage developers to use that endpoint for any extractors that are not relevant to behavior tracking
- ability to export simple report
- per-file statistics
- bytes
- path on disk
- access count (different from simple views)
- last accessed
- potentially filter report by "only objects that have been accessed > X months ago" to avoid massive reports
- start with a downloadable CSV output
- longer-term, could adapt aspects of search results page to show list of resources including files, datasets, etc. could introduce a more compact view than current list view for administrator viewing
- per-file statistics