Sorry about the late response to this thread.  I finally got around to looking 
into this.  Thought I’d follow up to say thanks to Terry for the gist (was very 
helpful!) and Ivan for the link to the DSpace docs.  I’m also including some 
more detail on what I did to get this to work in our environment (DSpace 5.5, 
XMLUI, custom theme based on Mirage 2).

item-view.xsl (the location of which depends on you setup I think; we have a 
custom Mirage 2 theme, so I copied it from its original location into my theme 
directory into xsl/aspect/artifactBrowser) has the following template:

<xsl:template name="itemSummaryView-DIM-authors-entry">
    <div>
        <xsl:if test="@authority">
            <xsl:attribute 
name="class"><xsl:text>ds-dc_contributor_author-authority</xsl:text></xsl:attribute>
        </xsl:if>
        <xsl:copy-of select="node()"/>
    </div>
</xsl:template>

I replaced that with the following.  The ORCID template is virtually unchanged 
from Terry’s example, and the second part if the 
itemSummaryView-DIM-authors-entry template is also very similar to the portion 
he had.

<xsl:template name="itemSummaryView-DIM-authors-entry">
    <div>
        <xsl:if test="@authority">
            <xsl:attribute 
name="class"><xsl:text>ds-dc_contributor_author-authority</xsl:text></xsl:attribute>
        </xsl:if>
        <xsl:copy-of select="node()"/>

        <xsl:if test="@authority">
            <xsl:variable name="orcid">
                <xsl:call-template name="ORCID">
                    <xsl:with-param name="uuid" select='@authority'/>
                </xsl:call-template>
           </xsl:variable>
           <xsl:copy-of select="$orcid"/>
        </xsl:if>
    </div>
</xsl:template>

<!-- create a link to ORCID using the SOLR authority -->
<xsl:template name="ORCID">
  <xsl:param name='uuid'/>
  <xsl:variable name="solr" 
select="concat('http://localhost:8080/solr/authority/select?q=id:',$uuid)"/>
  <xsl:variable name="authority" 
select="document($solr)/response/result/doc/str[@name='orcid_id']/text()"/>
  <xsl:if test="$authority">
    <xsl:text> (</xsl:text>
    <a>
      <xsl:attribute name='href'>
        <xsl:value-of select="concat('http://orcid.org/',$authority)"/>
      </xsl:attribute>
      <xsl:text>ORCID</xsl:text>
    </a>
    <xsl:text>)</xsl:text>
  </xsl:if>
</xsl:template>


You can see this in action here: http://hdl.handle.net/10388/7225 (the link to 
ORCID are after the author names in the left-hand column)


- Darryl


----------------------------------------------------------------------
Darryl Friesen, B.Sc., Programmer/Analyst    
[email protected]<mailto:[email protected]>
Library Systems & Information Technology,    http://library.usask.ca/
University of Saskatchewan Library
----------------------------------------------------------------------
"Go not to the Elves for counsel, for they will say both no and yes"




From: Terry Brady [mailto:[email protected]]
Sent: Monday, October 3, 2016 5:28 PM
To: Friesen, Darryl <[email protected]>; DSpace Community 
<[email protected]>
Subject: Re: [dspace-community] Using Authority Control in DSpace

Darryl,

I found some sample code for XMLUI I had written to pull the ORCID out of the 
SOLR authority.

Here it is in case you find it useful.

https://gist.github.com/terrywbrady/d0304eed59815d2e9c2d658a21cc5628


<!--


  display item summary info


  $notLast and $sep are used to control the display of multiple authors


-->


<xsl:when test="@element='contributor' and @qualifier='author' and @authority">


   <xsl:variable name="a">


     <xsl:value-of select="."/>


     <xsl:call-template name="ORCID">


       <xsl:with-param name="uuid" select='@authority'/>


     </xsl:call-template>


   </xsl:variable>


   <xsl:variable name="b">


     <xsl:if test="$notLast"><xsl:copy-of select="$sep"/></xsl:if>


   </xsl:variable>


   <xsl:copy-of select="$a"/><xsl:copy-of select="$b"/>


</xsl:when>





<!-- create a link to ORCID using the SOLR authority -->





    <xsl:template name="ORCID">


      <xsl:param name='uuid'/>


      <xsl:variable name="solr" 
select="concat('http://localhost/solr/authority/select?q=id:',$uuid)"/>


      <xsl:variable name="authority" 
select="document($solr)/response/result/doc/str[@name='orcid_id']/text()"/>


      <xsl:if test="$authority">


        <xsl:text> (</xsl:text>


        <a>


          <xsl:attribute name='href'>


            <xsl:value-of select="concat('http://orcid.org/',$authority)"/>


          </xsl:attribute>


          <xsl:text>ORCID</xsl:text>


        </a>


        <xsl:text>)</xsl:text>


      </xsl:if>


    </xsl:template>



On Mon, Oct 3, 2016 at 2:14 PM, Darryl Friesen 
<[email protected]<mailto:[email protected]>> wrote:
The University of Saskatchewan enabled ORCID recently.  Not many of our faculty 
have tried it yet, although I've done some testing.  As Terry mentioned, a lot 
of data gets put into the authority control Solr database, but none of that is 
available as metadata when the item page is rendered.  That's actually on my 
to-do list, so if anyone knows how to get authority control data data into the 
DRI/XML, please feel free to send me suggestions!

We haven't tried anything other than the built-in authority control/ORCID 
functionality -- populating the authority control data from an external source, 
for example.

Ana, I'm curious if your question stems from planned future integration between 
Vireo (which the UofS is using) and DSpace.  I know Vireo allows our students 
to enter their ORCID, but currently it comes over as part of the ETD metadata, 
and doesn't make it into DSpace's authority control database.



- Darryl





----------------------------------------------------------------------

 Darryl Friesen, B.Sc., Programmer/Analyst    
[email protected]<mailto:[email protected]>

 Library Systems & Information Technology,    http://library.usask.ca/

 University of Saskatchewan Library

----------------------------------------------------------------------

"Go not to the Elves for counsel, for they will say both no and yes"





On Friday, September 30, 2016 at 10:18:41 AM UTC-6, Terry Brady wrote:
Stefanie, I see that error now as well.  I have submitted a bug report: 
https://jira.duraspace.org/browse/DS-3350

Terry

On Fri, Sep 30, 2016 at 1:47 AM, Stefanie Behnke 
<[email protected]<mailto:[email protected]>>
 wrote:
Dear Terry,
I tried this and it seems not to work.
http://demo.dspace.org/xmlui/admin/item?administrative-continue=5c1512445a7831658a427855806831256f79642f&submit_metadata

Best regards
Stefanie

Von: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] Im Auftrag von Terry Brady
Gesendet: Dienstag, 27. September 2016 22:13
An: [email protected]<mailto:[email protected]>
Cc: DSpace Community
Betreff: Re: [dspace-community] Using Authority Control in DSpace

Anna,

We are not using this feature, so I imagine that others can offer a more 
detailed response.

I noticed that the ORCID lookup process appears to be enabled on 
demo.dspace.org<http://demo.dspace.org> if you want to experiment with it.

[https://groups.google.com/group/dspace-community/attach/6499e43d3989d/image001.png?part=0.2&authuser=0]

This process saves a reference to the authority record (uuid in SOLR) but it 
does not make the ORCID immediately available in metadata.

[https://groups.google.com/group/dspace-community/attach/6499e43d3989d/image002.png?part=0.1&authuser=0]
Terry



On Tue, Sep 27, 2016 at 12:25 PM, <[email protected]<mailto:[email protected]>> 
wrote:
Hi Everyone,

I'm writing to ask if anyone has experience using and/or extending the 
authority control feature in DSpace?

Here at Texas A&M, were looking at using this feature in a couple of metadata 
fields that contain person names for theses and dissertations. We're exploring 
the use of both ORCiDs as well as VIVO URIs and are interested hearing 
experiences and ideas from other institutions.

Thanks!
Anna

Anna J Dabrowski
Scholarly Communications Librarian | Digital Repositories
Texas A&M University Libraries
[email protected]<mailto:[email protected]> | 979.845.8847
--
You received this message because you are subscribed to the Google Groups 
"DSpace Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/dspace-community.
For more options, visit https://groups.google.com/d/optout.



--
Terry Brady
Applications Programmer Analyst
Georgetown University Library Information Technology
http://georgetown-university-libraries.github.io/<https://www.library.georgetown.edu/lit/code>
425-298-5498 (Seattle, WA)
--
You received this message because you are subscribed to the Google Groups 
"DSpace Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/dspace-community.
For more options, visit https://groups.google.com/d/optout.



--
Terry Brady
Applications Programmer Analyst
Georgetown University Library Information Technology
http://georgetown-university-libraries.github.io/<https://www.library.georgetown.edu/lit/code>
425-298-5498<tel:425-298-5498> (Seattle, WA)
--
You received this message because you are subscribed to the Google Groups 
"DSpace Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To post to this group, send email to 
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/dspace-community.
For more options, visit https://groups.google.com/d/optout.



--
Terry Brady
Applications Programmer Analyst
Georgetown University Library Information Technology
http://georgetown-university-libraries.github.io/<https://www.library.georgetown.edu/lit/code>
425-298-5498 (Seattle, WA)

-- 
You received this message because you are subscribed to the Google Groups 
"DSpace Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/dspace-community.
For more options, visit https://groups.google.com/d/optout.

Reply via email to