Skip to content

DOI Configuration per Community

Milan Kuchtiak edited this page Jun 17, 2026 · 1 revision

The community specific DOI prefixes, and namespaces are configurable in /dspace/config/sprong/api/identifier-service.xml.

Example:

    <bean id="org.dspace.identifier.DOIIdentifierProvider" class="org.dspace.identifier.ClarinDOIIdentifierProvider">
        <property name="providers">
            <list>
                <bean parent = "org.dspace.identifier.ClarinCommunityDOIIdentifierProvider1" />
                <bean parent = "org.dspace.identifier.ClarinCommunityDOIIdentifierProvider2" />
            </list>
        </property>
    </bean>

    <bean id="org.dspace.identifier.ClarinCommunityDOIIdentifierProvider1"
          class="org.dspace.identifier.ClarinCommunityDOIIdentifierProvider"
          init-method="init"
          abstract="true">
        <property name="configurationService" ref="org.dspace.services.ConfigurationService" />
        <property name="DOIConnector">
            <bean parent = "org.dspace.identifier.doi.DOIConnector" />
        </property>
        <property name="doiPrefix" value="10.83111" />
        <property name="namespaceSeparator" value="clarin.1." />
        <property name="communities">
            <set>
                <value>c23166ee-8807-43f0-acbe-ea2fc68f5ebd</value>
                <value>34352d2c-3296-4448-aeb5-d18f2e179601</value>
            </set>
        </property>
    </bean>

    <bean id="org.dspace.identifier.ClarinCommunityDOIIdentifierProvider2"
          class="org.dspace.identifier.ClarinCommunityDOIIdentifierProvider"
          init-method="init"
          abstract="true">
        <property name="configurationService" ref="org.dspace.services.ConfigurationService" />
        <property name="DOIConnector">
            <bean parent = "org.dspace.identifier.doi.DOIConnector" />
        </property>
        <property name="doiPrefix" value="10.83222" />
        <property name="namespaceSeparator" value="clarin.2." />
        <property name="communities">
            <set>
                <value>1779c8e1-db54-46a6-9804-0e7fe2583c39</value>
            </set>
        </property>
        <property name="filter" ref="has-bitstream_filter"/>
    </bean>

    <bean id="org.dspace.identifier.doi.DOIConnector"
          class="org.dspace.identifier.doi.ClarinDataCiteConnector"
          abstract="true">
        <property name='DATACITE_SCHEME' value='https'/>
        <property name='DATACITE_HOST' value='mds.test.datacite.org'/>
        <property name='DATACITE_DOI_PATH' value='/doi/' />
        <property name='DATACITE_METADATA_PATH' value='/metadata/' />
        <property name='disseminationCrosswalkName' value="DataCite" />
    </bean>

In this configuration two prefixes, and namespaces are defined, so that for all items in communities c23166ee-8807-43f0-acbe-ea2fc68f5ebd and 34352d2c-3296-4448-aeb5-d18f2e179601 the DOIs that will be minted during the item submission will start with 10.83111/clarin.1., e.g.

10.83111/clarin.1.126, 
10.83111/clarin.1.129,
etc.

For items in community 1779c8e1-db54-46a6-9804-0e7fe2583c39, DOIs will start with 10.83222/clarin.2., e.g.

10.83222/clarin.2.127, 
10.83222/clarin.2.128,
etc.

Note that ClarinCommunityDOIIdentifierProvider class allows to set a dynamic filter, that means, DOIs will be minted for particular items only when the filter condition is satisfied (e.g. has-bitstream_filter means DOI will be minted only when item has bitstreams).


The ROR API credentials, required to register DOI, need to be specified per DOI prefix in the /dspace/config/local.cfg.

Example:

identifier.doi.10.83111.user = <username_1>
identifier.doi.10.83111.password = <password_1>
identifier.doi.10.83222.user = <username_2>
identifier.doi.10.83222.password = <password_2>

Home


Getting Started

Features

Operations

For Users

Development

Reference


Archive (v5 / stale)

Clone this wiki locally