Batch update of preferred names for ORCIDs?

83 views
Skip to first unread message

Alan Orth

unread,
Aug 18, 2016, 9:32:49 AM8/18/16
to DSpace Technical Support
Hi,

During the item submission process you can look up authors in the
ORCID service and DSpace will store the version of the author's name
that was found at the time of the lookup — I believe this has been
called the "preferred" name before on this list. We're slowly getting
our scientists to register for ORCIDs and as this evolves I'm sure
users will change their name format from time to time.

Has there been any thought put into a process for updating stored
author names from ORCID? It could be a manual job you kick off
periodically (via the web interface or a cron job).

Thanks,

--
Alan Orth
alan...@gmail.com
https://englishbulgaria.net
https://alaninkenya.org
https://mjanja.ch
"In heaven all the interesting people are missing." ―Friedrich Nietzsche
GPG public key ID: 0x8cb0d0acb5cd81ec209c6cdfbd1a0e09c2f836c0

Peter Dietz

unread,
Aug 18, 2016, 10:39:17 AM8/18/16
to Alan Orth, DSpace Technical Support
Hi Alan,

Does: /bin/dspace dsrun org.dspace.authority.UpdateAuthorities work for you?
This will iterate over every solr record currently in use (unless the -i argument is provided), query the ORCID web service for the latest data and update the information in the cache. If configured, the script will also update the metadata of the items in the repository where applicable.


________________
Peter Dietz
Longsight
www.longsight.com
pe...@longsight.com
p: 740-599-5005 x809

--
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech+unsubscribe@googlegroups.com.
To post to this group, send email to dspac...@googlegroups.com.
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.

Alan Orth

unread,
Aug 18, 2016, 3:51:18 PM8/18/16
to Peter Dietz, DSpace Technical Support
Peter,

Wow, actually that sounds like exactly what I need. I didn't even know
it existed! I am running the `dspace index-authority` script every
night, but from reading the documentation I'm actually not sure if
it's required...

https://wiki.duraspace.org/display/DSDOC5x/ORCID+Integration#ORCIDIntegration-Importingexistingauthors&keepingtheindexuptodate

I will test the `dspace dsrun org.dspace.authority.UpdateAuthorities`
script and the `auto-update-items` configuration option.

Thanks!
>> email to dspace-tech...@googlegroups.com.
>> To post to this group, send email to dspac...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/dspace-tech.
>> For more options, visit https://groups.google.com/d/optout.
>
>



Alan Orth

unread,
Aug 21, 2016, 9:59:36 AM8/21/16
to Peter Dietz, DSpace Technical Support
Hi,

So `dspace dsrun org.dspace.authority.UpdateAuthorities` doesn't work for me. I tested by updating my name on ORCID and then let UpdateAuthorities run a few times per day for a few days, but there is no change in the display of my name on a test item's display. Every time I run the script I get something like:

$ /home/dspace dsrun org.dspace.authority.UpdateAuthorities 
10 authorities found.

Can anyone confirm this script working for them?

Thanks,

Sean Carte

unread,
Aug 22, 2016, 5:58:36 AM8/22/16
to Alan Orth, Peter Dietz, DSpace Technical Support

On 21 August 2016 at 15:59, Alan Orth <alan...@gmail.com> wrote:
So `dspace dsrun org.dspace.authority.UpdateAuthorities` doesn't work for me. I tested by updating my name on ORCID and then let UpdateAuthorities run a few times per day for a few days, but there is no change in the display of my name on a test item's display. Every time I run the script I get something like:

$ /home/dspace dsrun org.dspace.authority.UpdateAuthorities 
10 authorities found.

Can anyone confirm this script working for them?


I also get 10 authorities found, but nothing further:

$ /dspace/bin/dspace dsrun org.dspace.authority.UpdateAuthorities
10 authorities found.

If I try with a single record, I get a more interesting response:
$ /dspace/bin/dspace dsrun org.dspace.authority.UpdateAuthorities -i 58b55f8c-4950-40af-ba58-2fc835eda26f
1 authorities found.
Exception: null
java.lang.NullPointerException
    at org.apache.xpath.XPathAPI.eval(XPathAPI.java:231)
    at org.apache.xpath.XPathAPI.selectNodeList(XPathAPI.java:167)
    at org.apache.xpath.XPathAPI.selectNodeList(XPathAPI.java:147)
    at org.dspace.authority.util.XMLUtils.getNodeList(XMLUtils.java:86)
    at org.dspace.authority.util.XMLUtils.getNodeListIterator(XMLUtils.java:94)
    at org.dspace.authority.orcid.xml.XMLtoBio.convert(XMLtoBio.java:91)
    at org.dspace.authority.orcid.Orcid.getBio(Orcid.java:54)
    at org.dspace.authority.orcid.Orcid.queryAuthorityID(Orcid.java:83)
    at org.dspace.authority.orcid.OrcidAuthorityValue.newInstance(OrcidAuthorityValue.java:249)
    at org.dspace.authority.AuthorityValueServiceImpl.generateRaw(AuthorityValueServiceImpl.java:86)
    at org.dspace.authority.AuthorityValueServiceImpl.update(AuthorityValueServiceImpl.java:100)
    at org.dspace.authority.UpdateAuthorities.run(UpdateAuthorities.java:135)
    at org.dspace.authority.UpdateAuthorities.main(UpdateAuthorities.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
    at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

And this in the log:

2016-08-22 11:55:02,907 INFO  org.hibernate.tool.hbm2ddl.TableMetadata @ HHH000037: Columns: [collection_id, stage_reached, page_reached, published_before, item_id, multiple_titles, multiple_files, embargoduration, workspace_item_id]
2016-08-22 11:55:13,373 ERROR org.dspace.authority.rest.RESTConnector @ Error in rest connector for path: http://pub.orcid.org/0000-0002-8421-238X/orcid-bio
java.net.UnknownHostException: pub.orcid.org: unknown error
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
    at org.dspace.authority.rest.RESTConnector.get(RESTConnector.java:51)
    at org.dspace.authority.orcid.Orcid.getBio(Orcid.java:52)
    at org.dspace.authority.orcid.Orcid.queryAuthorityID(Orcid.java:83)
    at org.dspace.authority.orcid.OrcidAuthorityValue.newInstance(OrcidAuthorityValue.java:249)
    at org.dspace.authority.AuthorityValueServiceImpl.generateRaw(AuthorityValueServiceImpl.java:86)
    at org.dspace.authority.AuthorityValueServiceImpl.update(AuthorityValueServiceImpl.java:100)
    at org.dspace.authority.UpdateAuthorities.run(UpdateAuthorities.java:135)
    at org.dspace.authority.UpdateAuthorities.main(UpdateAuthorities.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
    at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)
2016-08-22 11:55:13,504 INFO  org.dspace.core.Context @ abort() was called on a closed Context object. No changes to abort.

If wget http://pub.orcid.org/0000-0002-8421-238X/orcid-bio , I do get an XML file with the expected information.

(This is on DSpace 6.0 rc2.)

Sean
--

Alan Orth

unread,
Aug 24, 2016, 4:37:48 AM8/24/16
to Sean Carte, Peter Dietz, DSpace Technical Support
Ok, I filed a bug report in Jira:

https://jira.duraspace.org/browse/DS-3302

Cheers,
Reply all
Reply to author
Forward
0 new messages