Project

General

Profile

Story #6423

Allow users to link their ORCID to their data

Added by Lauren Walker almost 8 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Related issues

Related to MetacatUI - Bug #6853: ORCiD identitifers are not valid LDAP DN's, so errors are thrownClosed10/12/2015

History

#1 Updated by ben leinfelder over 7 years ago

  • Target version changed from 1.5.0 to 1.6.0

#2 Updated by ben leinfelder over 7 years ago

  • Assignee set to ben leinfelder
  • Status changed from New to In Progress
I've been looking into the ORCID API and how we could interact with it. So far I have this prototyped:
  • When generating semantic annotations, one of the annotations can be to attribute the package (and its contents?) to the person listed in the <creator> element.
  • I use the individualName in the <creator> element to query ORCID for potential matches. If we find one, I use the ORCID for the prov:wasAttributedTo property of the package.
  • When this annotation is parsed in metacat-index, any prov:wasAttributedTo values go into a dynamic field called "creator_sm" that can be used to drive the UI and notions of "the user's content".

Here's a sample ORCID endpoint and response:
http://pub.sandbox.orcid.org/v1.1/search/orcid-bio?q=+other-names:%22Matthew+Jones%22&rows=1

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid">
    <message-version>1.1</message-version>
    <orcid-search-results num-found="1">
        <orcid-search-result>
            <relevancy-score>7.866008</relevancy-score>
            <orcid-profile>
                <orcid-identifier>
                    <uri>http://sandbox-1.orcid.org/0000-0003-2141-4459</uri>
                    <path>0000-0003-2141-4459</path>
                    <host>sandbox-1.orcid.org</host>
                </orcid-identifier>
                <orcid-bio>
                    <personal-details>
                        <given-names>Matthew Bentley</given-names>
                        <family-name>Jones</family-name>
                        <other-names>
                            <other-name>M. B. Jones</other-name>
                            <other-name>Matt Jones</other-name>
                            <other-name>Matthew Jones</other-name>
                        </other-names>
                    </personal-details>
                    <biography></biography>
                    <keywords>
                        <keyword>informatics</keyword>
                        <keyword>research data management</keyword>
                    </keywords>
                </orcid-bio>
                <orcid-activities/>
            </orcid-profile>
        </orcid-search-result>
    </orcid-search-results>
</orcid-message>

And what it looks like in the index:
http://localhost:8080/metacat/d1/mn/v1/query/solr/fl=id,origin,creator_sm&q=id:testAnnotation.eml.1396306529512&sort=dateUploaded+desc&wt=xml&rows=25&start=0

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">3</int>
<lst name="params">
<str name="fq">(readPermission:"public")</str>
<str name="sort">dateUploaded desc</str>
<str name="fl">id,origin,creator_sm</str>
<str name="start">0</str>
<str name="q">id:testAnnotation.eml.1396306529512</str>
<str name="wt">xml</str>
<str name="rows">25</str>
</lst>
</lst>
<result name="response" numFound="1" start="0">
<doc>
<str name="id">testAnnotation.eml.1396306529512</str>
<arr name="origin">
<str>Matthew Jones</str>
</arr>
<arr name="creator_sm">
<str>http://sandbox-1.orcid.org/0000-0003-2141-4459</str>
</arr>
</doc>
</result>
</response>

#3 Updated by Lauren Walker over 7 years ago

This looks good and pretty straightforward. I think we will need to decide on a process for when/if to attribute an ORCID to a creator. There are two options that I can think of:

1. Automatically attribute an ORCID to a creator based on a certain level of relevancy returned from a name search
2. Store an ORCID in the index based on a certain level of relevancy but wait for a confirmation from a rights holder before certainly attributing the ID to that creator

It may just be a matter of how we treat the creator/ID in the interface (confirmed or unconfirmed), however if we are storing confirmations we will need to indicate that in the index.

We also will want to think of how we will handle corrections - e.g. creating a new metadata version to remove or add a new ORCID.

#4 Updated by Lauren Walker over 7 years ago

  • Target version deleted (1.6.0)

#5 Updated by Lauren Walker over 7 years ago

  • Status changed from In Progress to New

#6 Updated by Lauren Walker over 6 years ago

  • Target version set to 1.8.0
  • Subject changed from Research the Orcid API and how I could store it in the DataONE profile service for users who choose to link them to Allow users to link their ORCID to their data

#7 Updated by Lauren Walker about 6 years ago

  • Status changed from New to Resolved

Users can now log in via their ORCID account and link it to their CILogon or LDAP account, if they have one. They will have a user profile that shows their data contributions from both their ORCiD and CILogon/LDAP accounts.

There are some outstanding issues with ORCiDs that need to be addressed (will create new tickets):
- users cannot request an identity mapping to an ORCiD account (but they can initiate an ID map request from their ORCiD)
- ORCiD users cannot be added to groups
- ORCiD users cannot create groups

These are all not possible right now because the ORCiD identifier is not valid syntax for an LDAP DN, so errors are thrown.

#8 Updated by Lauren Walker about 6 years ago

  • Target version changed from 1.8.0 to 1.9.0

Also available in: Atom PDF