Difference between revisions of "SUNScholar/Digital Object Identifier/DOI"

From Libopedia
Jump to navigation Jump to search
(Created page with "<center> '''BACK TO DIGITAL OBJECT IDENTIFIERS''' </center>")
 
m
Line 2: Line 2:
 
  '''[[SUNScholar/Digital Object Identifier|BACK TO DIGITAL OBJECT IDENTIFIERS]]'''
 
  '''[[SUNScholar/Digital Object Identifier|BACK TO DIGITAL OBJECT IDENTIFIERS]]'''
 
</center>
 
</center>
 +
==Introduction==
 +
Beginning with DSpace 4.0 it is possible to use DOIs in parallel to the Handle System within DSpace.
 +
 +
It is good practice to use Persistent Identifiers to address items in a digital repository.
 +
 +
DOIs are Persistent Identifiers like Handles are, but as many big publishing companies use DOIs they are quite well-known to scientists.
 +
 +
==Sample "$HOME/source/dspace/config/dspace.cfg" config==
 +
<pre>
 +
##### DOI registration agency credentials ######
 +
# To mint DOIs you have to use a DOI registration agency like DataCite. Several
 +
# DataCite members offers services as DOI registration agency, so f.e. EZID or
 +
# TIB Hannover. To mint DOIs with DSpace you have to get an agreement with an
 +
# DOI registration agency. You have to edit
 +
# [dspace]/config/spring/api/identifier-service.xml and to configure the following
 +
# properties.
 +
 +
# Credentials used to authenticate against the registration agency:
 +
identifier.doi.user = username
 +
identifier.doi.password = password
 +
# DOI prefix used to mint DOIs. All DOIs minted by DSpace will use this prefix.
 +
# The Prefix will be assinged by the registration agency.
 +
identifier.doi.prefix = 10.5072
 +
# If you want to, you can further separate your namespace. Should all the suffix
 +
# of all DOIs minted by DSpace start with a special string to separate it from
 +
# other services also minting DOIs under your prefix?
 +
identifier.doi.namespaceseparator = dspace/
 +
</pre>
 +
 +
==Sample "$HOME/source/config/spring/api/identifier-service.xml" config==
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<!--
 +
 +
    Copyright (c) 2002-2010, DuraSpace.  All rights reserved
 +
    Licensed under the DuraSpace License.
 +
 +
    A copy of the DuraSpace License has been included in this
 +
    distribution and is available at: http://www.dspace.org/license
 +
 +
-->
 +
<beans xmlns="http://www.springframework.org/schema/beans"
 +
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 +
      xsi:schemaLocation="http://www.springframework.org/schema/beans
 +
          http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 +
 +
    <!-- Identifier Service Application Interface.  Will be autowired with
 +
        any Identifier Providers present in Spring context.
 +
    -->
 +
    <bean id="org.dspace.identifier.IdentifierService"
 +
          class="org.dspace.identifier.IdentifierServiceImpl"
 +
          autowire="byType"
 +
          scope="singleton"/>
 +
 +
  <!-- provider for using the versioned handle identifier instead of the default one. -->
 +
    <!--<bean id="org.dspace.identifier.HandleIdentifierProvider" class="org.dspace.identifier.VersionedHandleIdentifierProvider"-->
 +
          <!--scope="singleton">-->
 +
        <!--<property name="configurationService" ref="org.dspace.services.ConfigurationService"/>-->
 +
    <!--</bean>-->
 +
 +
    <!-- provider to mint and register DOIs with DSpace.
 +
        To mint DOIs you need a registration agency. The DOIIdentifierProvider
 +
        maintains the doi database table and handling of DSpaceObject. It uses
 +
        a DOIConnector that handle all API calls to your DOI registration
 +
        agency. Please configure a DOIConnector as well!-->
 +
 +
    <!-- To mint DOIs with DSpace get an agreement with a DOI registration
 +
        agency,  take a look into dspace.cfg, and remove this comment
 +
    <bean id="org.dspace.identifier.DOIIdentifierProvider"
 +
        class="org.dspace.identifier.DOIIdentifierProvider"
 +
        scope="singleton">
 +
        <property name="configurationService"
 +
            ref="org.dspace.services.ConfigurationService" />
 +
        <property name="DOIConnector"
 +
            ref="org.dspace.identifier.doi.DOIConnector" />
 +
    </bean>
 +
    -->
 +
   
 +
    <!-- The DOIConnector will handle the API calls to your DOI registration
 +
        agency for the DOIIdentifierProvider. If your registration agency
 +
        tells you to use DataCites API directly you can use the
 +
        DataCiteConnector. If your registration agency is not part of DataCite
 +
        or provides their own API you have to implement a DOIConnector.
 +
        EZID f.e. is part of DataCite but provides their own APIs. The following
 +
        DataCiteConnector won't work if EZID is your registration agency.
 +
    -->
 +
    <!-- Remove this comment to use DataCite API directly as DOIConnector.
 +
    <bean id="org.dspace.identifier.doi.DOIConnector"
 +
        class="org.dspace.identifier.doi.DataCiteConnector"
 +
        scope="singleton">
 +
        <property name='DATACITE_SCHEME' value='https'/>
 +
        <property name='DATACITE_HOST' value='test.datacite.org'/>
 +
        <property name='DATACITE_DOI_PATH' value='/mds/doi/' />
 +
        <property name='DATACITE_METADATA_PATH' value='/mds/metadata/' />
 +
        <property name='disseminationCrosswalkName' value="DataCite" />
 +
    </bean>
 +
    -->
 +
 +
    <!-- Provider to mint and register DOIs using EZID as the registrar.
 +
    -->
 +
    <!-- Uncomment to enable DOI using EZID
 +
    <bean id="org.dspace.identifier.EZIDIdentifierProvider"
 +
          class="org.dspace.identifier.EZIDIdentifierProvider"
 +
          scope='singleton'>
 +
        <description>Uses the EZID service to provide DOI identifiers from DataCite</description>
 +
        <property name="configurationService"
 +
                      ref="org.dspace.services.ConfigurationService"/>
 +
        <property name='requestFactory'>
 +
            <bean class='org.dspace.identifier.ezid.EZIDRequestFactory'>
 +
                <property name='EZID_SCHEME' value='https'/>
 +
                <property name='EZID_HOST' value='n2t.net'/>
 +
            </bean>
 +
        </property>
 +
        <property name='crosswalk'>
 +
            <map>
 +
                <entry key='datacite.creator' value='dc.contributor.author'/>
 +
                <entry key='datacite.title' value='dc.title'/>
 +
                <entry key='datacite.publisher' value='dc.publisher'/>
 +
                <entry key='datacite.publicationyear' value='dc.date.issued'/>
 +
            </map>
 +
        </property>
 +
        <property name='crosswalkTransform'>
 +
            <description>How to compute the crosswalked value from the original.  Default is plain copy.</description>
 +
            <map>
 +
                <entry key='datacite.publicationyear'>
 +
                    <bean class='org.dspace.identifier.ezid.DateToYear'/>
 +
                </entry>
 +
            </map>
 +
        </property>
 +
    </bean>
 +
    -->
 +
 +
</beans>
 +
</pre>
 +
 +
==References==
 +
* https://wiki.duraspace.org/display/DSDOC5x/DOI+Digital+Object+Identifier
 +
* https://wiki.duraspace.org/display/DSDOC4x/DOI+Digital+Object+Identifier

Revision as of 14:53, 9 June 2015

BACK TO DIGITAL OBJECT IDENTIFIERS

Introduction

Beginning with DSpace 4.0 it is possible to use DOIs in parallel to the Handle System within DSpace.

It is good practice to use Persistent Identifiers to address items in a digital repository.

DOIs are Persistent Identifiers like Handles are, but as many big publishing companies use DOIs they are quite well-known to scientists.

Sample "$HOME/source/dspace/config/dspace.cfg" config

##### DOI registration agency credentials ######
# To mint DOIs you have to use a DOI registration agency like DataCite. Several
# DataCite members offers services as DOI registration agency, so f.e. EZID or
# TIB Hannover. To mint DOIs with DSpace you have to get an agreement with an
# DOI registration agency. You have to edit 
# [dspace]/config/spring/api/identifier-service.xml and to configure the following
# properties.

# Credentials used to authenticate against the registration agency:
identifier.doi.user = username
identifier.doi.password = password
# DOI prefix used to mint DOIs. All DOIs minted by DSpace will use this prefix.
# The Prefix will be assinged by the registration agency.
identifier.doi.prefix = 10.5072
# If you want to, you can further separate your namespace. Should all the suffix
# of all DOIs minted by DSpace start with a special string to separate it from
# other services also minting DOIs under your prefix?
identifier.doi.namespaceseparator = dspace/

Sample "$HOME/source/config/spring/api/identifier-service.xml" config

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2002-2010, DuraSpace.  All rights reserved
    Licensed under the DuraSpace License.

    A copy of the DuraSpace License has been included in this
    distribution and is available at: http://www.dspace.org/license

-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <!-- Identifier Service Application Interface.  Will be autowired with
         any Identifier Providers present in Spring context.
    -->
    <bean id="org.dspace.identifier.IdentifierService"
          class="org.dspace.identifier.IdentifierServiceImpl"
          autowire="byType"
          scope="singleton"/>

   <!-- provider for using the versioned handle identifier instead of the default one. -->
    <!--<bean id="org.dspace.identifier.HandleIdentifierProvider" class="org.dspace.identifier.VersionedHandleIdentifierProvider"-->
          <!--scope="singleton">-->
        <!--<property name="configurationService" ref="org.dspace.services.ConfigurationService"/>-->
    <!--</bean>-->

    <!-- provider to mint and register DOIs with DSpace.
         To mint DOIs you need a registration agency. The DOIIdentifierProvider
         maintains the doi database table and handling of DSpaceObject. It uses
         a DOIConnector that handle all API calls to your DOI registration
         agency. Please configure a DOIConnector as well!-->

    <!-- To mint DOIs with DSpace get an agreement with a DOI registration
         agency,  take a look into dspace.cfg, and remove this comment
    <bean id="org.dspace.identifier.DOIIdentifierProvider"
        class="org.dspace.identifier.DOIIdentifierProvider"
        scope="singleton">
        <property name="configurationService"
            ref="org.dspace.services.ConfigurationService" />
        <property name="DOIConnector"
            ref="org.dspace.identifier.doi.DOIConnector" />
    </bean>
    -->
    
    <!-- The DOIConnector will handle the API calls to your DOI registration
         agency for the DOIIdentifierProvider. If your registration agency
         tells you to use DataCites API directly you can use the
         DataCiteConnector. If your registration agency is not part of DataCite
         or provides their own API you have to implement a DOIConnector.
         EZID f.e. is part of DataCite but provides their own APIs. The following
         DataCiteConnector won't work if EZID is your registration agency.
    -->
    <!-- Remove this comment to use DataCite API directly as DOIConnector.
    <bean id="org.dspace.identifier.doi.DOIConnector"
        class="org.dspace.identifier.doi.DataCiteConnector"
        scope="singleton">
        <property name='DATACITE_SCHEME' value='https'/>
        <property name='DATACITE_HOST' value='test.datacite.org'/>
        <property name='DATACITE_DOI_PATH' value='/mds/doi/' />
        <property name='DATACITE_METADATA_PATH' value='/mds/metadata/' />
        <property name='disseminationCrosswalkName' value="DataCite" />
    </bean>
    -->

    <!-- Provider to mint and register DOIs using EZID as the registrar.
    -->
    <!-- Uncomment to enable DOI using EZID
    <bean id="org.dspace.identifier.EZIDIdentifierProvider"
          class="org.dspace.identifier.EZIDIdentifierProvider"
          scope='singleton'>
        <description>Uses the EZID service to provide DOI identifiers from DataCite</description>
        <property name="configurationService"
                      ref="org.dspace.services.ConfigurationService"/>
        <property name='requestFactory'>
            <bean class='org.dspace.identifier.ezid.EZIDRequestFactory'>
                <property name='EZID_SCHEME' value='https'/>
                <property name='EZID_HOST' value='n2t.net'/>
            </bean>
        </property>
        <property name='crosswalk'>
            <map>
                <entry key='datacite.creator' value='dc.contributor.author'/>
                <entry key='datacite.title' value='dc.title'/>
                <entry key='datacite.publisher' value='dc.publisher'/>
                <entry key='datacite.publicationyear' value='dc.date.issued'/>
            </map>
        </property>
        <property name='crosswalkTransform'>
            <description>How to compute the crosswalked value from the original.  Default is plain copy.</description>
            <map>
                <entry key='datacite.publicationyear'>
                    <bean class='org.dspace.identifier.ezid.DateToYear'/>
                </entry>
            </map>
        </property>
    </bean>
    -->

</beans>

References