-
Notifications
You must be signed in to change notification settings - Fork 22
- Pull Request: dataquest-dev/DSpace#883
- Official Documentation: [DOI Digital Object Identifier – DSpace 7.x]
Note: The DATACITE_HOST in /config/spring/api/identifier-service.xml
is supposed to be mds(.test).datacite.org not api(.test).datacite.org.
1. Enable DOI in Event Consumers
In your local.cfg or equivalent config, ensure that doi is included in the event.dispatcher.default.consumers property:
event.dispatcher.default.consumers = ... ,doi
2. Update XSL for Custom Metadata
If you're using custom metadata types (e.g., dc.type = corpus), make sure DIM2DataCite.xsl handles them appropriately.
Example from Lindat configuration:
<xsl:when test="$typeValue = 'corpus'">
<xsl:element name="resourceType">
<xsl:attribute name="resourceTypeGeneral">Other</xsl:attribute>
<xsl:value-of select="'corpus'"/>
</xsl:element>
</xsl:when>
3. Enable DOIIdentifierProvider in Spring Config
Edit [dspace]/config/spring/api/identifier-service.xml and enable the necessary Spring beans:
<bean id="org.dspace.identifier.DOIIdentifierProvider"
class="org.dspace.identifier.DOIIdentifierProvider"
scope="singleton">
<property name="DOIConnector"
ref="org.dspace.identifier.doi.DOIConnector" />
</bean>
<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='mds.test.datacite.org'/>
<property name='DATACITE_DOI_PATH' value='/doi/' />
<property name='DATACITE_METADATA_PATH' value='/metadata/' />
<property name='disseminationCrosswalkName' value="DataCite" />
</bean>
**Note: **If you want to support versioning, use:
class="org.dspace.identifier.VersionedDOIIdentifierProvider"
4. Configure DOI Credentials and Settings
In local.cfg, add the following configuration with values appropriate to your DOI provider setup:
identifier.doi.user = your-username
identifier.doi.password = your-password
identifier.doi.prefix = 10.xxxx
identifier.doi.namespaceseparator = /
5. Set Up Cronjobs or Scheduled Tasks
To automate the DOI lifecycle, add the following to your crontab or scheduling tool:
[dspace]/bin/dspace doi-organiser -u -q # Update metadata
[dspace]/bin/dspace doi-organiser -s -q # Submit reservations
[dspace]/bin/dspace doi-organiser -r -q # Register DOIs
[dspace]/bin/dspace doi-organiser -d -q # Deactivate DOIs
-
Pre-registering DOIs (i.e., assigning a DOI before submission) is partially supported. The DOI can be preset, but reservation with the provider might not be triggered automatically.
-
If the DOI is properly registered, the pre-assigned DOI will be retained.
-
Only an administrator of the item can register its DOI.
-
DOI statuses are defined clearly in the official documentation and reflected in the DSpace source code.
-
You can monitor or modify DOI states directly in the
doidatabase table.
1. Item Creation
When a new item is created, a DOI is generated with status TO_BE_RESERVED.
2. Reservation Phase
doi-organiser -s reserves DOIs with the registration agency. Status updates to TO_BE_REGISTERED.
3. Registration Phase
doi-organiser -r registers the DOI. Status updates to IS_REGISTERED.
4. Finalization
Once registered, the DOI appears in the item’s metadata (e.g., under identifier.doi).
Getting Started
Features
- All Features — full categorised list
- CLARIN Licenses
- PIDs & Handles
- Featured Services / Refbox
- Field-Level Permissions
- File Previews
- Sharing a Submission
- Personal Access Tokens
- DOI Configuration per Community
- ROR Authority
Operations
- Kubernetes Deployment
- Samples (.env, Nginx)
- Nginx + Shibboleth
- Handle Server · Setup (v7)
- Shibboleth · DiscoJuice
- Shibboleth Accounts
- S3 Storage · CESNET S3
- Google Analytics
- Matomo
- Solr
- Logging
- Custom Namespace
- Health Report
For Users
Development
Reference
- Authorizations
- Metadata Info
- Citations (proposal)
- Repository Checklist
- Search, Browse & Filters
- Localization
- Importing Items (CLI)
- NFA Import - Steps
- OpenAIRE
- DOI Registration
- Inclusion in OLAC
- Unit Testing
- Deploy Checks
- Troubleshooting
- Versioning Theory
- Dynamic Resource Versioning
- Metashare Import · Schema
- Web Server Overview
- LINDAT Common Theme
- Workshop 2016 Results
- WebLicht Integration
- Google Dataset Search
Archive (v5 / stale)
- Old Home (v5)
- Installation (v5)
- Prerequisites (v5)
- Connecting Tomcat with Apache
- Using Apache
- Building Shibboleth FastCGI
- Shibboleth Install (v5)
- EUDAT Replication
- Backup (v5)
- Spring Social / Google Drive (v5)
- Clarin (→ Repository Checklist)
- Control Panel (v5)
- Overlays (v5)
- Configuration (v5)
- Speeding Up Downloads
- Debugging (v5)
- Selenium (v5)
- Code Contributions (v5)
- Best Practices (v5)
- Testing Hudson
- Working on Windows
- Prerequisites Checklist (v5)
- Migration to DSpace 7.2.1
- Upgrade From Lindat
- Piwik (→ Matomo) · Piwik Cleaning