Feature Request: External Vocab API to get CVoc configuration
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
Overview of the Feature Request
Add a public API that returns a sanitized view of the :CVocConfconfiguration for metadata fields wired to an external controlled vocabulary.
GET /api/info/settings/externalVocabularies
This lets API users know which fields are external-vocabulary-enabled and how, without needing admin credentials.
The result could be
{
"status": "OK",
"data": [
{
"fieldName": "author",
"termUriField": "authorName",
"protocol": "orcid-or-ror",
"allowFreeText": true,
"languages": ["en"],
"termParentUri": null,
"vocabs": {
"orcid": { "uriSpace": "https://orcid.org/", "vocabularyUri": "https://orcid.org/" },
"ror": { "uriSpace": "https://ror.org/", "vocabularyUri": "https://ror.org/" }
},
"managedFields": {
"personName": "authorName",
"organizationName": "authorAffiliation",
"affiliation": "authorAffiliation",
"idType": "authorIdentifierScheme"
}
},
{
"fieldName": "authorAffiliation",
"termUriField": "authorAffiliation",
"protocol": "ror",
"allowFreeText": true,
"languages": [],
"vocabs": { "ror": { "uriSpace": "https://ror.org/", "vocabularyUri": "https://ror.org/" } },
"managedFields": { "organizationName": "authorAffiliation" }
}
]
}
What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
API User, SPA
What inspired the request?
This is in the GREI5 Scope
https://github.com/IQSS/dataverse-frontend/issues/1023
What existing behavior do you want changed?
NA
Any brand new behavior do you want to add to Dataverse?
NA
Any open or closed issues related to this feature request?
Are you thinking about creating a pull request for this feature?
Help is always welcome, is this feature something you or your organization plan to implement?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed GET /api/info/settings/externalVocabularies entry point and the :CVocConf configuration described in the issue. Check how external-vocabulary metadata fields are represented and what can be exposed without admin credentials. Done means a public response provides the requested sanitized field, protocol, language, vocabulary, and managed-field details, with API tests covering it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100