Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Spelling/grammar corrections.

...

It is good practice to use Persistent Identifier Identifiers to address items in a digital repository. There are many different systems for Persistent Identifiers: Handle, DOI, urn:nbn, purl and many more. It is far out of the scope of this document to discuss the differences of all these systems. For several reasons the handle system is deeply integrated in DSpace and DSpace makes intensive use of it. With DSpace 3.0 the Identifier Service was introduced that makes it possible to use external identifier services within DSpace.

DOIs are Persistent Identifiers like handles are. But , but as many big publishing companies use DOIs they are quite well-known by to scientists. Some journals ask for DOIs to link supplemental material whenever an article is submitted. Beginning with DSpace 4.0 it is possible to use DOIs in parallel to the handle system within DSpace. By using DOIs we mean automatic generation, reservation and registration of DOIs for every item that gets published.

...

To register a DOI one has to enter into a contract with a DOI registration agency which is a member of the International DOI Foundation. Several such agencies exist. Different DOI registration agencies have different policies. Some of them offer DOI registration specially registration especially or only for academic institutions, others only for publishing companies. Most of the registration agencies charge fees for registering DOIs, and all of them have different rules describing for what kind of item a DOI can be registered. To make it quite clear: to register DOIs with DSpace you have to enter into a contract with a DOI registration agency.

DataCite is an international initiative to promote science and research and a member of the International DOI Foundation. The members of DataCite act as registration agencies for DOIs. Some DataCite members provide their own APIs to reserve and register DOIs, others let their clients use the DataCite API directly. Starting with version 4.0 DSpace supports the administration of DOIs by using the DataCite API directly or by using the API from EZID (which is a service of the University of California Digital Library). This means you can administrate DOIs with DSpace if your registration agency allows you to use the DataCite API directly or if your registration agency is EZID.

...

  • enter your DOI prefix and the credentials to use the API from DataCite in dspace.cfg,
  • configure the script which generates some metadata,
  • activate the DOI mechanism within DSpace,
  • configure a cron job which transmits the information about new and changed DOIs to the registration agency.

dspace.cfg

After you entered enter into a contract with an a DOI registration agency, they'll provide you with user credentials and a DOI prefix. You have to enter these in the dspace cfg. Here is a list of DOI configuration options in dspace.cfg:

Configuration File:[dspace]/config/dspace.cfg
Property:
identifier.doi.user
Example Value:
Code Block
identifier.doi.user = user123
Informational Note:Username to login into the API of the DOI registration agency. You'll get it from you your DOI registration agency.
Property:
identifier.doi.password
Example Value:
Code Block
identifier.doi.password = top-secret
Informational Note:Password to login into the API of the DOI registration agency. You'll get it from you your DOI registration agency.
Property:
identifier.doi.prefix
Example Value:
Code Block
identifier.doi.prefix = 10.5072
Informational Note:The prefix you got from the DOI registration agency. All your DOIs start with the this prefix, followed by a slash and a suffix generated from DSpace. The prefix can be compared with a namespace within the DOI system.
Property:
identifier.doi.namespaceseparator
Example Value:
Code Block
identifier.doi.namespaceseparator = dspace-
Informational Note:This property is optional. If you want to use the same DOI prefix in several DSpace installations or with other tools that generate and register DOIs it is necessary to use a namespace separator. All the DOIs that DSpace generates will start with the DOI prefix, followed by a slash, the namespace separator and some number generated by DSpace. For example, if your prefix is 10.5072 and you want all DOIs generated by DSpace to look like 10.5072/dspace-1023 you have to set this as in the example value above.

Metadata conversion

To reserve or register a DOI, DataCite requests metadata from requires that metadata be supplied that describes the object the DOI addresses. It is mandatory to send those to reserve and register a DOI. The file [dspace]/config/crosswalks/DIM2DataCite.xsl controls the conversion of metadata from the DSpace internal format into the DataCite format. You have to add the name of your institution into this file:

...

Please pay attention to configure the property DATACITE_HOST. Per default it is set to the DataCite test server. To reserve real DOIs you will probably will have to change it to mds.datacite.org. Ask your registration agency , if you're not sure about the correct address.

DSpace should send updates to DataCite whenever the metadata of an item changes. To do so you have to change the dspace.cfg again. You should remove the comments in front of the two following properties or add them to the dspace.cfg:

...

The command line interface in general is documented here: Command Line Operations. The command that takes care used for DOIs is 'doi-organiser'. You can use the following options:

Option (short)Option (long)ParameterDescription
-d--delete-all Transmit information to the DOI registration agency about all DOIs that were deleted.
 --delete-doiDOITransmit information to the DOI registration agency that the specified DOI was deleted. The DOI must be marked for deletion before, ; you cannot use this command to delete a DOI for an exisiting item.
-h--help Print online help.
-l--list List all DOIs whose changes were not commited committed to the registration agency yet.
-q--quiet 

The doi-organiser sends error reports to the mail address configured in the property alert.recipient in dspace.cfg. If you use this option no output should be given to stdout. If you do not use this option the doi-organiser puts information about successful and unsuccessful operations to stdout and stderr. You can find information in dspace.log of course.

-r--register-all Transmit information about all DOIs that should be registered.
 --register-doi

DOI | ItemID | handle

If a DOI is marked for registration you can trigger the registration at the DOI registration agency by this command. Specify either the DOI, the ID of the item, or its handle.
-s--reserve-all Transmit information about all DOIs that should be reserved to the DOI registration agency.
 --reserve-doiDOI | ItemID | handleIf a DOI is marked for registration you can trigger the registration at the DOI registration agency by this command. Specify either the DOI, the ID of the item, or its handle.
-u--update-all If a DOI is reserved for an item, the metadata of the item will be sent to DataCite. This command transmits new metadata for items whose metadata were changed since the DOI was reserved.
 --update-doiDOI | ItemID | handleIf a DOI needs an update of the metadata of the item it belongs to, you can trigger this update with this command. Specify either the DOI, the ID of the item, or its handle.

Currently you cannot generate new DOIs with this tool. You can only can send information about changes in your local DSpace database to the registration agency.

...

When a DOI should be reserved, registered, deleted or its metadata needs to be updated, DSpace just writes this information into its local database. A command line interface is supplied to send the necessary information to the registration agency. This behaviour behavior makes it easier to react on to outages or errors while using the API. As these this information should be send sent regularly, so it is a good idea to let this done by set up a cron job instead of doing it manually.

...

In DSpace, a DOI can have the state "registered", "reserved", "to be reserved", "to be registered", "needs update", "to be deleted", or "deleted". After an updating an items item's metadata the state of its assigned DOI is set back to the last state it had before. So f, e.eg., if a DOI has the state "to be registered" and the metadata of its item changedchanges, it will be set to the state "needs update". After the update is performed its state is set to "to be registered" again. In cause Because of this behaviour behavior the order of the commands above matters: The the update command must be executed before every other of the commands above.

...

The doi-organiser sends error messages as email and logs some additional information. The option -q tells DSpace to be quiet. If you don't use this option the doi-organiser will print messages to stdout about every DOI it successfully reserved, registered, updated , or deleted. Using a cron job these messages would be send sent as email to you.

In case of an error, consult the log messages. If there is an outage of the API of your registration agency, DSpace will not change the state of the DOIs so that it will do everything necessary when the cron job starts the next time and the API is reachable again.

...