Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CVOC : Multiple services for 1 term field #9828

Open
luddaniel opened this issue Aug 24, 2023 · 3 comments
Open

CVOC : Multiple services for 1 term field #9828

luddaniel opened this issue Aug 24, 2023 · 3 comments
Labels
Component: JSF Involves modifying JSF (Jakarta Server Faces) code, which is being replaced with React. Feature: Controlled Vocabulary Includes both Internal and external controlled vocabularies Type: Feature a feature request User Role: Depositor Creates datasets, uploads data, etc. UX & UI: New React UI Needs enough design work that it should probably go in the new React UI, not JSF

Comments

@luddaniel
Copy link
Contributor

Following the last Community Call August 22, 2023 Notes it appears that it would be nice to have one issue describing a new use case of external vocabulary using the supported generic external vocabulary support mechanism of Dataverse.

Right now, the setting :CVocConf (that uses a configuration file cvoc-conf.json as value) allows to implement 1 service url for 1 field (or a group of 1 parent field and many childs fields).

For our Dataverse, we are thinking about having multiple services for the same bloc of termName/vocabularyUri fields.
For example :

  1. https://thesaurus.inrae.fr/thesaurus-inrae/fr/ (SKOMOS)
  2. https://skosmos.loterre.fr/en/ (SKOMOS)
  3. https://agroportal.lirmm.fr/ontologies (OntoPortal)

This feature mainly concerns the java code which will have to manage the cache and indexing needs for the multilingual search results (search result page/api and dataset metadata tab view) of each service while the javascript modifications only concern the dataset edit view.

Feedback: Each instance is working well independently using the generic external vocabulary mechanism with the good configuration of the json file.

@qqmyers @4tikhonov @qqmyers @DS-INRA

@pdurbin
Copy link
Member

pdurbin commented Aug 25, 2023

@luddaniel thanks for creating this issue and discussing it on the community call.

When you mention the need to modify the Java code, I assume this involves changes to the old/current frontend, which is written in JavaServer Faces (JSF). In case you or others aren't aware, the JSF frontend is deprecated and a new equivalent frontend is being written from scratch in React.

Because of this ongoing rewrite, I wonder how you feel about deferring this work until the new React frontend is ready to receive it.

You can get a sense of the state of the new React frontend (early days) by watching the recent video at https://github.com/IQSS/dataverse-frontend#demo-videos . The roadmap for the new React front end can be seen at https://groups.google.com/g/dataverse-community/c/2hfhWIHQddE/m/hATuWGGSAAAJ

Obviously, if you or others want to work on backend (API and database) stuff, all of that work will carry forward into the future indefinitely.

@pdurbin pdurbin added Type: Feature a feature request User Role: Depositor Creates datasets, uploads data, etc. Feature: Controlled Vocabulary Includes both Internal and external controlled vocabularies Component: JSF Involves modifying JSF (Jakarta Server Faces) code, which is being replaced with React. UX & UI: New React UI Needs enough design work that it should probably go in the new React UI, not JSF labels Oct 13, 2023
@4tikhonov
Copy link
Contributor

Some time ago I have developed Semantic Gateway https://github.com/Dans-labs/semantic-gateway as a middleware which will allow to connect any number of Skosmos or other CV services to Dataverse term fields. You need to create semantic mappings and put them in the configuration file, and Semantic Gateway will "imitate" Skosmos instance by providing the same interface to CV plugin which we've incorporated earlier.

@qqmyers
Copy link
Member

qqmyers commented Oct 13, 2023

FWIW: There's nothing stopping a JavaScript from using multiple services now. The limitation from the Dataverse side is that the registration mechanism only supports providing one service URL so today a JavaScript would need to hardcode other endpoints and/or do its own lookup of which services to use, or use a gateway as above, etc.

@DS-INRAE DS-INRAE moved this to ⚠️ Needed/Important in Recherche Data Gouv Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: JSF Involves modifying JSF (Jakarta Server Faces) code, which is being replaced with React. Feature: Controlled Vocabulary Includes both Internal and external controlled vocabularies Type: Feature a feature request User Role: Depositor Creates datasets, uploads data, etc. UX & UI: New React UI Needs enough design work that it should probably go in the new React UI, not JSF
Projects
Status: ⚠️ Needed/Important
Development

No branches or pull requests

4 participants