Versions Compared

Key

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

...

  • [dspace]/config/dspace.cfg : The primary configuration file, which contains the main configurations for DSpace.
  • [dspace]/config/modules/*.cfg : Module configuration files, which are specific to various modules/features within DSpace.
  • [dspace]/config/local.cfg : A (optional, but highly recommended) localized copy of configurations/settings specific to your DSpace (see The local.cfg Configuration Properties File below)
  • Additional feature-specific configuration files also exist under [dspace]/config/, some of these include:

As most of these configurations are detailed in other areas of the DSpace documentation (see links above), this section concentrates primarily on the "*.cfg" configuration files (namely dspace.cfg and local.cfg).

...

Info
titlebuild.properties has been replaced by local.cfg

As of DSpace 6 and above, the old "build.properties" configuration file has been replaced by this new "local.cfg" configuration file.  For individuals who are familiar with the old build.properties file, this new local.cfg differs in a few key ways:

  • Unlike build.properties, the local.cfg file can be used to override ANY setting in any other configuration file (dspace.cfg or modules/*.cfg).  To override a default setting, simply copy the configuration into your local.cfg and change its value(s).
  • Unlike build.properties, the local.cfg file is not utilized during the compilation process (e.g. mvn package). But, it is automatically copied alongside the final dspace.cfg into your installation location ([dspace]/config/), where it overrides default DSpace settings with your locally specific settings at runtime.
  • Like build.properties, the local.cfg file is expected to be specified in the source directory by default ([dspace-source]). There is an example ([dspace-source]/dspace/config/local.cfg.EXAMPLE) provided which you can use to create a [dspace-source]/dspace/config/local.cfg.

...

Warning
titleMany configurations have changed names between DSpace 5 (and below) and DSpace 6

If you are upgrading from an earlier version of DSpace, you will need to be aware that many configuration names/keys have changed. Because Apache Commons Configuration allows for auto-overriding of configurations, all configuration names/keys in different *.cfg files MUST be uniquely named (otherwise accidental, unintended overriding may occur).

In order to create this powerful ability to override configurations in your local.cfg, all modules/*.cfg files had their configurations renamed to be prepended with the module name.  As a basic example, all the configuration settings within the modules/oai.cfg configuration now start with "oai.".

Additionally, while the local.cfg may look similar to the old build.properties, many of its configurations have slightly different names. So, simply copying your build.properties into a local.cfg will NOT work.

This means that DSpace 5.x (or below) configurations are NOT guaranteed compatible with DSpace 6.  While you obviously can use your old configurations as a reference, you will need to start with fresh copy of all configuration files, and reapply any necessary configuration changes (this has always been the recommended procedure). However, as you'll see below, you'll likely want to do that anyways in order to take full advantage of the new local.cfg file.

As of DSpace 6, it is now It is possible to easily override default DSpace configurations (from dspace.cfg or modules/*.cfg files) in your own local.cfg configuration file.

...

Code Block
# This is a simple example local.cfg file which shows off options
# for creating your own local.cfg

# This overrides the default value of "dspace.dir" in dspace.cfg
dspace.dir = C:/dspace/

# This overrides the default value of "dspace.server.baseUrlurl" in dspace.cfg
dspace.server.baseUrlurl = httphttps://dspace.myuniversity.edu/server

# The overrides the default "dspace.ui.url" setting it to the same value as my "baseUrl" above
dspace.ui.url = ${https://dspace.baseUrl}myuniversity.edu  

# If our database settings are the same as the default ones in dspace.cfg, 
# then, we may be able to simply customize the db.username and db.password
db.username = myuser
db.password = mypassword

# For DSpace, we want the LDAP and Password authentication plugins enabled
# This overrides the default AuthenticationMethod in /config/modules/authentication.cfg
# Since we specified the same key twice, these two values are appended (see Configuration File Syntax above)
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.LDAPAuthentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.PasswordAuthentication

# ForWe thealso example, we'll override the default oai.url in /config/modules/oai.cfg
oai.url = ${dspace.baseUrl}/oaipmh

# We'll also override the default oai.can reference other configurations in values.
# For instance, we can set the "mail.admin" and the "feedback.recipient" to be the same email
mail.admin = myemail@myuniversity.edu
feedback.recipient = ${mail.admin}

# For the example, we'll override the default oai.path in /config/modules/oai.cfg
# This puts our OAI-PMH interface at ${dspace.server.url}/oaipmh
oai.path = oaipmh

# We'll also override the default oai.solr.url in /config/modules/oai.cfg
# Notice here we're referencing a configuration (solr.server) that only exists in dspace.cfg
# This is allowed. Your local.cfg can reference configs from other *.cfg files.
oai.solr.url = ${solr.server}/oaipmh

# Finally, this local.cfg also supports adding "include=" statements, to include
# additional local configuration files.
# In this example, a local-rest.cfg and local-curate.cfg (in the same directory)
# will automatically be included as part of this local.cfg.
# This allows you to subdivide you local configs in as many (or few) config files
# as you desire.
include = local-rest.cfg
include = local-curate.cfg

...

Property:

dspace.dir

Example Value:

/dspace

Informational Note:

Root directory of DSpace installation. Omit the trailing slash '/'. Note that if you change this, there are several other parameters you will probably want to change to matchthis setting is used by default in other settings, e.g. assetstore.dir .

(On Windows be sure to use forward slashes for the directory path!  For example: "C:/dspace" is a valid path for WindowsWindow.)

Property:

dspace.hostname

Example Value:

dspace.hostname = dspace.mysu.edu

Informational Note:

Fully qualified hostname; do not include port number.

Property:

dspace.baseUrl

server.url

Example Value:

http://dspacetest.myu.edu:8080

Informational Note:

Main URL at which DSpace Web UI webapp is deployed. Include any port number, but do not include the trailing '/'backend ("server" webapp) is publicly available. If using port 80 (HTTP) or 443 (HTTPS), you may omit the port number. Otherwise the port number must be included. Do not include a trailing slash ('/').  In Production, you should be using HTTPS for security purposes.

Property:

dspace.ui.url

Example Value:

dspace.ui.url = http://dspacetest.myu.edu:8080/xmlui4000

Informational note

Main URL at which the DSpace frontend (Angular User Interface) is publicly available. If using port 80 (HTTP) or 443 (HTTPS), you may omit the port number. Otherwise the port number must be included. Do not include a trailing slash ('/').  In Production, you should be using HTTPS for security purposes.

This URL should obviously be the same one configured in your Angular UI's environment.prod.ts.  In the backend, this URL is primarily used to build UI-based URLs in sitemaps, email messages, etc.  Therefore, it need not be set on initial installation, but it should be configured as soon as your user interface is installed.  If you are not using the DSpace UI (and running the backend "headless"), this may be set to the URL of whatever you consider your primary "user interface"URL that determines whether JSPUI or XMLUI will be loaded by default. Include port number etc., but NOT trailing slash. Alternatively to the example, this url can have /jspui at the end if you are using jspui instead of xmlui. You can also opt to run your UI app as your servlet engine's "ROOT" webapp. In that case, ensure that you remove /xmlui or /jspui.

Property:

dspace.name

Example Value:

dspace.name = DSpace at My University

Informational Note:

Short and sweet site name, used throughout Web UI, in e-mails, exports and elsewhere (such as OAI protocol)machine interfaces (e.g. OAI-PMH).  It is not currently used by the Angular UI.

DSpace Database Configuration

...

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.statementpoolcleanDisabled

Example Value:

db.statementpool cleanDisabled = true

Informational Note:

Determines if prepared statement should be cachedThis 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:

db.poolname

Example Value:

db.poolname = dspacepool

Informational Note:

Specify a name for the connection pool. This is useful if you have multiple applications sharing Tomcat's database connection pool. If nothing is specified, it will default to 'dspacepool'

To provide the database connection pool externally

...

Configuring the Sherpa/RoMEO Publishers Policy Database Integration

Image Modified

DSpace 4.0 introduced integration with the Sherpa/RoMEO Publishers Policy Database in order to allow displaying the publisher policy in the submission upload step. The submission step interface is available in JSPUI (since DSpace 4.0) and in XMLUI (since DSpace 5.0) and enabled by default, however to use it in production (over 500 requests per day), you must register for a free API key (see below for details).

...

Property:

webui.itemdisplay.default

Example Value:


Code Block
webui.itemdisplay.default = dc.title, dc.title.alternative, \
           dc.contributor.*, dc.subject, dc.data.issued(date), \
           dc.publisher, dc.identifier.citation, \
           dc.relation.ispartofseries, dc.description.abstract, \
           dc.description, dc.identifier.govdoc, \
           dc.identifier.uri(link), dc.identifier.isbn, \
           dc.identifier.issn, dc.identifier.ismn, dc.identifier


Informational Note:

This is used to customize the DC metadata fields that display in the item display (the brief display) when pulling up a record. The format is: <schema>.<element>.<_optional_qualifier> . In place of the qualifier, one can use the wildcard "*" to include all fields of the same element, or, leave it blank for unqualified elements. Additionally, two additional options are available for behavior/rendering: (date) and (link). See the following examples:

dc.title = Dublin Core element "title" (unqualified)
dc.title.alternative = DC element "title", qualifier "alternative"
dc.title.* = All fields with Dublin Core element 'title' (any or no qualifier)
dc.identifier.uri(link) = DC identifier.uri, rendered as a link
dc.date.issued(date) = DC date.issued, rendered as a date
The Messages.properties file controls how the fields defined above will display to the user. If the field is missing from the Messages.properties file, it will not be displayed. Look in Messages.properties under the metadata.dc.<field>. Example:
metadata.dc.contributor.other = Authors
metadata.dc.contributor.author = Authors
metadata.dc.title.* = Title
Please note: The order in which you place the values to the property key control the order in which they will display to the user on the outside world. (See the Example Value above).

Property:


Code Block
webui.resolver.1.urn
webui.resolver.1.baseurl
webui.resolver.2.urn
webui.resolver.2.baseurl


Example Value:


Code Block
webui.resolver.1.urn = doi
webui.resolver.1.baseurl = http://dx.doi.org/
webui.resolver.2.urn = hdl
webui.resolver.2.baseurl = http://hdl.handle.net/


Informational Note:

When using "resolver" in webui.itemdisplay to render identifiers as resolvable links, the base URL is taken from <code>webui.resolver.<n>.baseurl<code> where <code>webui.resolver.<n>.baseurl<code> matches the urn specified in the metadata value. The value is appended to the "baseurl" as is, so the baseurl needs to end with the forward slash almost in any case. If no urn is specified in the value it will be displayed as simple text. For the doi and hdl urn defaults values are provided, respectively http://dc.doi.org and http://hdl.handle.net are used. If a metadata value with style "doi", "handle" or "resolver" matches a URL already, it is simply rendered as a link with no other manipulation.

Property: webui.preferred.identifier
Example Value: webui.preferred.identifier = handle
Informational Note: At the top of the item view a persistent identifier is shown to be used to refer to this item. If you use Item Level Versioning and DSpace is configured to, it shows a version history. Per default DSpace uses handle as preferred identifier. If you've configured DSpace to register DOIs you can decide to use DOIs instead of handles at the top of the item view and within the version history. Set the property webui.preferred.identifier = doi to do so.
Property: webui.identifier.strip-prefixes
Example Value: webui.identifier.strip-prefixes = true
Informational Note:In the version history Persistent Identifiers can be shown with or without their prefixes, e.g. a handle can be shown as handle:10673/6 or just as 10673/6. A DOI can be  can be shown as 10.5072/example-doi-123 or as doi:105072/example-doi-123. This property controlls whether the handles are stripped (default) or not.

Property:

plugin.single.org.dspace.app.webui.util.StyleSelection

Example Value:


Code Block
plugin.single.org.dspace.app.webui.util.StyleSelection = \
  org.dspace.app.web.util.CollectionStyleSelection
  #org.dspace.app.web.util.MetadataStyleSelection


Informational Note:

Specify which strategy to use for select the style for an item.

Property:

webui.itemdisplay.thesis.collections

Example Value:

webui.itemdisplay.thesis.collections = 123456789/24, 123456789/35

Informational Note:

Specify which collections use which views by Handle.

Property:

webui.itemdisplay.label.restricted.bitstreams

Example Value:webui.itemdisplay.label.restricted.bitstreams = true
Informational Note:
Image Modified Image ModifiedIf set to all, all users will get a warning if access restrictions are in place for an bitstream. If a resource policy with an unreached start date for anonymous users is in place, the date is shown as well. Any other values than "all" will suppress the warning.
Should access restricted bitstreams be labeled as such? If set true, all bitstreams which cannot currently not be read by an anonymous user are labeled as being access restricted. If a resource policy to allow read access for anonymous users with an unreached start date exists, this date is shown as well.

Property:


Code Block
webui.itemdisplay.metadata-style
webui.itemdisplay.metadata-style


Example Value:


Code Block
webui.itemdisplay.metadata-style = schema.element[.qualifier|.*]
webui.itemdisplay.metadata-style = dc.type


Informational Note:

Specify which metadata to use as name of the style

Property:

webui.itemlist.columns

Example Value:


Code Block
webui.itemlist.columns = thumbnail, dc.date.issued(date), dc.title, \
          dc.contributor.*


Informational Note:

Customize the DC fields to use in the item listing page. Elements will be displayed left to right in the order they are specified here. The form is <schema prefix>.<element>[.<qualifier> | .*][(date)], ...
Although not a requirement, it would make sense to include among the listed fields at least the date and title fields as specified by the webui.browse.index configuration options in the next section mentioned. (cf.)
If you have enabled thumbnails (webui.browse.thumbnail.show), you must also include a 'thumbnail' entry in your columns‚ this is where the thumbnail will be displayed.

Property:

webui.itemlist.width

Example Value:

webui.itemlist.width = *, 130, 60%, 40%

Informational Note:

You can customize the width of each column with the following line--you can have numbers (pixels) or percentages. For the 'thumbnail' column, a setting of '*' will use the max width specified for browse thumbnails (cf. webui.browse.thumbnail.maxwidth, thumbnail.maxwidth)

Property:


Code Block
webui.itemlist.browse.<index name>.sort.<sort name>.columns
webui.itemlist.sort.<sort name>.columns
webui.itemlist.browse.<browse name>.columns
webui.itemlist.<sort or index name>.columns


Example Value:


Informational Note:

You can override the DC fields used on the listing page for a given browse index and/or sort option. As a sort option or index may be defined on a field that isn't normally included in the list, this allows you to display the fields that have been indexed/sorted on. There are a number of forms the configuration can take, and the order in which they are listed below is the priority in which they will be used (so a combination of an index name and sort name will take precedence over just the browse name).In the last case, a sort option name will always take precedence over a browse index name. Note also, that for any additional columns you list, you will need to ensure there is an itemlist.<field name> entry in the messages file.

Property:

webui.itemlist.dateaccessioned.columns

Example Value:

webui.itemlist.dateaccessioned.columns = thumbnail, dc.date.accessioned(date), dc.title, dc.contributor.*

Informational Note:

This would display the date of the accession in place of the issue date whenever the dateaccessioned browsed index or sort option is selected. Just like webui.itemlist.columns, you will need to include a 'thumbnail' entry to display the thumbnails in the item list.

Property:

webui.itemlist.dateaccessioned.widths

Example Value:

webui.itemlist.dateaccessioned.widths = *, 130, 60%, 40%

Informational Note:

As in the aforementioned property key, you can customize the width of the columns for each configured column list, substituting ".widths" for ".columns" in the property name. See the setting for webui.itemlist.widths for more information.

Property:

webui.itemlist.tablewidth

Example Value:

webui.itemlist.tablewidth = 100%

Informational Note:

You can also set the overall size of the item list table with the following setting. It can lead to faster table rendering when used with the column widths above, but not generally recommended.

Property:

webui.session.invalidate

Example Value:

webui.session.invalidate = true

Informational Note:

Enable or disable session invalidation upon login or logout. This feature is enabled by default to help prevent session hijacking but may cause problems for shibboleth, etc. If omitted, the default value is "true". [Only used for JSPUI authentication].

Property:

jspui.google.analytics.key

Example Value: jspui.google.analytics.key = UA-XXXXXX-X
Informational Note:

If you would like to use Google Analytics to track general website statistics then use the following parameter to provide your Analytics key.

...