dandi / dandi/dandi-archive

Feature request: auto-populate metadata editor with metadata from DOI

Open
#2,104 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
26
Forks
21
Avg merge
4d 23h
Merged PRs (30d)
15

Description

The DANDI cli now has [`update-dandiset-from-doi`](https://dandi.readthedocs.io/en/latest/cmdline/service-scripts.html#update-dandiset-from-doi), which automatically extracts the contributor, name, description, and relatedResource information from the a paper. It would be great if we could expose this functionality in the metadata editor. Here's a proposal for how we might do this:

1. We add a button that says "extract metadata from paper", maybe here:
![Untitled](https://github.com/user-attachments/assets/4ad03d3f-e16b-4014-8ff3-8f7511a94fc8)

2. This leads you to a panel that has the following fields:

DOI of paper:

Populate:
* [x] Contributors (authors of paper)
* [ ] Dandiset title (title of paper)
* [x] Dandiset description (abstract of paper)

* [x] relatedResource (link to this paper)
* [ ] I understand that this will edit the existing forms. You should review the data and press the save button to save.*

[Submit]

3. Then, for the boxes checked, the metadata of those fields will be overwritten in the form (not yet saved). The user will have the opportunity to review all these fields and then click the SAVE icon to same it.
4. Maybe we add an UNDO button? Not critical but would be nice.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the existing update-dandiset-from-doi command linked in the issue and the metadata editor entry point. Define how the DOI panel, selectable fields, review-before-save behavior, and optional undo should work; done means the editor can populate the proposed metadata fields without saving until the user confirms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.