IQSS / IQSS/dataverse

Feature Request: External Vocab API to get CVoc configuration

Open
#12,630 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

FY27 Priority FY27 Roadmap GREI 2 GREI Year 5 Size: 20 Type: Feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.