Closed ulysseus-eu closed 8 months ago
We have been working on this feature design today to further discuss with the product and architecture teams. Here are few diagrams attached. First a class diagram of database objects
Then we thought users would file claims on public profiles or on specific records to add them to their public profile ( records added by a third party in our case). Those claims would be resolved by global public profile admins.
Here is the sequence diagram for the resolution of claim for a list of records
Here is the sequence diagram for the resolution of a claim to administrate an existing (pre-generated) public profile.
We'll contact you on discord to discuss live and will update this issue with the conclusions and next steps.
We have added some more details in our fork of invenio-docs: https://github.com/ulysseus-eu/docs-invenio-rdm/blob/ulysseus/docs/develop/architecture/claim_profile_or_record.md
While I was investigating, I started to have a look at invenio-communities module which seemed to have similar features. Doing so, I realized that invenio-communities could even fit the requirement by translating the following concept: A claim would be a Request A PublicProfile would be a Community addressing only one researcher A ProfileAdmin would be a Community member with owner role ProfileToRecordAttribution object would be the association between records and the PublicProfile community
And the workflows are already existing within community objects: creating a community => public profile requesting to be part of a community => claiming a profile add a record to a community => adding a record to a public profile etc.
So it seems I could have sort of a backend or a parent class to use.
Hi @ulysseus-eu,
Thanks a lot for the interest to contribute to InvenioRDM. I think the easiest approach would be to setup a meeting to discuss further. Can you reach out to me on lars.holm.nielsen@cern.ch and we can organise a call.
Indeed requests module can handle quite a lot of all the claim requests. Also, there's Invenio-accounts and invenio-userprofiles who could extended to address some of the use cases. Also Invenio-Vocabularies already has names and affiliations vocabularies that match up with profiles and organisations.
I would probably not use communities as the public profile for a researchers as communities have a lot of features around collaboration (managing members, submission rules to the communities, etc) which would seem quite odd on a researcher profile page. For organisation profiles I think communities could work well.
I can also explain more about how we try to manage the contributions etc.
FYI: Here's also a very old issues with some ideas for research profiles that never got realised: https://github.com/zenodo/zenodo/issues/1212
This issue was automatically marked as stale.
Problem statement
In the scope of Ulysseus European University we are building a RDM based on Invenio. We want to extend InvenioRDM so that it becomes our Current Research Information System as well, containing public researcher profiles and public affiliation profiles, the same way DSpace CRIS does it. ex for Universitad de Sevilla:
Describe the solution you'd like
We'd like to contribute and build the required modules (person, organization), required workflows:
Describe alternatives you've considered
We have already added custom fields and built custom pages that connect to an external database but we feel it's limited and we miss an opportunity to contribute and to make the ecosystem benefit from such a feature.
Additional context
We (Ulysseus digital team) are open to be the main contributor of this development if we get collaborative guidance on the best ways to integrate these features (vs communities, vs users) and software architecture. We'd develop in late 2023 and along 2024.
What do you think?