dandi / dandi/dandi-archive

/assets and /paths -- add 'include=["metadata", "validation"]' option

Open
#397 1 comment 1 reaction 0 assignees View on GitHub
DX enhancement performance
Dominant language
Python
Stars
26
Forks
21
Avg merge
4d 23h
Merged PRs (30d)
15

Description

Generalization of the #100 , inspired by https://github.com/dandi/dandi-cli/issues/699 , and somewhat of an "extension" to https://github.com/dandi/dandi-api/pull/312 .
If we (user, web-ui, dandi-cli) could optionally request extra information from per-asset end-points, this would
- avoid necessity to bombard API server with per-asset requests (e.g. for metadata and/or `/validation`). We can easily implement that in client (as we already do for `metadata`) but IMHO it should be done within API to actually reduce load on the server and make it a better UX since would not require thousands of requests to be sent to the API server
- make it possible for web UI to display that information without incurring significant cost/delay as what #312 is trying to avoid for one particular aspect -- download URL.
- both `/assets` and `/paths` are very similar in this respect, only that `/paths` would provide an "aggregate" across underlying a "directory" assets. It would be IMHO a really nice UX to be able to see that there are problems with assets under a given "directory" and what they are.

This issue is quite broad, and should be treated as an "epic" consisting of the following smaller, more tightly scoped issues:
- [x] #1217
- [ ] #1218
- [ ] #1219

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the completed #1217 and the remaining child issues #1218 and #1219, then inspect the /assets and /paths endpoints. Treat this issue as an epic: it is done only when the smaller scopes are resolved and both endpoints have an agreed optional include mechanism for metadata and validation, including aggregation for paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, python
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.