Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Configuration File Syntax/Sources: All DSpace configurations are loaded via Properties files (using the Configuration File Syntax detailed above)
    • Note: Apache Commons Configuration does support other configuration sources such as XML configurations or database configurations (see its Overview documentation).  At this time, DSpace does not utilize these other sorts of configurations by default. However, it would be possible to customize your local config-definition.xml to load settings from other locations.
  • Configuration Files/Sources: By default, only two configuration files are loaded into Apache Commons Configuration for DSpace:
    • local.cfg (see The local.cfg Configuration Properties File documentation below)
    • dspace.cfg (NOTE: all modules/*.cfg are loaded by dspace.cfg via "include=" statements at the end of that configuration file. They are essentially treated as sub-configs which are embedded/included into the dspace.cfg)
  • Configuration Override Scheme: The configuration override scheme is defined as follows. Configurations specified in earlier locations will automatically override any later values:
    • System Properties (-D[setting]=[value]) override all other options
    • Environment Variables
      • DSpace provides a custom environment variable syntax as follows:
        • All periods (.) in configuration names must be translated to "__P__" (two underscores, capital P, two underscores), e.g. "dspace__P__dir" environment variable will override the "dspace.dir" configuration in local.cfg (or other *.cfg files)
        • All dashes (-) in configuration names must be translated to "__D__" (two underscores, capital D, two underscores), e.g. "authentication__D__ip__P__groupname" environment variable will override the "authentication-ip.groupname" configuration in local.cfg (or other *.cfg files)
    • local.cfg
    • dspace.cfg (and all modules/*.cfg files) contain the default values for all settings.
  • Configuration Auto-Reload: By default, all configuration files are automatically checked every 5 seconds for changes. If they have changed, they are automatically reloaded.

...

Many of the database configurations are software-dependent. That is, it will be based on the choice of database software being used. Currently, DSpace properly supports PostgreSQL and Oracle.

Note
titleOracle Support Deprecated - Will no longer be supported in 2023

Oracle support has been deprecated in DSpace. It will no longer be supported as of June/July 2023.  See https://github.com/DSpace/DSpace/issues/8214

We recommend all users install DSpace on PostrgreSQL (see above)


Property:

db.url

Example Value:

db.url

Property:

db.url

Example Value:

db.url = jdbc:postgresql://localhost:5432/dspace

Informational Note:

The above value is the default value when configuring with PostgreSQL. When using Oracle, use this value: jbdc.oracle.thin:@//host:port/dspace

Property:

db.username

Example Value:

db.username = dspace

Informational Note:

In the installation directions, the administrator is instructed to create the user "dspace" who will own the database "dspace".

Property:

db.password

Example Value:

db.password = dspacepassword

Informational Note:

This is the password that was prompted during the installation process (cf. 3.2.3. Installation)

Property:

db.schema

Example Value:

db.schema = public

Informational Note:

If your database contains multiple schemas, you can avoid problems with retrieving the definitions of duplicate objects by specifying the schema name here that is used for DSpace by uncommenting the entry. This property is optional.

For PostgreSQL databases, this is often best set to "public" (default schema).  For Oracle databases, the schema is usually equivalent to the username of your database account. So, for Oracle, this may be set to ${db.username} in most scenarios.

Property:

db.maxconnections

Example Value:

db.maxconnections = 30

Informational Note:

Maximum number of Database connections in the connection pool

Property:

db.maxwait

Example Value:

db.maxwait = 5000

Informational Note:

Maximum time to wait before giving up if all connections in pool are busy (in milliseconds).

Property:

db.maxidle

Example Value:

db.maxidle = -1

Informational Note:

Maximum number of idle connections in pool. (-1 = unlimited)

Property:

db.cleanDisabled

Example Value:

db.cleanDisabled = true

Informational Note:

This is a developer-based setting which determines whether you are allowed to run "./dspace database clean" to completely delete all content and tables in your database. This should always be set to "true" in Production to protect against accidentally deleting all your content by running that command. (Default is set to true)

...

Property:

mail.server

Example Value:

mail.server = smtp.my.edu

Informational Note:

The address on which your outgoing SMTP email server can be reached.

Property:

mail.server.username

Example Value:

mail.server.username = myusername

Informational Note:

SMTP mail server authentication username, if required. This property is optional.

Property:

mail.server.password

Example Value:

mail.server.password = mypassword

Informational Note:

SMTP mail server authentication password, if required. This property is optional.

Property:

mail.server.port

Example Value:

mail.server.port = 25

Informational Note:

The port on which your SMTP mail server can be reached. By default, port 25 is used. Change this setting if your SMTP mailserver is running on another port. This property is optional.

Property:

mail.from.address

Example Value:

mail.from.address = dspace-noreply@myu.edu

Informational Note:

The "From" address for email. Change the 'myu.edu' to the site's host name.

Property:

feedback.recipient

Example Value:

feedback.recipient = dspace-help@myu.edu

Informational Note:

When a user clicks on the feedback link/feature, the information will be sent to the email address of choice. This configuration is currently limited to only one recipient. This is also the email address displayed on the contacts page.

Property:

mail.admin

Example Value:

mail.admin = dspace-help@myu.edu

Example Value:

Email address of the general site administrator (Webmaster).  System notifications/reports and other sysadmin emails are sent to this email address.

Property:mail.admin.name
Example Value:mail.admin.name = DSpace Administrator
Example Value:Name associated with the mail.admin email address.

Property:

alert.recipient

Example Value:

alert.recipient = john.doe@myu.edu

Informational Note:

Enter the recipient for server errors and alerts. This property is optional and defaults to the ${mail.admin} setting

Property:

registration.notify

Example Value:

registration.notify = mike.smith@myu.edu

Informational Note:

Enter the recipient that will be notified when a new user registers on DSpace. This property is optional & defaults to no value.

Property:

mail.charset

Example Value:

mail.charset = UTF-8

Informational Note:

Set the default mail character set. This may be over-ridden by providing a line inside the email template '#set($charset = "encoding")'.  Otherwise this default is used.

Property:

mail.allowed.referrers

Example Value:

mail.allowed.referrers = localhost

Informational Note:

A comma separated list of hostnames that are allowed to refer browsers to email forms. This property is optional.  UNSUPPORTED in DSpace 7.0

Property:

mail.extraproperties

Example Value:


Code Block
# Example which can fix "Could not convert socket to TLS" errors (i.e. SMTP over TLS)
mail.extraproperties = mail.smtp.socketFactory.port=465587, \
           mail             mail.smtp.socketFactorystarttls.class=javax.net.ssl.SSLSocketFactoryenable=true, \
                    mail   mail.smtp.socketFactorystarttls.fallback=falserequired=true, \
                       mail.smtp.ssl.protocols=TLSv1.2

# Different example of using SSL for your Mail libary
mail.extraproperties = mail.smtp.socketFactory.port=465, \
       mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
       mail.smtp.socketFactory.fallback=false


Informational Note:

If you need to pass extra settings to the Java mail library. Comma separated, equals

Informational Note:

If you need to pass extra settings to the Java mail library. Comma separated, equals sign between the key and the value. This property is optional.

Property:

mail.server.disabled

Example Value:

mail.server.disabled = false

Informational Note:

An option is added to disable the mailserver. By default, this property is set to 'false'. By setting value to 'true', DSpace will not send out emails. It will instead log the subject of the email which should have been sent. This is especially useful for development and test environments where production data is used when testing functionality. This property is optional.

Property:

mail.session.name

Example Value:

mail.session.name = myDSpace

Informational Note:

Specifies the name of a javax.mail.Session object stored in JNDI under java:comp/env/mail.  The default value is "Session".

Property:

default.language

Example Value:

default.language = en_US

Informational Note:

If no other language is explicitly stated in the submission-forms.xml, the default language will be attributed to the metadata values.  See also Multilingual Support

Property:mail.message.headers
Example Value:

mail.message.headers = subject

mail.message.headers = charset

Informational Note:When processing a message template, setting a Velocity variable whose name is one of the values of this configuration property will add or replace a message header of the same name, using the value of the variable as the header's value.  See "Templates can set message headers".
Property:mail.welcome.enabled
Example Value:mail.welcome.enabled = true
Informational Note:Enable a "welcome letter" to the newly-registered user.  By default this is false.  See the welcome email template.

...

Property:

eperson.subscription.onlynew

Example Value:

eperson.subscription.onlynew = true

Informational Note:

For backwards compatibility, the subscription emails by default include any modified items. The property key is COMMENTED OUT by default.

Hiding Metadata

It is now possible to hide metadata from public consumption, so that is it's only available to users with WRITE permissions on the Administrator.Item.  (NOTE: Prior to 7.6.1, Administrator privileges were required for hidden metadata. This was modified to allow users to submit hidden metadata fields, as well as allow Community/Collection Admins to see hidden metadata.)

Property:

metadata.hide.dc.description.provenance

Property:

metadata.hide.dc.description.provenance

Example Value:

metadata.hide.dc.description.provenance = true

Informational Note:

Hides the metadata in the property key above except to the administrator. Fields named here are hidden in the following places UNLESS the logged-in user is an Administratorhas WRITE permissions on the Item:

  1. REST API (and therefore the UIUser Interface)
  2. RDF (everywhere as there is currently no possibility to authenticate)
  3. OAI-PMH server (everywhere as there is currently no possibility to authenticate)

To designate a field as hidden, add a property here in the form: metadata.hide.SCHEMA.ELEMENT.QUALIFIER = true. This default configuration hides the dc.description.provenance field, since that usually contains email addresses which ought to be kept private and is mainly of interest to administrators.

...

Property:

webui.licence_bundle.show

Example Value:

webui.licence_bundle.show = false

Informational Note:

Sets whether to display the contents of the license bundle (often just the deposit license in the standard DSpace installation). UNSUPPORTED in DSpace 7.0

Property:

thumbnail.maxwidth

Example Value:

thumbnail.maxwidth = 80

Informational Note:

This property sets the maximum width of generated thumbnails that are being displayed on item pages.

Property:

thumbnail.maxheight

Example Value:

thumbnail.maxheight = 80

Informational Note:

This property sets the maximum height of generated thumbnails that are being displayed on item pages.

Property:

webui.preview.maxwidth

Example Value:

webui.preview.maxwidth = 600

Informational Note:

This property sets the maximum width for the preview image.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.maxheight

Example Value:

webui.preview.maxheight = 600

Informational Note:

This property sets the maximum height for the preview image.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.brand

Example Value:

webui.preview.brand = My Institution Name

Informational Note:

This is the brand text that will appear with the image.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.brand.abbrev

Example Value:

webui.preview.brand.abbrev = MyOrg

Informational Note:

An abbreviated form of the full Branded Name. This will be used when the preview image cannot fit the normal text.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.brand.height

Example Value:

webui.preview.brand.height = 20

Informational Note:

The height (in px) of the brand.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.brand.font

Example Value:

webui.preview.brand.font = SansSerif

Informational Note:

This property sets the font for your Brand text that appears with the image.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.brand.fontpoint

Example Value:

webui.preview.brand.fontpoint = 12

Informational Note:

This property sets the font point (size) for your Brand text that appears with the image.  Only used for BrandedPreviewJPEGFilter

Property:

webui.preview.dc

Example Value:

webui.preview.dc = rights

Informational Note:

The Dublin Core field that will display along with the preview. This field is optional. Only used for BrandedPreviewJPEGFilter

Item Counts in user interface

Info

Available in 7.6 or later

Optionally, you can enable item counts to be displayed in the user interface for every Community and Collection.   This uses the same configuration that was in place for DSpace 6 and earlier.

Property:

webui.strengths.cacheshow

Example Value:

webui.strengths.cache show = false

Informational Note:

When showing the strengths (i.e. item counts), should they "true" this will display the count of archived items (in the User Interface's browse screens). By default this is "false" (disabled).  When enabled, the counts may be counted in real time, or fetched from the cache (see next option).

Property:

webui.strengths.cache

Example Value:

webui.strengths.cache = false

Informational Note:

When showing the strengths (i.e. item counts), should they be counted in real time, or fetched from the cache. Counts fetched in real time will perform an actual count of the index . Counts fetched in real time will perform an actual count of the index contents every time a page with this feature is requested, which may not scale. If you set the property key is set to cache ("true"), the counts will be cached on first load. UNSUPPORTED in DSpace 7.0

Browse Index Configuration

...

Property:

webui.browse.index.<n>

Example Value:

webui.browse.index.1 = dateissued:item:dateissued
webui.browse.index.2 = author:metadata:dc.contributor.*\,dc.creator:text

Informational Note:

This is an example of how one "Defines the Indexes". See "Defining the Indexes" in the next sub-section.

Property:

webui.itemlist.sort-option.<n>

Example Value:

webui.itemlist.sort-option.1 = title:dc.title:title

Informational Note:

This is an example of how one "Defines the Sort Options". See "Defining Sort Options" in the following sub-section.

...

Code Block
webui.browse.index.1 = dateissued:item:dateissued
webui.browse.index.2 = author:metadata:dc.contributor.*\,dc.creator:text
webui.browse.index.3 = title:item:title
webui.browse.index.4 = subject:metadata:dc.subject.*:text
#webui.browse.index.5 = dateaccessioned:item:dateaccessioned

...

Element

Definition and Options (if available)

webui.browse.index.<n>

n is the index number. The index numbers must start from 1 and increment continuously by 1 thereafter. Deviation from this will cause an error during install or a configuration update. So anytime you add a new browse index, remember to increase the number. (Commented out index numbers may be used over again).

<index-name>

The name by which the index will be identified. In order for the DSpace UI to display human-friendly description for this index, you'll need to update the UI's language packs (e.g. src/assets/i18n/en.json5) to include a key using this index name, for example:

  • browse.metadata.<index-name> = "MyField",
  • browse.metadata.<index-name>.breadcrumbs = "Browse by MyField",

(metadata|item)

Only two options are available: "metadata" or "item"

  • "metadata" indexes allow you to index all items based on one or more metadata fields. The list of fields should be provided as part of the "metadata" configuration. Only items which have values for these fields will appear in this index (e.g. if you have a "metadata" index for "dc.subject.*", an item will not appear in that browse/search if it doesn't have a "dc.subject.*" value). The browse index will have to parts: first it lists all values of the specified metadata fields. If the user select one of these values the index lists all items in which the specified metadata field is assigned with the selected value.
    • Note: If you set a <sort-type> to be used, this sort type is not used on the values of the metadata fields but on the order of the items when listing all items that have a specific value of the metadata field.
  • "item" indexes provide you with a browseable list of ALL items in the site, sorted by a particular metadata field. The field this index is sorted by is referenced by <sort-option-name> (which should refer to a corresponding "webui.itemlist.sort-option.<n>" setting... see Defining Sort Options below for more information)

<schema-prefix>

(Only for "metadata" indexes) The schema used for the field to be index.  First part of a metadata field name. The default is dc (for Dublin Core).

<element>

(Only for "metadata" indexes) The schema element.  Second part of a metadata field name. In Dublin Core, for example, the author element is referred to as "Contributor". The user should consult the default Dublin Core Metadata Registry table in Appendix A.

<qualifier>

(Only for "metadata" indexes) This is the qualifier to the <element> component.  Third part of a metadata field name. The user has two choices: an asterisk "*" or a proper qualifier of the element. The asterisk is a wildcard and causes DSpace to index all types of the schema element. For example, if you have the element "contributor" and the qualifier "*" then you would index all contributor data regardless of the qualifier. Another example, you have the element "subject" and the qualifier "lcsh" would cause the indexing of only those fields that have the qualifier "lcsh". (This means you would only index Library of Congress Subject Headings and not all data elements that are subjects.)

<sort-type>

(Optional, should be set for "item" indexes) This refers to the sort type / data type of the field:

  • date the index type will be treated as a date object and sorted as such
  • text the index type will be treated as plain text and sorted as such
  • (any other value refers to a custom <sort-type> which should be defined in a corresponding webui.itemlist.sort-option.<n> setting. See Defining Sort Options below for more information.)

<sort-order>

(Optional) The default sort order. Choose asc (ascending) or desc (descending).  Ascending is the default value, but descending may be useful for date-based indexes (e.g. to display most recent submissions first)

...

Element

Definition and Options (if available)

webui.itemlist.sort-option.<n>

n is an arbitrary number you choose.

<sort-type-name>

The name by which the sort option will be identified. This is the name by which it is referred in the "webui.browse.index" settings (see Defining the Indexes).

<schema-prefix>

The schema used for the field to be sorted on in the index. The default is dc (for Dublin Core).

<element>

The schema element. In Dublin Core, for example, the author element is referred to as "Contributor". The user should consult the default Dublin Core Metadata Registry table in Appendix A.

<qualifier>

This is the qualifier to the <element> component. The user has two choices: an asterisk "*" or a proper qualifier of the element.

<datatype>

This refers to the datatype of the field:
date the sort field will be treated as a date object
text the sort field will be treated as plain text.
title the sort field will be treated like a title, which will include a link to the item page

Hierarchical Browse Indexes

No configuration is necessary for hierarchical browse indexes (Browse by Subject Category). These are automatically generated based on the used controlled vocabularies in your submission forms. Default DSpace has one hierarchical browse index (Browse by Subject Category), since "srsc" is the only vocabulary used in the default submission-forms.xml.

Please note that when using another vocabulary, the UI's language packs (e.g. src/assets/i18n/en.json5) will need to be updated as well, e.g.:

  • "menu.section.browse_global_by_srsc": "By Subject Category"
  • "browse.metadata.srsc.breadcrumbs": "Browse by Subject Category"
  • "browse.comcol.by.srsc": "By Subject Category"

Starting with DSpace 7.6.1, these Hierarchical "Browse By" options can be disabled via the below configuration:

Property:webui.browse.vocabularies.disabled
Example Value:webui.browse.vocabularies.disabled = srsc
Informational Note:By default, all controlled vocabularies used within your submission forms (submission-forms.xml) will be enabled in the Browse By menu of the User Interface.  If you wish to disable any from display in the UI, you can list them in this configuration.  Multiple values can be comma separated (or this config can be repeated).  Changes to this configuration will not take effect until your servlet engine (e.g. Tomcat) is restarted.

Other Browse Options

We set other browse values in the following section.

...

Property:

websvc.opensearch.enable

Example Value:

webui.opensearch.enable = true

Informational Note:

By default, OpenSearch & Syndication feeds are set to true (on) . Change key to "false" to disable.  NOTE this setting affects OpenSearch Support as well

Property:

webui.feed.localresolve

Example Value:

webui.feed.localresolve = false

Informational Note:

By default, (set to false), URLs returned by the feed will point at the global handle resolver (e.g. http://hdl.handle.net/123456789/1). If set to true the local server URLs are used (e.g. http://myserver.myorg/handle/123456789/1).

Property:

webui.feed.item.title

Example Value:

webui.feed.item.title = dc.title

Informational Note:

This property customizes each single-value field displayed in the feed information for each item. Each of the fields takes a single metadata field. The form of the key is <scheme prefix>.<element>.<qualifier> In place of the qualifier, one may leave it blank to exclude any qualifiers or use the wildcard "*" to include all qualifiers for a particular element.

Property:

webui.feed.item.date

Example Value:

webui.feed.item.date = dc.date.issued

Informational Note:

This property customizes each single-value field displayed in the feed information for each item. Each of the fields takes a single metadata field. The form of the key is <scheme prefix>.<element>.<qualifier> In place of the qualifier, one may leave it blank to exclude any qualifiers or use the wildcard "*" to include all qualifiers for a particular element.

Property:

webui.feed.item.description

Example Value:


Code Block
webui.feed.item.description = dc.title, dc.contributor.author, \
           dc.contributor.editor, dc.description.abstract, \
           dc.description


Informational Note:

One can customize the metadata fields to show in the feed for each item's description. Elements are displayed in the order they are specified in dspace.cfg.Like other property keys, the format of this property key is: webui.feed.item.description = <scheme prefix>.<element>.<qualifier>. In place of the qualifier, one may leave it blank to exclude any qualifiers or use the wildcard "*" to include all qualifiers for a particular element.

Property:

webui.feed.item.author

Example Value:

webui.feed.item.author = dc.contributor.author

Informational Note:

The name of field to use for authors (Atom only); repeatable.

Property:

webui.feed.logo.url

Example Value:

webui.feed.logo.url = ${dspace.url}/themes/mysite/images/mysite-logo.png

Informational Note:

Customize the image icon included with the site-wide feeds. This must be an absolute URL.

Property:

webui.feed.item.dc.creator

Example Value:

webui.feed.item.dc.creator = dc.contributor.author

Informational Note:

This optional property adds structured DC elements as XML elements to the feed description. They are not the same thing as, for example, webui.feed.item.description. Useful when a program or stylesheet will be transforming a feed and wants separate author, description, date, etc.

Property:

webui.feed.item.dc.date

Example Value:

webui.feed.item.dc.date = dc.date.issued

Informational Note:

This optional property adds structured DC elements as XML elements to the feed description. They are not the same thing as, for example, webui.feed.item.description. Useful when a program or stylesheet will be transforming a feed and wants separate author, description, date, etc.

Property:

webui.feed.item.dc.description

Example Value:

webui.feed.item.dc.description = dc.description.abstract

Informational Note:

This optional property adds structured DC elements as XML elements to the feed description. They are not the same thing as, for example, webui.feed.item.description. Useful when a program or stylesheet will be transforming a feed and wants separate author, description, date, etc.

Property:

webui.feed.podcast.collections

Example Value:

webui.feed.podcast.collections = 1811/45183,1811/47223

Informational Note:

This optional property enables Podcast Support on the RSS feed for the specified collection handles. The podcast is iTunes compatible and will expose the bitstreams in the items for viewing and download by the podcast reader. Multiple values are separated by commas. For more on using/enabling Media RSS Feeds to share content via iTunesU, see: Enable Media RSS Feeds

Property:

webui.feed.podcast.communities

Example Value:

webui.feed.podcast.communities = 1811/47223

Informational Note:

This optional property enables Podcast Support on the RSS feed for the specified community handles. The podcast is iTunes compatible and will expose the bitstreams in the items for viewing and download by the podcast reader. Multiple values are separated by commas. For more on using/enabling Media RSS Feeds to share content via iTunesU, see: Enable Media RSS Feeds

Property:

webui.feed.podcast.mimetypes

Example Value:

webui.feed.podcast.mimetypes = audio/x-mpeg,application/pdf

Informational Note:

This optional property for Podcast Support, allows you to choose which MIME types of bitstreams are to be enclosed in the podcast feed. Multiple values are separated by commas. For more on using/enabling Media RSS Feeds to share content via iTunesU, see: Enable Media RSS Feeds

Property:

webui.feed.podcast.sourceuri

Example Value:

webui.feed.podcast.sourceuri = dc.source.uri

Informational Note:

This optional property for the Podcast Support will allow you to use a value for a metadata field as a replacement for actual bitstreams to be enclosed in the RSS feed. A use case for specifying the external sourceuri would be if you have a non-DSpace media streaming server that has a copy of your media file that you would prefer to have the media streamed from. For more on using/enabling Media RSS Feeds to share content via iTunesU, see: Enable Media RSS Feeds

OpenSearch Support

OpenSearch is a small set of conventions and documents for describing and using "search engines", meaning any service that returns a set of results for a query. See extensive description in the Business Layer section of the documentation.

Please note that RSS/Atom feeds require that OpenSearch is enabled to function.

...