Update the CVocConf configuration mechanism
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 Suggestion Currently, external vocabulary scripts are configured through a single :CVocConf setting that takes an array of JSON objects that conform to the schema. This is cumbersome for at least a couple reasons:
- adding a new script/field means copying the existing setting and adding one more object to the array, and
- parts of the definition of an object are ~constant for a give script, e.g. how the filtering should be done in Dataverse, the URL for the service, etc. - while others depend on the field - the name of the termUri field and any managedFields, etc.
As use of external vocabulary scripts grows, and scripts are being applied to multiple fields (ORCID and ROR in particular), a nice update would be to refactor configuration such that scripts can be registered with Dataverse and, separately, a registered script can be configured for one or more fields. Such a reconfiguration might simplify creating an API for the for the SPA/UI creators and could make future features, such as allowing multiple scripts per field, to be implemented.
Implementing this would require:
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 by tracing the existing :CVocConf setting and reviewing the linked CVocConf schema and external vocabulary support configuration. Define how scripts are registered independently from their field-specific settings, then verify that existing ORCID and ROR configurations can be represented and that the proposed API/UI use cases remain supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100