MSD-LIVE / issues

0 stars 0 forks source link

Allow contrib modal to do typeahead for users (RDM has something but it's either/or, not both so doesn't allow to type in a new user) #93

Open zguillen opened 10 months ago

zguillen commented 10 months ago

There is a search AND type in new option now but sadly the search doesn't search local RDM's users nor contributors on previously created records. instead is searches in a names vocabulary yaml file, see names.py in rdm source or /api/names to see what's currently used to search.

Perhaps we write our own endpoint, configure CreatibutorsModal to use it, and it does a search in local RDM records and returns list of previously filled out contributors

zguillen commented 10 months ago

another user requested same on discord, here's question and response:

dglueck Hello, this has probably been asked before, but I couldn't find anything in the search. The vocabularies behind the "name, identifier" ( https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/fixtures/data/vocabularies/names_orcid.yaml ) and the "affiliations" ( https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/fixtures/data/vocabularies/affiliations_ror.yaml ) fields in the creator/contributor modal seem to be static / closed, i.e. when a user enters a new name while uploading a new record, the new name doesn't appear in subsequent uploads. Is there any way to make these vocabularies grow dynamically with new user input? My understanding is that this is rather difficult, but I wanted to ask anyway.

tmorrell For "name, identifier" it wouldn't be too difficult. You'd just have to have a script that reads out new records and identifies new names. You'd then format them like https://inveniordm.docs.cern.ch/customize/vocabularies/names/#data-model and update like https://inveniordm.docs.cern.ch/customize/vocabularies/names/#how-to-import-and-update-your-name-records. There are some issues with de-duplication if ORCIDS aren't available, so you'd want to do a lot of testing. But I don't think it would require any core changes.

"affiliations" are more difficult because there is an assumption that each affiliation has a ROR as a unique ID. They are also an older fixtures vocabulary, so you'd need to use https://github.com/inveniosoftware/invenio-rdm-records/pull/1303 to do the additions. A user generated vocabulary for affiliations will also get messy really quickly. There are a lot of potential improvements for affiliations, including how to handle sub-affiliations like departments. Hopefully we'll be able to do more in this area in the future

zguillen commented 3 weeks ago

@jugovimm note this is different that the users elastic search index you've been working with. The users we'd want a type ahead to search for are other people listed on records as contributors (so lots won't even have accounts in MSD-LIVE)