Skip to main content
Version: 2.x (upcoming)

Deposit services

These are the settings of the five shipped deposit services. Every deposit service also reads the settings common to all plugin services: IDP_ISSUER_URI, IDP_CLAIMS_ROLES_PATH, and SECURITY_AUDIENCE for authentication, PROFILE, the logging settings, and STORAGE_PATH. To make a deposit service available, register it in the API service with a PDF and an RDA JSON transformer; see Registering plugin services.

Installation values are fallbacks

The credentials and record defaults configured here belong to the installation. Each organisation can set its own in the repository's settings (Settings > Plugins > the repository > Configure; see Plugins: repositories), and the values here apply only where the organisation sets none:

  • Credentials: a deposit under the organisation's account uses the organisation's Access token (or Username and Password) when set, and otherwise the installation's access token, username, or password below. A deposit under a user's own account uses only the user's credentials and never falls back to the organisation's or the installation's.
  • Record defaults, such as the Zenodo community, the DSpace collection, or the Dataverse collection: the organisation's value when set, and otherwise the value below. A value set in a blueprint or asset template through a semantic still takes precedence over both.

See Publishing accounts and files for how users choose the account.

Every deposit service also needs the address of the installation:

Env VariableDescriptionRequiredDefault ValueExample
OPENCDMP_DOMAINAddress of the OpenCDMP installation, with a trailing slash. The deposited record links back to the plan's public page under it (<OPENCDMP_DOMAIN>explore-plans/overview/public/<plan-id>).Yes-https://opencdmp.example.org/

Zenodo​

This service publishes to Zenodo or another InvenioRDM instance. Image opencdmp/repository-deposit-zenodo on Docker Hub, plugin id zenodo.

The Zenodo deposit service supports three ways to authenticate:

  1. Installation access token: a personal access token created on Zenodo, set in DEPOSIT_ZENODO_ACCESS_TOKEN. It is used for deposits under the organisation's account in every organisation that sets no Access token of its own.
  2. OAuth 2.0, per user: each user signs in to Zenodo. This needs a developer application on Zenodo and DEPOSIT_ZENODO_CLIENT_ID, DEPOSIT_ZENODO_CLIENT_SECRET, and DEPOSIT_ZENODO_REDIRECT_URL.
  3. User profile settings: users store their personal Zenodo access token in their OpenCDMP profile settings, or type it in the publish dialog. The token is read at deposit time and stays valid until the user changes it.

See the Zenodo authentication documentation for details.

Zenodo API​

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_ZENODO_URLZenodo REST API URL.Nohttps://zenodo.org/api/https://sandbox.zenodo.org/api/
DEPOSIT_ZENODO_RECORD_URLAddress of a deposited record. {doi_id} is replaced with the identifier.Nohttps://zenodo.org/doi/{doi_id}https://sandbox.zenodo.org/doi/{doi_id}
DEPOSIT_ZENODO_ACCESS_TOKENAccess token of the installation's Zenodo account. Used for deposits under the organisation's account when the organisation sets no Access token.Yes¹-<zenodo-access-token>

¹ Required unless every organisation sets its own token or only OAuth 2.0 is used.

Zenodo OAuth 2.0​

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_ZENODO_REDIRECT_URLAddress that Zenodo redirects users back to after they sign in. The webapp route is spelled code-callaback; use it exactly as shown.Yes²-https://opencdmp.example.org/deposit/oauth2/code-callaback
DEPOSIT_ZENODO_AUTHORIZATION_URLZenodo authorization endpoint.Nohttps://zenodo.org/oauth/authorizehttps://sandbox.zenodo.org/oauth/authorize
DEPOSIT_ZENODO_ACCESS_TOKEN_URLZenodo token endpoint.Nohttps://zenodo.org/oauth/tokenhttps://sandbox.zenodo.org/oauth/token
DEPOSIT_ZENODO_CLIENT_IDClient id of the developer application on Zenodo.Yes²-<zenodo-client-id>
DEPOSIT_ZENODO_CLIENT_SECRETClient secret of that application.Yes²-<zenodo-client-secret>

² Required only for OAuth 2.0.

Zenodo record defaults​

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_ZENODO_COMMUNITY_IDZenodo community that records are submitted to. Used when the organisation sets no Community.No-<community-id>
DEPOSIT_ZENODO_RESOURCE_TYPE_IDResource type of a deposited plan. Used when the organisation sets no Resource type.Nopublication-datamanagementplanpublication-datamanagementplan
DEPOSIT_ZENODO_PUBLISHER_NAMEPublisher of the record. Used when the organisation sets no Publisher.NoZenodoMy University
DEPOSIT_ZENODO_AFFILIATIONAffiliation of the record's creators. Used when the organisation sets no Affiliation.No-OpenCDMP
DEPOSIT_ZENODO_SUPPORTS_PREVIEWLet users review and edit the metadata before depositing. See Deposit preview and metadata review.Notruetrue

Zenodo plugin settings​

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_ZENODO_USE_SHARED_STORAGESee Shared storage.Nofalsetrue
DEPOSIT_ZENODO_HAS_LOGOShow the Zenodo logo.Notruetrue
DEPOSIT_ZENODO_LOGO_PATHImage of the logo.Noclasspath:zenodo.jpgfile:/config/zenodo.png
DEPOSIT_ZENODO_ORGANIZATIONS_CODECode of the reference type of organisations.Noorganisationsorganisations
DEPOSIT_ZENODO_GRANTS_CODECode of the reference type of grants.Nograntsgrants
DEPOSIT_ZENODO_FUNDERS_CODECode of the reference type of funders.Nofundersfunders
DEPOSIT_ZENODO_RESEARCHERS_CODECode of the reference type of researchers.Noresearchersresearchers
DEPOSIT_ZENODO_LICENCES_CODECode of the reference type of licences.Nolicenseslicenses
DEPOSIT_ZENODO_PROJECTS_CODECode of the reference type of projects.Noprojectsprojects
DEPOSIT_ZENODO_DATASETS_CODECode of the reference type of datasets.Nodatasetsdatasets
DEPOSIT_ZENODO_PUBLICATIONS_CODECode of the reference type of publications.Nopublicationspublications

The *_CODE variables are described in Reference type codes.

DSpace​

This service publishes to DSpace. Image opencdmp/repository-deposit-dspace on Docker Hub, plugin id dspace. It has no metadata preview.

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_DSPACE_URLDSpace REST API URL.Nohttps://dspace.org/server/api/https://dspace.example.org/server/api/
DEPOSIT_DSPACE_RECORD_URLAddress of a deposited item. {doi_id} is replaced with the identifier.Nohttps://dspace.org/handle/{doi_id}https://dspace.example.org/handle/{doi_id}
DEPOSIT_DSPACE_USERNAMEUsername of the installation's DSpace account. Used for deposits under the organisation's account when the organisation sets no Username and Password.Yes-opencdmp@example.org
DEPOSIT_DSPACE_PASSWORDPassword of that account.Yes-<dspace-password>
DEPOSIT_DSPACE_COLLECTION_IDDSpace collection that items are stored in. Used when the organisation sets no Collection.Yes-51715dd3-5590-49f2-b227-6a663c849921
DEPOSIT_DSPACE_TYPEType of the deposited items (see the DSpace REST documentation). Used when the organisation sets no Default item type.NoDatasetDataset
DEPOSIT_DSPACE_USE_SHARED_STORAGESee Shared storage.Nofalsetrue
DEPOSIT_DSPACE_HAS_LOGOShow the DSpace logo.Notruetrue
DEPOSIT_DSPACE_LOGO_PATHImage of the logo.Noclasspath:dspace.pngfile:/config/dspace.png

CKAN​

This service publishes to CKAN. Image opencdmp/repository-deposit-ckan on Docker Hub, plugin id ckan.

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_CKAN_URLCKAN action API URL.Yes-https://ckan.example.org/api/3/action/
DEPOSIT_CKAN_RECORD_URLAddress of a deposited dataset. {doi_id} is replaced with the identifier.Yes-https://ckan.example.org/dataset/{doi_id}
DEPOSIT_CKAN_ACCESS_TOKENAPI token of the installation's CKAN account. Used for deposits under the organisation's account when the organisation sets no Access token.Yes-<ckan-access-token>
DEPOSIT_CKAN_ORGANIZATION_IDCKAN organization that datasets are stored in. Used when the organisation sets no Organisation in the CKAN record settings.Yes-51715dd3-5590-49f2-b227-6a663c849921
DEPOSIT_CKAN_SUPPORTS_PREVIEWLet users review and edit the metadata before depositing. See Deposit preview and metadata review.Notruetrue
DEPOSIT_CKAN_USE_SHARED_STORAGESee Shared storage.Nofalsetrue
DEPOSIT_CKAN_HAS_LOGOShow the CKAN logo.Notruetrue
DEPOSIT_CKAN_LOGO_PATHImage of the logo.Noclasspath:ckan.pngfile:/config/ckan.png
DEPOSIT_CKAN_LICENCES_CODECode of the reference type of licences.Nolicenseslicenses
DEPOSIT_CKAN_ORGANIZATIONS_CODECode of the reference type of organisations.Noorganisationsorganisations

Dataverse​

This service publishes to Dataverse. Image opencdmp/repository-deposit-dataverse on Docker Hub, plugin id dataverse.

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_DATAVERSE_URLDataverse REST API URL.Yes-https://dataverse.example.org/api/
DEPOSIT_DATAVERSE_RECORD_URLAddress of a deposited dataset. {doi_id} is replaced with the identifier.Yes-https://dataverse.example.org/dataset.xhtml?persistentId={doi_id}
DEPOSIT_DATAVERSE_ACCESS_TOKENAPI token of the installation's Dataverse account. Used for deposits under the organisation's account when the organisation sets no Access token.Yes-<dataverse-access-token>
DEPOSIT_DATAVERSE_HOSTAlias of the Dataverse collection that datasets are created in. Used when the organisation sets no Dataverse collection.Yes-opencdmp-plans
DEPOSIT_DATAVERSE_DEFAULT_SUBJECTSubject of the dataset. Used when the organisation sets no Default subject.No-Other
DEPOSIT_DATAVERSE_SPECIFIED_METADATA_LANGUAGEMetadata language, for Dataverse installations that require one. Used when the organisation sets no Metadata language.No-en
DEPOSIT_DATAVERSE_SUPPORTS_PREVIEWLet users review and edit the metadata before depositing. See Deposit preview and metadata review.Notruetrue
DEPOSIT_DATAVERSE_USE_SHARED_STORAGESee Shared storage.Nofalsetrue
DEPOSIT_DATAVERSE_HAS_LOGOShow the Dataverse logo.Notruetrue
DEPOSIT_DATAVERSE_LOGO_PATHImage of the logo.Noclasspath:dataverse.pngfile:/config/dataverse.png
DEPOSIT_DATAVERSE_LICENCES_CODECode of the reference type of licences.Nolicenseslicenses
DEPOSIT_DATAVERSE_ORGANIZATIONS_CODECode of the reference type of organisations.Noorganisationsorganisations
DEPOSIT_DATAVERSE_FUNDERS_CODECode of the reference type of funders.Nofundersfunders
DEPOSIT_DATAVERSE_GRANTS_CODECode of the reference type of grants.Nograntsgrants
DEPOSIT_DATAVERSE_RESEARCHERS_CODECode of the reference type of researchers.Noresearchersresearchers

Fedora​

This service publishes to a Fedora repository. Image opencdmp/repository-deposit-fedora on Docker Hub, plugin id fedora.

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_FEDORA_URLFedora REST API URL.Yes-https://fedora.example.org/fcrepo/rest/
DEPOSIT_FEDORA_RECORD_URLAddress of a deposited record. {doi_id} is replaced with the identifier.Yes-https://fedora.example.org/fcrepo/rest/{doi_id}
DEPOSIT_FEDORA_USERNAMEUsername of the installation's Fedora account. Used for deposits under the organisation's account when the organisation sets no Username and Password.Yes-opencdmp
DEPOSIT_FEDORA_PASSWORDPassword of that account.Yes-<fedora-password>
DEPOSIT_FEDORA_COLLECTION_IDContainer, under the repository URL, that new records are created in, such as plans/opencdmp. It must already exist. Used when the organisation sets no Container; when both are empty, records are created at the repository root.No-plans/opencdmp
DEPOSIT_FEDORA_SUPPORTS_PREVIEWLet users review and edit the metadata before depositing. See Deposit preview and metadata review.Notruetrue
DEPOSIT_FEDORA_USE_SHARED_STORAGESee Shared storage.Nofalsetrue
DEPOSIT_FEDORA_HAS_LOGOShow the Fedora logo.Notruetrue
DEPOSIT_FEDORA_LOGO_PATHImage of the logo.Noclasspath:fedora.pngfile:/config/fedora.png

See also​