Hello together,
we have a DataCite membership and doi registration to our fabrica test environment just worked fine with the configurations set like described in https://wiki.lyrasis.org/display/DSDOC7x/DOI+Digital+Object+Identifier. We use the DataCite API directly. some weeks ago we updated up to version 7.6.1-SNAPSHOT (because of the "browse by subject group" bugfix). I also updated all necessary configuration files regarding the doi registration process: - config/dspace.cfg (everything in "DOI registration agency credential" as well as "crosswalk.dissemination.DataCite.publisher") - config/spring/api/identifier-service.xml (see attachment) - config/item-submission.xml (only for showing pending dois in the submission form) - config/modules/identifiers.cfg (see attachment) By submission a doi is created in the following syntax: 10.87220/x (x = serial number, e.g. 10.87220/7 etc.) Now our doi registration has some strange behaviors and I don’t understand where they come from: 1. The status of the doi doesn't switch automatically from "pending" to "Queued for registration" when a new submission is accepted by admin. (Before the update to 7.6.1, this was the case). 2. So I enabled „registering doi from admin“ to manually set the status "Queued for registration" in the status tab of the item via "identifiers.item-status.register-doi = true" in config/modules/identifiers.cfg. 3. Now, with some items with doi status "queued for registration" (database: 1), I used the typical dspace commands „./dspace doi-organiser -u/-s/-r/-d“, but in command –r (register) an error occured: It wasn't possible to register this identifier: doi:10.82770/7 Exception: Database table DOI contains a DOI that is not valid: doi:10.82770/7! java.lang.IllegalStateException: Database table DOI contains a DOI that is not valid: doi:10.82770/7! at (...) How is 10.82770/7 not valid? DSpace did register all dois with that syntax just fine before the dspace version update. 4. So I concluded that the registration didn’t work. Yet here the funny thing is: I looked up our datacite fabrica test environment at https://doi.test.datacite.org/ and there a new item with doi 10.82770/7 actually found its way to the registered dois. So DSpace did send the doi to DataCite. BUT in our dspace database at table doi, the doi 10.82770/7 STILL has status 1 instead of 3 (1 = queued for registration, 3 = registered) and no doi was written into the metadata (dc.identifier). Does anyone know how this can happen and which configuration file I need to change? Thank you very much! Kind regards, Matthias -- All messages to this mailing list should adhere to the Code of Conduct: https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx --- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/9bc03cb4-0167-4891-9283-8d1f0a23585cn%40googlegroups.com.
<?xml version="1.0" encoding="UTF-8"?> <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.service.IdentifierService" class="org.dspace.identifier.IdentifierServiceImpl" autowire="byType" scope="singleton"/> <!-- If you enabled versioning, you should use one of the versioned handle identifier provider instead of the default one. The VersionedHandleIdentifierProvider creates a new versioned handle for every new version. --> <!-- <bean id="org.dspace.identifier.HandleIdentifierProvider" class="org.dspace.identifier.VersionedHandleIdentifierProvider" scope="singleton"> <property name="configurationService" ref="org.dspace.services.ConfigurationService"/> </bean> --> <!-- The VersionedHandleIdentifierProviderWithCanonicalHandles preserves the first handle for every new version. Whenever a new version is created the previous version gets a new handle. This leads to a handle that points always to the newest version, but there is no permanent handle, that will always keep pointing to the acutal newest one. --> <!-- <bean id="org.dspace.identifier.HandleIdentifierProvider" class="org.dspace.identifier.VersionedHandleIdentifierProviderWithCanonicalHandles" 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 handles all API calls to your DOI registration agency. Please configure a DOIConnector as well! --> <!-- In order to mint DOIs with DSpace, get an agreement with a DOI registration agency, take a look into dspace.cfg, and activate either the DOIIdentifierProvider or the VersionedDOIIdentifierProvider, depending on whether you have Item Level Versioning activated or not. --> <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> <!-- <bean id="org.dspace.identifier.DOIIdentifierProvider" class="org.dspace.identifier.VersionedDOIIdentifierProvider" scope="singleton"> <property name="configurationService" ref="org.dspace.services.ConfigurationService" /> <property name="DOIConnector" ref="org.dspace.identifier.doi.DOIConnector" /> </bean> --> <!-- An optional logical item filter can be included in provider configuration based on the filters defined in item-filters.xml, eg. --> <!-- <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" /> <property name="filter" ref="doi-filter" /> </bean> --> <!-- The DOIConnector will handle the API calls to your DOI registration agency for the DOIIdentifierProvider. If your registration agency tells you to use the DataCite 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. e.g. EZID is part of DataCite but provides their own APIs. The following DataCiteConnector won't work if EZID is your registration agency. --> <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> <!-- Provider to mint and register DOIs using EZID as the registrar. --> <!-- Set generateDataciteXML to true to send metadata in DataCite xml schema for EZID DOI mint requests. When generateDataciteXML is enabled, EZIDIdentifierProvider uses dspace.cfg:crosswalk.dissemination.DataCite.stylesheet XSL configuration for metadata mapping --> <!-- 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='ezid.cdlib.org'/> <property name='EZID_PATH' value=''/> </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> <property name='generateDataciteXML' value='false'/> <property name='disseminationCrosswalkName' value='DataCite'/> </bean> --> </beans>
#----------------------------------------------------------------------# #---------------------IDENTIFIER CONFIGURATIONS------------------------# #----------------------------------------------------------------------# # These configs are used for additional identifier configuration such # # as the Show Identifiers step which can "pre-mint" DOIs and Handles # #----------------------------------------------------------------------# # Should configured identifiers (eg handle and DOI) be minted for (future) registration at workspace item creation? # A handle created at this stage will act just like a regular handle created at archive time. # A DOI created at this stage will be in a 'PENDING' status while in workspace and workflow. # At the time of item install, the DOI filter (if any) will be applied and if the item matches the filter, the DOI # status will be updated to TO_BE_REGISTERED. An administrator can also manually progress the DOI status, overriding # any filters, in the item status page. # This option doesn't require the Show Identifiers submission step to be visible. # Default: false identifiers.submission.register = true # This configuration property can be set to a filter name to determine if a PENDING DOI for an item # should be queued for registration. If the filter doesn't match, the DOI will stay in PENDING or MINTED status # so that the identifier itself persists in case it is considered for registration in the future. # See doi-filter and other example filters in item-filters.xml. # Default (always_true_filter) identifiers.submission.filter.install = doi-filter # This optional configuration property can be set to a filter name, in case there are some initial rules to apply # when first deciding whether a DOI should be be created for a new workspace item with a PENDING status. # This filter is only applied if identifiers.submission.register is true. # This filter is updated as submission data is saved. # Default: (always_true_filter) identifiers.submission.filter.workspace = always_true_filter # If true, the workspace filter will be applied as submission data is saved. If the filter no longer # matches the item, the DOI will be shifted into a MINTED status and not displayed in the submission section. # If false, then once a DOI has been created with PENDING status it will remain that way until final item install # Default: true identifiers.submission.strip_pending_during_submission = true # This configuration property can be set to a filter name to determine if an item processed by RegisterDOI curation # task should be eligible for a DOI identifiers.submission.filter.curation = always_true_filter # Show Register DOI button in item status page? # Default: false # This configuration property is exposed over rest. For dspace-angular to work, # this property must always have a true or false value. Do not comment it out! identifiers.item-status.register-doi = true # Which identifier types to show in submission step? # Default: handle, doi (currently the only supported identifier 'types') identifiers.submission.display = handle identifiers.submission.display = doi