
Two broad categories of entities are available in DSpace.
Research Entities – These include Publication, Project, Person and OrgUnit
Journal Entities – These include Journal, Journal Volume, Journal Issue and Publication.
These Entities are defined in config/entities/relationship-types.xml
Enabling Entities
By default, entities are not enabled in dspace. To enable them, run the following command from the server deployment directory.
sudo bin/dspace initialize-entities -f config/entities/relationship-types.xml
This command will read the entities information from the file relationship-types.xml and store in the database. If an entity already exists, it will be updated with any new changes in the relationship-types.xml file.
Convert DSpace Items to Publication Entities
Each item on dspace should be converted to an Entity Type, in the default case, the entity type is Publication. An item is converted by adding a new metadata field called dspace.entity.type. Existing dspace items can be converted to Publication Entities using bulk metadata editing. Export items metadata using the web interface or via the command line. Remove all other metadata columns from the csv file except the id column. Introduce a new column dspace.entity.type. Fill all values for this column as Publication. Upload the edited file and save to add the new metadata field to all the items.

Convert Collections for Publication Entity Type
Edit all collections that you want to use the Publication Entity type. The collection editing form will have a filed for Entity Type as a drop down for you to select the Entity Type. Save and proceed

Map Submission Forms to Each Entity
Inside [dspace]/config/item-submission.xml
, uncomment the following lines
<name-map collection-entity-type="Publication" submission-name="Publication"/>
<name-map collection-entity-type="Person" submission-name="Person"/>
<name-map collection-entity-type="Project" submission-name="Project"/>
<name-map collection-entity-type="OrgUnit" submission-name="OrgUnit"/>
<name-map collection-entity-type="Journal" submission-name="Journal"/>
<name-map collection-entity-type="JournalVolume" submission-name="JournalVolume"/>
<name-map collection-entity-type="JournalIssue" submission-name="JournalIssue"/>
Restart tomcat for the changes to take effect
Add Extra Fields to the Person Entity
Inside [dspace]/config/submission-forms.xml
, find perstonStep section and modify/add extra fields as desired.
Restart tomcat for the changes to take effect.
Enable ORCID Integration
For testing environment, obtain ORCID API’s Client ID
and Client Secret
from https://sandbox.orcid.org/developer-tools . The sandbox environment only works with mailnator emails which can be obtained from https://www.mailinator.com/verified-pro for free.
For production, obtain ORCID API’s Client ID
and Client Secret
from https://orcid.org/developer-tools
Then edit [dspace]/config/modules/orcid.cfg
and provide the Client ID and Client Secret as shown below
orcid.api-url = https://api.orcid.org/v3.0
orcid.public-url = https://pub.orcid.org/v3.0
orcid.application-client-id = <YOUR-PRODUCTION-ORCID-CLIENT-ID>
orcid.application-client-secret = <YOUR-PRODUCTION-ORCID-CLIENT-SECRET>
orcid.scope = /authenticate
orcid.synchronization-enabled = true
Enable ORCID Authentication
Edit [dspace]/config/modules/authentication.cfg
and ensure the following line is uncommented
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.OrcidAuthentication
Add orcid to the list of even consumers in [dspace]/config/local.cfg
as shown below. Locate the line and add orcidqueue at the end. This helps to keep track of what needs to be sync between DSpace and ORCID.
event.dispatcher.default.consumers = versioning, discovery, eperson, orcidqueue