Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  • General Configuration - addresses general conventions used with configuring not only the dspace.cfg file, but other configuration files which use similar conventions.
  • The build.properties Configuration Properties File - specifies the basic build.properties file settings (these basic settings are used when building/installing/upgrading DSpace)
  • The dspace.cfg Configuration Properties File - specifies the basic dspace.cfg file settings (these settings are used when DSpace is actually running)
  • Optional or Advanced Configuration Settings - contain other more advanced settings that are optional in the dspace.cfg configuration file.

    Info

    As of version 1.8 much of the DSpace configuration has been moved to discrete configuration files related to specific functionality and is documented in subsequent sections of this document.

...

Things you should know about editing dspace.cfg files.
It is important to remember that there are * two multiple dspace.cfg files in serveral places after an installation of DSpace.* The only two you should notice are:

  1. The "source" file that is found in [dspace-source]/dspace/config/dspace.cfg
  2. The "runtime" file that is found in [dspace]/config/dspace.cfg
    The runtime file is supposed to be the copy of the source file, which is considered the master version. However, the DSpace server and command programs only look at the runtime configuration file, so when you are revising your configuration values, it is tempting to only edit the runtime file. DO NOT do this. Always make the same changes to the source version of dspace.cfg in addition to the runtime file. The two files should always be identical, since the source dspace.cfg will be the basis of your next upgrade.

...

Please note that there are in fact two options available, choose whichever you prefer :-

  • '"ant update_configs' " ==> Moves existing configs in [dspace]/config/ to *.old files and replaces them with what is in [dspace-srcsource]/dspace/config/
  • '"ant -Doverwrite=false update_configs' " ==> Leaves existing configs in [dspace]/config/ intact. Just copies new configs from
    [dspace-srcsource]/dspace/config/ over to *.new files.

The build.properties Configuration Properties File

The primary way As of configuring DSpace is to edit the dspace.cfg, however, the 3.0, we now provide a [dspace-srcsource]/build.properties file exists to provide as an easy means of configuring configuration a subset of properties . Typically this would be done to allow different developers to maintain their own build.properties files outwith [dspace-src]. Each developer would need to edit [dspace-src]/pom.xml to reference their own build.properties file. Any common changes could be applied directly to dspace.cfg.

The dspace.cfg Configuration Properties File

before you build DSpace (by running "mvn package" or similar).  Any properties set in this build.properties file will be automatically copied over to your final dspace.cfg file as part of the Maven build process.

Users/Developers may also choose to copy the build.properties under a different name for different environments (e.g. development, test & production), and choose which environment to build DSpace for by passing a "-Denv" (environment) flag to the Maven build process (e.g. "mvn package -Denv=test" would build DSpace using a custom "test.properties" file).

Here's a basic example of how build.properties (or any *.properties) file may be used to simplify installation & development:

  1. A developer or user downloads a copy of DSpace to build & install
  2. He/She can edit the [dspace-source]/build.properties to specify the very basic settings for building & installing DSpace
    1. OR, alternatively he/she can copy/rename the "build.properties" to a different "*.properties" file & edit it.  For example, you could choose  to create a separate properties file for each environment (dev.properties, test.properties, prod.properties)
  3. He/She can then build the DSpace Installation Package using the *.properties file they choose
    1. Running simply "mvn package" will always use the default "build.properties" settings.
    2. Passing in the "-Denv" (environment) flag, will cause the build process to use a custom properties file.  Some examples:
      1. "mvn package -Denv=test" would build DSpace using a custom file named [dspace-source]/test.properties
      2. "mvn package -Denv=local" would build DSpace using a custom file named [dspace-source]/local.properties
      3. "mvn package -Denv=john" would build DSpace using a custom file named [dspace-source]/john.properties
  4. No matter which build options are used, the values in the enabled properties file will be automatically copied over to your [dspace-source]/dspace/target/dspace-[version]-build/dspace.cfg file in the DSpace Installation Package. That way they can be installed using the appropriate Apache Ant command (see Installation for all the details of the full install.)

 

Note
titlebuild.properties file is only used with building/compiling DSpace

It is worth noting that the [dspace-source]/build.properties file (or custom properties file) is ONLY used in the act of building/installing/upgrading DSpace. During that build/install/upgrade process, any settings in your "build.properties" file (or custom properties file) are automatically copied over to the "dspace.cfg" file. Once DSpace is installed, it only uses the settings in your [dspace]/config/dspace.cfg file.

Warning
titleDo not remove or comment out settings in build.properties

When you edit the "build.properties" file (or a custom *.properties file), take care not to remove or comment out any settings.  Doing so, may cause your final "dspace.cfg" file to be misconfigured with regards to that particular setting.  Instead, if you wish to remove/disable a particular setting, just clear out its value.  For example, if you don't want to be notified of new user registrations, ensure the "mail.registration.notify" setting has no value, e.g.

mail.registration.notify=

The dspace.cfg Configuration Properties File

The dspacedspace.cfg contains basic information about a DSpace installation, including system path information, network host information, and other like items.  It is the primary configuration file for DSpace, used by DSpace when it is actively running.

Main DSpace Configurations

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 match, 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 Windows.)

Property:

dspace.hostname

Example Value:

dspace.hostname = dspace.mysu.edu

Informational Note:

Fully qualified hostname; do not include port number.

Property:

dspace.baseUrl

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 '/'.

Property:

dspace.url

Example Value:

dspace.url = ${dspace.baseUrl}/jspui

Informational note

DSpace base URL. URL that determines whether JSPUI or XMLUI will be loaded by default. Include port number etc., but NOT trailing slash. Change to /xmlui if you wish to use the xmlui (Manakin) as the default, or remove "/jspui" and set webapp of your choice as the "ROOT" webapp in the servlet engine.

Property:

dspace.oai.url

Example Value:

dspace.oai.url = ${dspace.baseUrl}/oai

Informational note:

The base URL of the OAI webapp (do not include /request).

Property:

dspace.name

Example Value:

dspace.name = DSpace at My University

Informational Note:

Short and sweet site name, used throughout Web UI, e-mails and elsewhere (such as OAI protocol)

...

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.

Property:

db.name

Example Value:

db.name = postgres

Informational Note:

Both postgres or oracle are accepted parameters.

Property:

db.url

Example Value:

db.url = jdbc:postgresql://localhost:5432/dspace_-services

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 = dspace5

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 = vra

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.

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

Example Value:

db.statementpool = true

Informational Note:

Determines if prepared statement should be cached. (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'database connection pool. If nothing is specified, it will default to 'dspacepool'

Property:db.jndi
Example Value:db.jndi = jdbc/dspace
Informational Note:Specify the name of a configured connection pool to be fetched from a directory using JNDI.  If this property is not configured or no such pool can be retrieved, then DSpace will fall back to creating its own pool using the other db.* properties.  db.name must still be specified.

DSpace Email Settings

The configuration of email is simple and provides a mechanism to alert the person(s) responsible for different features of the DSpace software.

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 send to the email address of choice. This configuration is currently limited to only one recipient.

Property:

mail.admin

Example Value:

mail.admin = dspace-help@myu.edu

Informational Note:

Email address of the general site administrator (Webmaster)

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.

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.

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 '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. Default behavior is to accept referrals only from dspace.hostname. This property is optional.

Property:

mail.extraproperties

Example Value:

Code Block
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 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:

default.language

Example Value:

default.language = en_US

Informational Note:

If no other language is explicitly stated in the input-forms.xml, the default language will be attributed to the metadata values.

...

DSpace supports two distinct options for storing your repository bitstreams (uploaded files). The files are not stored in the database in which Metadata, user information, ... are stored. An assetstore is a directory on your server, on which the bitstreams are stored and consulted afterwards. The usage of different assetstore directories is the default "technique" in DSpace. The parameters below define which assetstores are present, and which one should be used for newly incoming items. As an alternative, DSpace can also use SRB (Storage Resource Brokerage) as an alternative. See SRB File Storage for details regarding SRB.

Property:

assetstore.dir

Example Value:

assetstore.dir = ${dspace.dir}/assetstore

Informational Note:

This is Asset (bitstream) store number 0 (Zero). You need not place your assetstore under the /dspace directory, but may want to place it on a different logical volume on the server that DSpace resides. So, you might have something like this: assetstore.dir = /storevgm/assestore .

Property:

Code Block
assetstore.dir.1
assetstore.dir.2

Example Value:

Code Block
assetstore.dir.1 = /second/assetstore
assetstore.dir.2 = /third/assetstore

Informational Note:

This property specifies extra asset stores like the one above, counting from one (1) upwards. This property is commented out (#) until it is needed.

Property:

assetstore.incoming

Example Value:

assetstore.incoming = 1

Informational Note:

Informational Note: Specify the number of the store to use for new bitstreams with this property. The default is 0 [zero] which corresponds to the 'assestore.dir' above. As the asset store number is stored in the item metadata (in the database), always keep the assetstore numbering consistent and don't change the asset store number in the item metadata.

...

The same framework is used to configure SRB storage. That is, the asset store number (0..n) can reference a file system directory as above or it can reference a set of SRB account parameters. But any particular asset store number can reference one or the other but not both. This way traditional and SRB storage can both be used but with different asset store numbers. The same cautions mentioned above apply to SRB asset stores as well. The particular asset store a bitstream is stored in is held in the database, so don't move bitstreams between asset stores, and do not renumber them.

Property:

srb.hosts.1

Example value:

srb.hosts.1 = mysrbmcathost.myu.edu

Property:

srb.port.1

Example value:

srb.port.1 = 5544

Property:

srb.mcatzone.1

Example value:

srb.mcatzone.1 = mysrbzone

Informational Note:

Your SRB Metadata Catalog Zone. An SRB Zone (or zone for short) is a set of SRB servers 'brokered' or administered through a single MCAT. Hence a zone consists of one or more SRB servers along with one MCAT-enabled server. Any existing SRB system (version 2.x.x and below) can be viewed as an SRB zone. For more information on zones, please check http://www.sdsc.edu/srb/index.php/Zones.

Property:

srb.mdasdomainname.1

Example Value:

srb.mdasdomainname.1 = mysrbdomain

Informational Note:

Your SRB domain. This domain should be created under the same zone, specified in srb.mcatzone. Information on domains is included here http://www.sdsc.edu/srb/index.php/Zones.

Property:

srb.defaultstorageresource.1

Example Value:

srb.defaultstorageresource.1 = mydefaultsrbresource

Informational Note:

Your default SRB Storage resource.

Property:

srb.username.1

Example Value:

srb.username.1 = mysrbuser

Informational Note:

Your SRB Username.

Property:

srb.password.1

Example Value:

srb.password.1 = mysrbpassword

Informational Note:

Your SRB Password.

Property:

srb.homedirectory.1

Example Value:

Code Block
srb.homedirectory.1 =
   /mysrbzone/home/ mysrbuser.mysrbdomain

Informational Note:

Your SRB Homedirectory

Property:

srb.parentdir.1

Example Value:

srb.parentdir.1 = mysrbdspaceassetstore

Informational Note:

Several of the terms, such as mcatzone, have meaning only in the SRB context and will be familiar to SRB users. The last, srb.paratdir.n, can be used for additional (SRB) upper directory structure within an SRB account. This property value could be blank as well.

...

If SRB is chosen from the first install of DSpace, it is suggested that 'assetstore.dir' (no integer appended) be retained to reference a local directory (as above under File Storage) because build.xml uses this value to do a mkdir. In this case, 'assetstore.incoming' can be set to 1 (i.e. uncomment the line in File Storage above) and the 'assetstore.dir' will not be used.

Logging Configuration

Property:

log.init.config

Example Value:

log.init.config = ${dspace.dir}/config/log4j.properties

Informational Note:

This is where your logging configuration file is located. You may override the default log4j configuration by providing your own. Existing alternatives are:

Code Block
log.init.config = ${dspace.dir}/config/log4j.properties
log.init.config = ${dspace.dir}/config/log4j-console.properties

Property:

log.dir

Example value:

log.dir = ${dspace.dir}/log

Informational Note:

This is where to put the logs. (This is used for initial configuration only)

Property:

useProxies

Example Value:

useProxies = true

Informational Note:

If your DSpace instance is protected by a proxy server, in order for log4j  to log the correct IP address of the user rather than of the proxy, it must be configured to look for the X-Forwarded-For header.  This feature can be enabled by ensuring this setting is set to true.  This also affects IPAuthentication, and should be enabled for that to work properly if your installation uses a proxy server.

...

Search indexes can be configured and customized easily in the dspace.cfg file. This allows institutions to choose which DSpace metadata fields are indexed by Lucene.

Property:

search.dir

Example Value:

search.dir = ${dspace.dir}/search

Informational Note:

Where to put the search index files

Property:

search.max-clauses

Example Value:

search.max-clauses = 2048

Informational Note:

By setting higher values of search.max-clauses will enable prefix searches to work on larger repositories.

Property:

search.index.delay

Example Value:

search.index.delay = 5000

Informational Note:

It is possible to create a 'delayed index flusher'. If a web application pushes multiple search requests (i.e. a barrage or sword deposits, or multiple quick edits in the user interface), then this will combine them into a single index update. You set the property key to the number of milliseconds to wait for an update. The example value will hold a Lucene update in a queue for up to 5 seconds. After 5 seconds all waiting updates will be written to the Lucene index.

Property:

search.analyzer

Example Value:

search.analyzer = org.dspace.search.DSAnalyzer

Informational Note:

Which Lucene Analyzer implementation to use. If this is omitted or commented out, the standard DSpace analyzer (designed for English) is used by default. This standard DSpace analyzer removes common stopwords, lowercases all words and performs stemming (removing common word endings, like "ing", "s", etc).

Property:

search.analyzer

Example Value:

search.analyzer = org.dspace.search.DSNonStemmingAnalyzer

Informational Note:

Instead of the standard DSpace Analyzer (DSAnalyzer), use an analyzer which doesn't "stem" words/terms. When using this analyzer, a search for "wellness" will always return items matching "wellness" and not "well". However, similarly a search for "experiments" will only return objects matching "experiments" and not "experiment" or "experimenting". When using this analyzer, you may still use WildCard searches like "experiment*" to match the beginning of words.

Property:

search.analyzer

Example Value:

search.analyzer = org.apache.lucene.analysis.cn.ChineseAnalyzer

Informational Note:

Instead of the standard English analyzer, the Chinese analyzer is used.

Property:

search.operator

Example Value:

search.operator = OR

Informational Note

Boolean search operator to use. The currently supported values are OR and AND. If this configuration item is missing or commented out, OR is used. AND requires all the search terms to be present. OR requires one or more search terms to be present.

Property:

search.maxfieldlength

Example Value:

search.maxfieldlength = 10000

Informational Note:

This is the maximum number of terms indexed for a single field in Lucene. The default is 10,000 words‚ often not enough for full-text indexing. If you change this, you will need to re-index for the change to take effect on previously added items. -1 = unlimited (Integer.MAG_VALUE)

Property:

search.index. n

Example Value:

search.index.1 = author:dc.contributor.*

Informational Note

This property determines which of the metadata fields are being indexed for search. As an example, if you do not include the title field here, searching for a word in the title will not be matched with the titles of your items..

...

XML UI requires manual coding of the involved templates instead the JSP UI provides specific configuration to set the index to show in the advanced search dropdown. Below are listed the configuration parameters

Property:

jspui.search.index.display.<n>

Example Value

jspui.search.index.display.1 = ANY

Informational Note:

Set the N-value of the index dropdown in the advanced search form. The value must match one of the defined index

...

The CNRI Handle system is a 3rd party service for maintaining persistent URL's. For a nominal fee, you can register a handle prefix for your repository. As a result, your repository items will be also available under the links http://handle.net/<<handle prefix>>/<<item id>>. As the base url of your repository might change or evolve, the persistent handle.net URL's secure the consistency of links to your repository items. For complete information regarding the Handle server, the user should consult Section 3.4.4.. The Handle Server section of Installing DSpace.

Property:

handle.canonical.prefix

Example Value

handle.canonical.prefix = http://hdl.handle.net/
handle.canonical.prefix = ${dspace.url}/handle/

Informational Note:

Canonical Handle URL prefix. By default, DSpace is configured to use http://hdl.handle.net/ as the canonical URL prefix when generating dc.identifier.uri during submission, and in the 'identifier' displayed in item record pages. If you do not subscribe to CNRI's handle service, you can change this to match the persistent URL service you use, or you can force DSpace to use your site's URL, e.g. handle.canonical.prefix = ${dspace.url}/handle/. Note that this will not alter dc.identifer.uri metadata for existing items (only for subsequent submissions).

Property:

handle.prefix

Example Value

handle.prefix = 1234.56789

Informational Note:

The default installed by DSpace is 123456789 but you will replace this upon receiving a handle from CNRI.

Property:

handle.dir

Example Value:

handle.dir = ${dspace.dir}/handle-server

Informational Note:

The default files, as shown in the Example Value is where DSpace will install the files used for the Handle Server.

...

Authorization to execute the functions that are allowed to user with WRITE permission on an object will be attributed to be the ADMIN of the object (e.g. community/collection/admin will be always allowed to edit metadata of the object). The default will be "true" for all the configurations.

.authorization.item-admin.cc-license

Community Administration: Subcommunities and Collections

Property:

core.authorization.community-admin.create-subelement

Example Value:

core.authorization.community-admin.create-subelement = true

Informational Note:

Authorization for a delegated community administrator to create subcommunities or collections.

Property:

core.authorization.community-admin.delete-subelement

Example Value:

core.authorization.community-admin.delete-subelement = true

Informational Note:

Authorization for a delegated community administrator to delete subcommunities or collections.

Community Administration: Policies and The group of administrators

Property:

core.authorization.community-admin.policies

Example Value:

core.authorization.community-admin.policies = true

Informational Note:

Authorization for a delegated community administrator to administrate the community policies.

Property:

core.authorization.community-admin.admin-group

Example Value:

core.authorization.community-admin.admin-group = true

Informational Note:

Authorization for a delegated community administrator to edit the group of community admins.

Community Administration: Collections in the above Community

 

Property:

core.authorization.community-admin.collection.policies

Example Value:

core.authorization.community-admin.collection.policies = true

Informational Note:

Authorization for a delegated community administrator to administrate the policies for underlying collections.

Property:

core.authorization.community-admin.collection.template-item

Example Value:

core.authorization.community-admin.collection.template-item = true

Informational Note:

Authorization for a delegated community administrator to administrate the item template for underlying collections.

Property:

core.authorization.community-admin.collection.submitters

Example Value:

core.authorization.community-admin.collection.submitters = true

Informational Note:

Authorization for a delegated community administrator to administrate the group of submitters for underlying collections.

Property:

core.authorization.community-admin.collection.workflows

Example Value:

core.authorization.community-admin.collection.workflows = true

Informational Note:

Authorization for a delegated community administrator to administrate the workflows for underlying collections.

Property:

core.authorization.community-admin.collection.admin-group

Example Value:

core.authorization.community-admin.collection.admin-group = true

Informational Note:

Authorization for a delegated community administrator to administrate the group of administrators for underlying collections.

Community Administration: Items Owned by Collections in the Above Community

Property:

core.authorization.community-admin.item.delete

Example Value:

core.authorization.community-admin.item.delete = true

Informational Note:

Authorization for a delegated community administrator to delete items in underlying collections.

Property:

core.authorization.community-admin.item.withdraw

Example Value:

core.authorization.community-admin.item.withdraw = true

Informational Note:

Authorization for a delegated community administrator to withdraw items in underlying collections.

Property:

core.authorization.community-admin.item.reinstate

Example Value:

core.authorization.community-admin.item.reinstate = true

Informational Note:

Authorization for a delegated community administrator to reinstate items in underlying collections.

Property:

core.authorization.community-admin.item.policies

Example Value:

core.authorization.community-admin.item.policies = true

Informational Note:

Authorization for a delegated community administrator to administrate item policies in underlying collections.

Community Administration: Bundles of Bitstreams, related to items owned by collections in the above Community

Property:

core.authorization.community-admin.item.create-bitstream

Example Value:

core.authorization.community-admin.item.create-bitstream = true

Informational Note:

Authorization for a delegated community administrator to create additional bitstreams in items in underlying collections.

Property:

core.authorization.community-admin.item.delete-bitstream

Example Value:

core.authorization.community-admin.item.delete-bitstream = true

Informational Note:

Authorization for a delegated community administrator to delete bitstreams from items in underlying collections.

Property:

core.authorization.community-admin.item.cc-license

Example Value:

core.authorization.community-admin.item.cc-license = true

Informational Note:

Authorization for a delegated community administrator to administer licenses from items in underlying collections.

Community Administration:
The properties for collection administrators work similar to those
of community administrators,
with respect to collection administration.

Code Block
core.authorization.collection-admin.policies
core.authorization.collection-admin.template-item
core.authorization.collection-admin.submitters
core.authorization.collection-admin.workflows
core.authorization.collection-admin.admin-group

Collection Administration:
Item owned by the above CollectionThe properties for collection
administrators work similar to those of
community administrators,
with respect to administration of
items in underlying collections.

Code Block
core.authorization.collection-admin.item.delete
core.authorization.collection-admin.item.withdraw
core.authorization.collection-admin.item.reinstatiate
core.authorization.collection-admin.item.policies

Collection Administration:
Bundles of bitstreams, related to items owned by collections in the
above Community. The properties for collection administrators
work similar to those of community administrators, with respect to
administration of bitstreams related to items in underlying collections.

Code Block
core.authorization.collection-admin.item.create-bitstream
core.authorization.collection-admin.item.delete-bitstream
core.authorization.collection-admin.item-admin.cc-license

Item Administration.
The properties for item administrators work similar to those
of community and collection administrators, with respect to administration of
items in underlying collections.

core.authorization.item-admin.policies

Item Administration:
Bundles of bitstreams, related to items owned by collections in the
above Community. The properties for item administrators work
similar to those of community and collection administrators,
with respect to administration of bitstreams
related to items in underlying collections.

Code Block
core.authorization.item-admin.create-bitstream
core.authorization.item-admin.delete-bitstream
core

Restricted Item Visibility Settings

By default RSS feeds, OAI-PMH and subscription emails will include ALL items regardless of permissions set on them. If you wish to only expose items through these channels where the ANONYMOUS user is granted READ permission, then set the following options to false.

In large repositories, setting harvest.includerestricted.oai to false may cause performance problems as all items will need to have their authorization permissions checked, but because DSpace has not implemented resumption tokens in ListIdentifiers, ALL items will need checking whenever a ListIdentifers request is made.

...

Property:

...

harvest.includerestricted.rss

...

Example Value:

...

harvest.includerestricted.rss = true

.authorization.item-admin.cc-license

Restricted Item Visibility Settings

By default RSS feeds and subscription emails will include ALL items regardless of permissions set on them. If you wish to only expose items through these channels where the ANONYMOUS user is granted READ permission, then set the following options to false.

 

...

Informational Note:

...

oai

Property:

harvest.includerestricted.

rss

Example Value:

harvest.includerestricted.oai rss = true

Informational Note:

When set to 'true' (default), items that haven't got the READ permission for the ANONYMOUS user, will be included in OAI sets RSS feeds anyway.

Property:

harvest.includerestricted.subscription

Example Value:

harvest.includerestricted.subscription = true

Informational Note:

When set to true (default), items that haven't got the READ permission for the ANONYMOUS user, will be included in Subscription emails anyway.

...

These settings for proxy are commented out by default. Uncomment and specify both properties if proxy server is required for external http requests. Use regular host name without port number.

Property:

http.proxy.host

Example Value

http.proxy.host = proxy.myu.edu

Informational Note

Enter the host name without the port number.

Property:

http.proxy.port

Example Value

http.proxy.port = 2048

Informational Note

Enter the port number for the proxy server.

...

Media Filters are configured as Named Plugins, with each filter also having a separate configuration setting (in dspace.cfg) indicating which formats it can process. The default configuration is shown below.

Property:

filter.plugins

Example Value:

Code Block
filter.plugins = PDF Text Extractor, Html Text Extractor, \
                         Word Text Extractor, JPEG Thumbnail

Informational Note:

Place the names of the enabled MediaFilter or FormatFilter plugins. To enable Branded Preview, comment out the previous one line and then uncomment the two lines in found in dspace.cfg:

Code Block
Word Text Extractor, JPEG Thumbnail,\
     Branded Preview JPEG

Property:

plugin.named.org.dspace.app.mediafilter.FormatFilter

Example Value:

Code Block
plugin.named.org.dspace.app.mediafilter.FormatFilter = \
         org.dspace.app.mediafilter.PDFFilter = PDF Text Extractor, \
         org.dspace.app.mediafilter.HTMLFilter = HTML Text Extractor, \
         org.dspace.app.mediafilter.WordFilter = Word Text Extractor, \
         org.dspace.app.mediafilter.JPEGFilter = JPEG Thumbnail, \
         org.dspace.app.mediafilter.BrandedPreviewJPEGFilter = Branded Preview JPEG

Informational Note:

Assign "human-understandable" names to each filter

Property:

Code Block
filter.org.dspace.app.mediafilter.PDFFilter.inputFormats
filter.org.dspace.app.mediafilter.HTMLFilter.inputFormats
filter.org.dspace.app.mediafilter.WordFilter.inputFormats
filter.org.dspace.app.mediafilter.JPEGFilter.inputFormats
filter.org.dspace.app.mediafilter.BrandedPreviewJPEGFilter.inputFormats

Example Value:

Code Block
filter.org.dspace.app.mediafilter.PDFFilter.inputFormats = Adobe PDF
filter.org.dspace.app.mediafilter.HTMLFilter.inputFormats = HTML, Text
filter.org.dspace.app.mediafilter.WordFilter.inputFormats = Microsoft Word
filter.org.dspace.app.mediafilter.JPEGFilter.inputFormats = BMP, GIF, JPEG, \
                                                            image/png
filter.org.dspace.app.mediafilter.BrandedPreviewJPEGFilter.inputFormats = BMP, \
                                                   GIF, JPEG, image/png

Informational Note:

Configure each filter's input format(s)

Property:

pdffilter.largepdfs

Example Value:

pdffilter.largepdfs = true

Informational Note:

It this value is set for "true", all PDF extractions are written to temp files as they are indexed. This is slower, but helps to ensure that PDFBox software DSpace uses does not eat up all your memory.

Property:

pdffilter.skiponmemoryexception

Example Value:

pdffilter.skiponmemoryexception = true

Informational Note:

If this value is set for "true", PDFs which still result in an "Out of Memory" error from PDFBox are skipped over. These problematic PDFs will never be indexed until memory usage can be decreased in the PDFBox software.

...

The value of this property is a path to a separate properties file containing the configuration for this crosswalk. The pathname is relative to the DSpace configuration directory, i.e. the config subdirectory of the DSpace install directory. Example from the dspace.cfg file:

Properties:

crosswalk.mods.properties.MODS
crosswalk.mods.properties.mods

Example Values:

crosswalk.mods.properties.MODS = crosswalks/mods.properties
crosswalk.mods.properties.mods = crosswalks/mods.properties

Informational Note:

This defines a crosswalk named MODS whose configuration comes from the file [dspace]/config/crosswalks/mods.properties . (In the above example, the lower-case name was added for OAI-PMH)

The MODS crosswalk properties file is a list of properties describing how DSpace metadata elements are to be turned into elements of the MODS XML output document. The property name is a concatenation of the metadata schema, element name, and optionally the qualifier. For example, the contributor.author element in the native Dublin Core schema would be: dc.contributor.author. The value of the property is a line containing two segments separated by the vertical bar ("|"_): The first part is an XML fragment which is copied into the output document. The second is an XPath expression describing where in that fragment to put the value of the metadata element. For example, in this property:

Code Block
languagehtml/xml
dc.contributor.author = <mods:name>
				<mods:role>
					                            <mods:role>
                                <mods:roleTerm type="text">author</mods:roleTerm>
                        	</mods:role>
                             		<mods:namePart>%s</mods:namePart>
                        </mods:name>

Some of the examples include the string "%s" in the prototype XML where the text value is to be inserted, but don't pay any attention to it, it is an artifact that the crosswalk ignores. For example, given an author named Jack Florey, the crosswalk will insert

Code Block
languagehtml/xml
<mods:name>
    <mods:role>
        <mods:roleTerm type="text">author</mods:roleTerm>
    </mods:role>
    <mods:namePart>Jack Florey</mods:namePart>
</mods:name>

...

The default settings in the dspace.cfg file for submission crosswalk:

Properties:

crosswalk.submission.MODS.stylesheet

Example Value:

crosswalk.submission.MODS.stylesheet = crosswalks/mods-submission.xsl

Informational Note:

Configuration XSLT-driven submission crosswalk for MODS

As shown above, there are three (3) parts that make up the properties "key":

Code Block
crosswalk.submission.submissionPluginNamePluginName.stylesheet =
          1        2        3               4

crosswalk first part of the property key.
submission second part of the property key.
PluginName is the name of the plugin. The path value is the path to the file containing the crosswalk stylesheet (relative to /[dspace]/config).
Here is an example that configures a crosswalk named "LOM" using a stylesheet in [dspace]/config/crosswalks/d-lom.xsl:
crosswalk.submission.LOM.stylesheet = crosswalks/d-lom.xsl
A dissemination crosswalk can be configured by starting with the property key crosswalk.dissemination. Example:
crosswalk.dissemination.PluginName.stylesheet = path
The PluginName is the name of the plugin (!) . The path value is the path to the file containing the crosswalk stylesheet (relative to /[dspace]/config).

...

Code Block
crosswalk.dissemination.qdc.namespace.dc = http://purl.org/dc/elements/1.1/
     crosswalk.dissemination.qdc.namespace.dcterms = http://purl.org/dc/terms/
     crosswalk.dissemination.qdc.schemalocation = http://purl.org/dc/elements/1.1/ \
     http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd
Testing XSLT Crosswalks

The XSLT crosswalks will automatically reload an XSL stylesheet that has been modified, so you can edit and test stylesheets without restarting DSpace. You can test a dissemination crosswalk by hooking it up to an OAI-PMH crosswalk and using an OAI request to get the metadata for a known item.

Testing XSLT Crosswalks

The XSLT crosswalks will automatically reload an XSL stylesheet that has been modified, so you can edit and test stylesheets without restarting DSpace. You can test a crosswalk by using a command-line utitlity. With DSpace Version 3.0 only ingestion crosswalks can be tested (see below). From DSpace version 3.1 on you can use the following command to test a dissemination crosswalk:

Code Block
languagebash
[dspace]/bin/dspace dsrun org.dspace.content.crosswalk.XSLTDisseminationCrosswalk <plugin name> <handle> [output-file]

For example, you can test the marc plugin on the handle 123456789/3 with:

Code Block
languagebash
[dspace]/bin/dspace dsrun org.dspace.content.crosswalk.XSLTDisseminationCrosswalk marc 123456789/3

Informations from the script will be printed to stderr while the XML output of the dissemination crosswalk will be printed to stdout. You can give a third parameter containing a filename to write the output into a file, but be careful: the file will be overwritten if it exists.

Testing a submission crosswalk works quite the same way. Use the following command-line utility, it Testing the submission crosswalk is more difficult, so we have supplied a command-line utility to help. It calls the crosswalk plugin to translate an XML document you submit, and displays the resulting intermediate XML (DIM). Invoke it with:

Code Block
[dspace]/bin/dspace dsrun
     org.dspace.content.crosswalk.XSLTIngestionCrosswalk [-l] <plugin pluginname> input<input-filefile>

where plugin <plugin name> is the name of the crosswalk plugin to test (e.g. "LOM"), and <input-filefile> is a file containing an XML document of metadata in the appropriate format.

...

The following is from dspace.cfg file:

Properties:

crosswalk.qdc.namspace.qdc.dc

Example Value:

crosswalk.qdc.namspace.qdc.dc = http://purl.org/dc/elements/1.1_

Properties:

crosswalk.qdc.namspace.qdc.dcterms

Example Value:

crosswalk.qdc.namspace.qdc.dc = http://purl.org/dc/terms/_

Properties:

crosswalk.qdc.schemaLocation.QDC

Example Value:

Code Block
crosswalk.qdc.schemaLocation.QDC = http://www.purl.org/dc/terms \
      http://dublincore.org/schemas/xmls/qdc/2006/01/06/dcterms.xsd \
      http://purl.org/dc/elements/1.1 \
      http://dublincore.org/schemas/xmls/qdc/2006/01/06/dc.xsd

Properties:

crosswalk.qdc.properties.QDC

Example Value:

crosswalk.qdc.properties.QDC = crosswalks/QDC.properties

Informational Note:

Configuration of the QDC Crosswalk dissemination plugin for Qualified DC. (Add lower-case name for OAI-PMH. That is, change QDC to qdc.)}}

...

If you are unfamiliar with the Event System in DSpace, and require additional information with terms like "Consumer" and "Dispatcher" please refer to:http://wiki.dspace.org/index.php/EventSystemPrototype

Property:

event.dispatcher.default.class

Example Value:

event.dispatcher.default.class = org.dspace.event.BasicDispatcher

Informational Note:

This is the default synchronous dispatcher (Same behavior as traditional DSpace).

Property:

event.dispatcher.default.consumers

Example Value:

event.dispatcher.default.consumers = search, browse, eperson

Informational Note:

This is the default synchronous dispatcher (Same behavior as traditional DSpace).

Property:

event.dispatcher.noindex.class

Example Value:

event.dispatcher.noindex.class = org.dspace.event.BasicDispatcher

Informational Note:

The noindex dispatcher will not create search or browse indexes (useful for batch item imports).

Property:

event.dispatcher.noindex.consumers

Example Value:

event.dispatcher.noindex.consumers = eperson

Informational Note:

The noindex dispatcher will not create search or browse indexes (useful for batch item imports).

Property:

event.consumer.search.class

Example Value:

event.consumer.search.class = org.dspace.search.SearchConsumer

Informational Note:

Consumer to maintain the search index.

Property:

event.consumer.search.filters

Example Value:

{{event.consumer.search.filters = }}
Community | Collection | Item | Bundle+Add | Create | Modify | Modify_Metadata | Delete | Remove

Informational Note:

Consumer to maintain the search index.

Property:

event.consumer.browse.class

Example Value:

event.consumer.browse.class = org.dspace.browse.BrowseConsumer

Informational Note:

Consumer to maintain the browse index.

Property:

event.consumer.browse.filters

Example Value:

event.consumer.browse.filters =
Community | Collection | Item | Bundle+Add | Create | Modify | Modify_Metadata | Delete | Remove

Informational Note:

Consumer to maintain the browse index.

Property:

event.consumer.eperson.class

Example Value:

event.consumer.eperson.class = org.dspace.eperson.EPersonConsumer

Informational Note:

Consumer related to EPerson changes

Property:

event.consumer.eperson.filters

Example Value:

event.consumer.eperson.filters = EPerson+Create

Informational Note:

Consumer related to EPerson changes

Property:

event.consumer.test.class

Example Value:

event.consumer.test.class = org.dspace.event.TestConsumer

Informational Note:

Test consumer for debugging and monitoring. Commented out by default.

Property:

event.consumer.test.filters

Example Value:

event.consumer.test.filters = All+All

Informational Note:

Test consumer for debugging and monitoring. Commented out by default.

Property:

testConsumer.verbose

Example Value:

testConsumer.verbose = true

Informational Note:

Set this to true to enable testConsumer messages to standard output. Commented out by default.

...

DSpace embargoes utilize standard metadata fields to hold both the '"terms' " and the '"lift date'". Which fields you use are configurable, and no specific metadata element is dedicated or predefined for use in embargo. Rather, you specify exactly what field you want the embargo system to examine when it needs to find the terms or assign the lift date.

Property:

embargo.field.terms

Example Value:

embargo.field.terms = SCHEMA.ELEMENT.QUALIFIER

Informational Note:

Embargo terms will be stored in the item metadata. This property determines in which metadata field these terms will be stored. An example could be dc.embargo.terms

Property:

embargo.field.lift

Example Value:

embargo.field.lift = SCHEMA.ELEMENT.QUALIFIER

Informational Note:

The Embargo lift date will be stored in the item metadata. This property determines in which metadata field the computed embargo lift date will be stored. You may need to create a DC metadata field in your Metadata Format Registry if it does not already exist. An example could be dc.embargo.liftdate

Property:

embargo.terms.open

Example Value:

embargo.terms.open = forever

Informational Note:

You can determine your own values for the embargo.field.terms property (see above). This property determines what the string value will be for indefinite embargos. The string in terms field to indicate indefinite embargo.

Property:

plugin.single.org.dspace.embargo.EmbargoSetter

Example Value:

plugin.single.org.dspace.embargo.EmbargoSetter = org.dspace.embargo.DefaultEmbargoSetter

Informational Note:

To implement the business logic to set your embargos, you need to override the EmbargoSetter class. If you use the value DefaultEmbargoSetter, the default implementation will be used.

Property:

plugin.single.org.dspace.embargo.EmbargoLifter

Example Value:

plugin.single.org.dspace.embargo.EmbargoLifter = org.dspace.embargo.DefaultEmbargoLifter

Informational Note:

To implement the business logic to lift your embargos, you need to override the EmbargoLifter class. If you use the value DefaultEmbargoLifter, the default implementation will be used.

...

DSpace now comes with a Checksum Checker script ([dspace]/bin/dspace checker) which can be scheduled to verify the checksum of every item within DSpace. Since DSpace calculates and records the checksum of every file submitted to it, this script is able to determine whether or not a file has been changed (either manually or by some sort of corruption or virus). The idea being that the earlier you can identify a file has changed, the more likely you'd be able to recover it (assuming it was not a wanted change).

Property:

plugin.single.org.dspace.checker.BitstreamDispatcher

Example Value:

plugin.single.org.dspace.checker.BitstreamDispatcher = org.dspace.checker.SimpleDispatcher

Informational Note:

The Default dispatcher is case non is specified.

Property:

checker.retention.default

Example Value:

checker.retention.default = 10y

Informational Note:

This option specifies the default time frame after which all checksum checks are removed from the database (defaults to 10 years). This means that after 10 years, all successful or unsuccessful matches are removed from the database.

Property:

checker.retention.CHECKSUM_MATCH

Example Value:

checker.retention.CHECKSUM_MATCH = 8w

Informational Note:

This option specifies the time frame after which a successful match will be removed from your DSpace database (defaults to 8 weeks). This means that after 8 weeks, all successful matches are automatically deleted from your database (in order to keep that database table from growing too large).

...

The configuration settings control several aspects of this feature:

Property:

org.dspace.app.itemexport.work.dir

Example Value:

org.dspace.app.itemexport.work.dir = ${dspace.dir}/exports

Informational Note:

The directory where the exports will be done and compressed.

Property:

org.dspace.app.itemexport.download.dir

Example Value:

org.dspace.app.itemexport.download.dir = ${dspace.dir}/exports/download

Informational Note

The directory where the compressed files will reside and be read by the downloader.

Property:

org.dspace.app.itemexport.life.span.hours

Example Value:

org.dspace.app.itemexport.life.span.hours = 48

Informational Note

The length of time in hours each archive should live for. When new archives are created this entry is used to delete old ones.

Property:

org.dspace.app.itemexport.max.size

Example Value:

org.dspace.app.itemexport.max.size = 200

Informational Note

The maximum size in Megabytes (Mb) that the export should be. This is enforced before the compression. Each bitstream's size in each item being exported is added up, if their cumulative sizes are more than this entry the export is not kicked off.

...

DSpace, through some advanced installation and setup, is able to send out an email to collections that a user has subscribed. The user who is subscribed to a collection is emailed each time an item id added or modified. The following property key controls whether or not a user should be notified of a modification.

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.

...

It is now possible to hide metadata from public consumption that is only available to the Administrator.

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 Administrator:

  1. XMLUI metadata XML view, and Item splash pages (long and short views).
  2. JSPUI Item splash pages
  3. OAI-PMH server, "oai_dc" format. (Note: Other formats are *not* affected.)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.

...

These settings control two aspects of the submission process: thesis submission permission and whether or not a bitstream file is required when submitting to a collection.

Property:

webui.submit.blocktheses

Example Value:

webui.submit.blocktheses = false

Informational Note:

Controls whether or not that the UI blocks submission should be marked as a thesis.

Property:

webui.submit.upload.required

Example Value:

webui.submit.upload.required = true

Informational Note:

Whether or not a file is required to be uploaded during the "Upload" step in the submission process. The default is true. If set to "false", then the submitter (human being) has the option to skip the uploading of a file.

...

This enables the Creative Commons license step in the submission process of either the JSP or XML User Interface (JSP UI or XML UI). Submitters are given an opportunity to select a Creative Common license to accompany the item. Creative Commons licenses govern the use of the content. For further details, refer to the Creative Commons website at http://creativecommons.org . Creative Commons licensing is enabled as one step of the configurable submission process, and therefore may be configured for any given collection that has a defined submission sequence, or be part of the '"default' " submission process. This process is described in the '"Customizing and Configuring Submission User Interface' section " section of this manual. There is a Creative Commons step already defined (step 5), but it is commented out, so enabling Creative Commons licensing is typically just a matter of uncommenting the CC License step. For the JSP UI, Creative Commons licensing is effected by opening an Iframe to the Creative Commons site and capturing the selection result in several bitstreams, but the XML UI utilizes a more flexible web service. By default, when a license is selected in the interface, the URI for the license is stored in the 'dc.rights.uri' metadata field for the Item, and a representation of the license text is stored in a license bundle. In addition, the following properties in [dspace]/config/dspace.cfg may be customized for use:

Property:

cc.api.rooturl

Example Value:

cc.api.rooturl = http://api.creativecommons.org/rest/1.5

Informational Note:

Generally will never have to assign a different value - this is the base URL of the Creative Commons service API.

Property:

cc.license.uri

Example Value:

cc.license.uri = dc.rights.uri

Informational Note:

The field that holds the Creative Commons license URI. If you change from the default value (dc.rights.uri), you will have to reconfigure the XMLUI for proper display of license data

Property:

cc.license.name

Example Value:

cc.license.name = dc.rights

Informational Note:

The field that holds the Creative Commons license Name. If you change from the default value (dc.rights), you will have to reconfigure the XMLUI for proper display of license data

Property:

cc.submit.setname

Example Value:

cc.submit.setname = true

Informational Note:

If true, the license assignment will add the field configured with the '"cc.license.name' " with the name of the CC license; if false, only '"cc.license.uri' " field is added.

Property:

cc.submit.addbitstream

Example Value:

cc.submit.addbitstream = true

Informational Note:

If true, the license assignment will add a bitstream with the CC license RDF; if false, only metadata field(s) are added.

Property:

cc.license.classfilter

Example Value:

cc.license.classfilter = recombo,mark

Informational Note:

This list defines the values that will be excluded from the license (class) selection list, as defined by the web service at the URL: http://api.creativecommons.org/rest/1.5/classes

Property:

cc.license.jurisdiction

Example Value:

cc.license.jurisdiction = nz

Informational Note:

Should a jurisdiction be used? If so, which one? See http://creativecommons.org/international/ for a list of possible codes (e.g. nz = New Zealand, uk = England and Wales, jp = Japan)

...

General Web User Interface Configurations
In this section of Configuration, we address the agnostic WEB User Interface that is used for JSPUI and XMLUI. Some of the configurations will give information towards customization or refer you to the appropriate documentation.

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

Property:

webui.browse.thubnail.show

Example Value:

webui.browse.thubnail.show = true

Informational Note:

Controls whether to display thumbnails on browse and search result pages. If you have customized the Browse columnlist, then you must also include a "thumbnail" column in your configuration. _(This configuration property key is not used by XMLUI. To show thumbnails using XMLUI, you need to create a theme which displays them)._

Property:

webui.browse.thumbnail.maxheight

Example Value:

webui.browse.thumbnail.maxheight = 80

Informational Note:

This property determines the maximum height of the browse/search thumbnails in pixels (px). This only needs to be set if the thumbnails are required to be smaller than the dimensions of thumbnails generated by MediaFilter.

Property:

webui.browse.thumbnail.maxwidth

Example Value:

webui.browse.thumbnail.maxwidth = 80

Informational Note:

This determines the maximum width of the browse/search thumbnails in pixels (px). This only needs to be set if the thumbnails are required to be smaller than the dimensions of thumbnails generated by MediaFilter.

Property:

webui.item.thumbnail.show

Example Value:

webui.item.thumbnail.show = true

Informational Note:

This determines whether or not to display the thumbnail against each bitstream. (This configuration property key is not used by XMLUI. To show thumbnails using XMLUI, you need to create a theme which displays them).

Property:

webui.browse.thumbnail.linkbehavior

Example Value:

webui.browse.thumbnail.linkbehavior = item

Informational Note:

This determines where clicks on the thumbnail in browse and search screens should lead. The only values currently supported are "item" or "bitstream", which will either take the user to the item page, or directly download the bitstream.

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

Example Value:

webui.preview.enabled = false

Informational Note:

Whether or not the user can "preview" the image.

Property:

webui.preview.maxwidth

Example Value:

webui.preview.maxwidth = 600

Informational Note:

This property sets the maximum width for the preview image.

Property:

webui.preview.maxheight

Example Value:

webui.preview.maxheight = 600

Informational Note:

This property sets the maximum height for the preview image.

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.

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.

Property:

webui.preview.brand.height

Example Value:

webui.preview.brand.height = 20

Informational Note:

The height (in px) of the brand.

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.

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.

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.

Property:

webui.strengths.show

Example Value:

webui.strengths.show = false

Informational Note:

Determines if communities and collections should display item counts when listed. The default behavior if omitted, is true. (This configuration property key is not used by XMLUI. To show thumbnails strengths using XMLUI, you need to create a theme which displays them).

Property:

webui.strengths.cache

Example Value:

webui.strengths.cache = false

Informational Note:

When showing the strengths, should they be counted in real time, or fetched from the cache. Counts fetched in real time will perform an actual count of the database contents every time a page with this feature is requested, which will not scale. If you set the property key is set to cache ("true") you must run the following command periodically to update the count: /[dspace]/bin/dspace itemcounter. The default is to count in real time (set to "false").

...

The browse indexes for DSpace can be extensively configured. This section of the configuration allows you to take control of the indexes you wish to browse, and how you wish to present the results. The configuration is broken into several parts: defining the indexes, defining the fields upon which users can sort results, defining truncation for potentially long fields (e.g. authors), setting cross-links between different browse contexts (e.g. from an author's name to a complete list of their items), how many recent submissions to display, and configuration for item mapping browse.

Property:

webui.browse.index.<n >

Example Value:

{{webui.browse.index.1 = dateissued:metadata:dc.date.issued:date:full }}

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.

...

Info

Starting from DSpace 3.0 you can configure which implementation use for the Browse DAOs both for create/update operations and for read operations. This allows you to customize which browse engine is utilized in your DSpace.  Options  Options include:

  • SOLR Browse Engine (SOLR DAOs) - This enables Apache Solr to be utilized as a backend for all browsing of DSpace.  This  This option requires that you have Discovery (Solr search/browse engine) enabled in your DSpace.
  • PostgreSQL Browse Engine (PostgreSQL DAOs) - This enables all browsing to be done via PostgreSQL database tables. (This is the traditional browsing option for users who have PostgreSQL installed.)
  • Oracle Browse Engine (Oracle DAOs) - This enables all browsing to be done via Oracle database tables. (This is the traditional browsing option for users who have Oracles installed.)

Property:

browseDAO.class

Example Value:

browseDAO.class = org.dspace.browse.SolrBrowseDAO

Informational Note:

This property configures the java Java class that is used for READ operations by the Browse System. You need to have Discovery enabled to use the SOLR Solr Browse DAOs

Property:

browseCreateDAO.class

Example Value:

browseCreateDAO.class = org.dspace.browse.SolrBrowseCreateDAO

Informational Note:

This property configures the java class that is used for WRITE operations by the Browse System. You need to have Discovery enabled to use the SOLR Solr Browse DAOs

Note

If a DAOs configuration is not provided the system will use the out-of-box implementation available for your Database of choice (PostgreSQL or Oracle).

...

Configure the browse engine to use SOLR
Warning

Use of the SOLR Solr backend for the Browse Engine requires that you have Discovery enabled. Please check the Discovery configuration section.

This option enables the browse engine to store its indexes in Apache Solr.  This essentially allows Discovery to be used for both search & browse within DSpace. The configuration is as follows:

Code Block
browseDAO.class = org.dspace.browse.SolrBrowseDAO
browseCreateDAO.class = org.dspace.browse.SolrBrowseCreateDAO

...

This option enables the browse engine to store its indexes in PostgreSQL database tables. All browsing is then performed via queries to those database tables. This is the traditional browsing option for users of PostgreSQL. The configuration is as follows:

Code Block
browseDAO.class = org.dspace.browse.BrowseDAOPostgres
browseCreateDAO.class = org.dspace.browse.BrowseCreateDAOPostgres

...

This option enables the browse engine to store its indexes in Oracle database tables. All browsing is then performed via queries to those database tables. This is the traditional browsing option for users of Oracle. The configuration is as follows:

Code Block
browseDAO.class = org.dspace.browse.BrowseDAOOracle
browseCreateDAO.class = org.dspace.browse.BrowseCreateDAOOracle

Defining the Indexes

...

DSpace arrives comes with four default indexes already pre-defined: author, title, date issued, and subjects. Users may also define additional indexes or re-configure the current indexes for different levels of specificity. For example, the default entries that appear in the dspace.cfg as default installation:

...

Normalization Rules are those rules that make it possible for the indexes to intermix entries without regard to case sensitivity. By default, the display of metadata in the browse indexes are case-sensitive. In the example below, you retrieve separate entries:
Twain, Marktwain, markTWAIN, MARK
However, clicking through from either of these will result in the same set of items (i.e., any item that contains either representation in the correct field).

Property:

webui.browse.metadata.case-insensitive

Example Value:

webui.browse.metadata.case-insensitive = true

Informational Note:

This controls the normalization of the index entry. Uncommenting the option (which is commented out by default) will make the metadata items case-insensitive. This will result in a single entry in the example above. However, the value displayed may be any one of the above‚ depending on what representation was present in the first item indexed.

...

We set other browse values in the following section.

Property:webui.browse.metadata.show-freq.< n >
Example Value:webui.browse.metadata.show-freq.1 = false
Informational Note:This enable/disable the show of frequencies (count) in metadata browse < n > refers to the browse configuration. As default frequencies are shown for all metadata browse

Property:

webui.browse.value_columns.max

Example Value:

webui.browse.value_columns.max = 500

Informational Note:

This sets the options for the size (number of characters) of the fields stored in the database. The default is 0, which is unlimited size for fields holding indexed data. Some database implementations (e.g. Oracle) will enforce their own limit on this field size. Reducing the field size will decrease the potential size of your database and increase the speed of the browse, but it will also increase the chance of mis-ordering of similar fields. The values are commented out, but proposed values for reasonably performance versus result quality. This affects the size of field for the browse value (this will affect display, and value sorting )

Property:

webui.browse.sort_columns.max

Example Value:

webui.browse.sort_columns.max = 200

Informational Note:

Size of field for hidden sort columns (this will affect only sorting, not display). Commented out as default.

Property:

webui.browse.value_columns.omission_mark

Example Value:

webui.browse.value_columns.omission_mark = ...

Informational Note:

Omission mark to be placed after truncated strings in display. The default is "...".

Property:

plugin.named.org.dspace.sort.OrderFormatDelegate

Example Value:

Code Block
plugin.named.org.dspace.sort.OrderFormatDelegate = \
org.dspace.sort.OrderFormatTitleMarc21=title

Informational Note:

This sets the option for how the indexes are sorted. All sort normalizations are carried out by the OrderFormatDelegate. The plugin manager can be used to specify your own delegates for each datatype. The default datatypes (and delegates) are:

Code Block
author = org.dspace.sort.OrderFormatAuthor
title  = org.dspace.sort.OrderFormatTitle
text   = org.dspace.sort.OrderFormatText

If you redefine a default datatype here, the configuration will be used in preferences to the default. However, if you do not explicitly redefine a datatype, then the default will still be used in addition to the datatypes you do specify. As of DSpace release 1.5.2, the multi-lingual MARC21 title ordering is configured as default, as shown in the example above. To use the previous title ordering (before release 1.5.2), comment out the configuration in your dspace.cfg file.

Browse Index Authority Control Configuration

Property:

webui.browse.index.<n>

Example Value:

webui.browse.index.5 = lcAuthor:metadataAuthority:dc.contributor.author:authority

Informational Note:

 

...

This section actually applies to any field with multiple values, but authors are the define case and example here.

Property:

webui.browse.author-field

Example Value:

webui.browse.author-field = dc.contributor.*

Informational Note:

This defines which field is the author/editor, etc. listing.

...

Now that we know which field is our author or other multiple metadata value field we can provide the option to truncate the number of values displayed by default. We replace the remaining list of values with "et al" or the language pack specific alternative. Note that this is just for the default, and users will have the option of changing the number displayed when they browse the results. See the following table:

|

Property:

webui.browse.author-limit

Example Value:

webui.browse.author-limit = <n>

Informational Note:Where <n> is an integer number of values to be displayed. Use -1 for unlimited (the default value).

Links to Other Browse Contexts

We can define which fields link to other browse listings. This is useful, for example, to link an author's name to a list of just that author's items. The effect this has is to create links to browse views for the item clicked on. If it is a "single" type, it will link to a view of all the items which share that metadata element in common (i.e. all the papers by a single author). If it is a "full" type, it will link to a view of the standard full browse page, starting with the value of the link clicked on.

Property:

webui.browse.link.<n>

Example Value:

webui.browse.link.1 = author:dc.contributor.*

Informational Note:

This is used to configure which fields should link to other browse listings. This should be associated with the name of one of the browse indexes (webui.browse.index.n) with a metadata field listed in webui.itemlist.columns above. If this condition is not fulfilled, cross-linking will not work. Note also that crosslinking only works for metadata fields not tagged as title in webui.itemlist.columns.

...

This allows us to define which index to base Recent Submission display on, and how many we should show at any one time. This uses the PluginManager to automatically load the relevant plugin for the Community and Collection home pages. Values given in examples are the defaults supplied in dspace.cfg

Property:

recent.submission.sort-option

Example Value:

recent.submission.sort-option = dateaccessioned

Informational Note:

First is to define the sort name (from webui.browse.sort-options) to use for displaying recent submissions.

Property:

recent.submissions.count

Example Value:

recent.submissions.count = 5

Informational Note:

Defines how many recent submissions should be displayed at any one time.

...

Submission License Substitution Variables

Property:

Code Block
plugin.named.org.dspace.content.license.
     LicenseArgumentFormatter

(property key broken up for display purposes only)

Example Value:

Code Block
plugin.named.org.dspace.content.license.LicenseArgumentFormatter = \
	org.dspace.content.license.SimpleDSpaceObjectLicenseFormatter = collection, \
	org.dspace.content.license.SimpleDSpaceObjectLicenseFormatter = item, \
	org.dspace.content.license.SimpleDSpaceObjectLicenseFormatter = eperson

Informational Note:

It is possible include contextual information in the submission license using substitution variables. The text substitution is driven by a plugin implementation.

...

This will enable syndication feeds‚ links display on community and collection home pages. This setting is not used by the XMLUI, as you enable feeds in your theme.

Property:

webui.feed.enable

Example Value:

webui.feed.enable = true

Informational Note:

By default, RSS feeds are set to true (on) . Change key to "false" to disable.

Property:

webui.feed.items

Example Value:

webui.feed.items = 4

Informational Note:

Defines the number of DSpace items per feed (the most recent submissions)

Property:

webui.feed.cache.size

Example Value:

webui.feed.cache.size = 100

Informational Note:

Defines the maximum number of feeds in memory cache. Value of "0" will disable caching.

Property:

webui.feed.cache.age

Example Value:

webui.feed.cache.age = 48

Informational Note:

Defines the number of hours to keep cached feeds before checking currency. The value of "0" will force a check with each request.

Property:

webui.feed.formats

Example Value:

webui.feed.formats = rss_1.0,rss_2.0,atom_1.0

Informational Note:

Defines which syndication formats to offer. You can use more than one; use a comma-separated list. The following list are the available values: rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0, atom_1.0.

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

...

Please note that for result data formatting, OpenSearch uses Syndication Feed Settings (RSS). So, even if Syndication Feeds are not enable, they must be configured to enable OpenSearch. OpenSearch uses all the configuration properties for DSpace RSS to determine the mapping of metadata fields to feed fields. Note that a new field for authors has been added (used in Atom format only).

Property:

websvc.opensearch.enable

Example Value:

websvc.opensearch.enable = false

Informational Note:

Whether or not OpenSearch is enabled. By default, the feature is disabled. Change the property key to '"true' " to enable.

Property:

websvc.opensearch.uicontext

Example Value:

websvc.opensearch.uicontext = simple-search

Informational Note:

Context for HTML request URLs. Change only for non-standard servlet mapping.
IMPORTANT: If you are using XMLUI and have Discovery enabled, this property's value should be changed to discover.

Property:

websvc.opensearch.svccontext

Example Value:

websvc.opensearch.svccontext = open-search/

Informational Note:

Context for RSS/Atom request URLs. Change only for non-standard servlet mapping.
IMPORTANT: If you are using XMLUI and have Discovery enabled, this property's value should be changed to open-search/discover.

Property:

websvc.opensearch.autolink

Example Value:

websvc.opensearch.autolink = true

Informational Note:

Present autodiscovery link in every page head.

Property:

websvc.opensearch.validity

Example Value:

websvc.opensearch.validity = 48

Informational Note:

Number of hours to retain results before recalculating. This applies to the Manakin interface only.

Property:

websvc.opensearch.shortname

Example Value:

websvc.opensearch.shortname = DSpace

Informational Note:

A short name used in browsers for search service. It should be sixteen (16) or fewer characters.

Property:

websvc.opensearch.longname

Example Value:

websvc.opensearch.longname = ${dspace.name}

Informational Note:

A longer name up to 48 characters.

Property:

websvc.opensearch.description

Example Value:

websvc.opensearch.description = ${dspace.name} DSpace repository

Informational Note:

Brief service description

Property:

websvc.opensearch.faviconurl

Example Value:

_websvc.opensearch.faviconurl = http://www.dspace.org/images/favicon.ico_

Informational Note:

Location of favicon for service, if any. They must by 16 x 16 pixels. You can provide your own local favicon instead of the default.

Property:

websvc.opensearch.samplequery

Example Value:

websvc.opensearch.samplequery = photosynthesis

Informational Note:

Sample query. This should return results. You can replace the sample query with search terms that should actually yield results in your repository.

Property:

websvc.opensearch.tags

Example Value:

websc.opensearch.tags = IR DSpace

Informational Note:

Tags used to describe search service.

Property:

websvc.opensearch.formats

Example Value:

websvc.opensearch.formats = html,atom,rss

Informational Note:

Result formats offered. Use one or more comma-separated from the list: html, atom, rss. Please note that html is required for auto discovery in browsers to function, and must be the first in the list if present.

...

The following configuration is used to change the disposition behavior of the browser. That is, when the browser will attempt to open the file or download it to the user-specified location. For example, the default size is 8MB. When an item being viewed is larger than 8MB, the browser will download the file to the desktop (or wherever you have it set to download) and the user will have to open it manually.

Property:

webui.content_disposition_threshold

Example value:

webui.content_disposition_threshold = 8388608

Informational Note:

The default value is set to 8MB. This property key applies to the JSPUI interface.

Property:

xmlui.content_disposition_threshold

Example Value:

xmlui.content_disposition_threshold = 8388608

Informational Note:

The default value is set to 8MB. This property key applies to the XMLUI (Manakin) interface.

...

The setting is used to configure the "depth" of request for html documents bearing the same name.

Property:

webui.html.max-depth-guess

Example Value:

webui.html.max-depth-guess = 3

Informational Note:

When serving up composite HTML items in the JSP UI, how deep can the request be for us to serve up a file with the same name? For example, if one receives a request for "foo/bar/index.html" and one has a bitstream called just "index.html", DSpace will serve up the former bitstream (foo/bar/index.html) for the request if webui.html.max-depth-guess is 2 or greater. If webui.html.max-depth-guess is 1 or less, then DSpace would not serve that bitstream, as the depth of the file is greater. If webui.html.max-depth-guess is zero, the request filename and path must always exactly match the bitstream name. The default is set to 3.

Property:

xmlui.html.max-depth-guess

Example Value:

xmlui.html.max-depth-guess = 3

Informational Note:

When serving up composite HTML items in the XMLUI, how deep can the request be for us to serve up a file with the same name? For example, if one receives a request for "foo/bar/index.html" and one has a bitstream called just "index.html", DSpace will serve up the former bitstream (foo/bar/index.html) for the request if webui.html.max-depth-guess is 2 or greater. If xmlui.html.max-depth-guess is 1 or less, then DSpace would not serve that bitstream, as the depth of the file is greater. If _webui.html.max-depth-guess _is zero, the request filename and path must always exactly match the bitstream name. The default is set to 3.

...

To aid web crawlers index the content within your repository, you can make use of sitemaps.

Property:

sitemap.dir

Example Value:

sitemap.dir = ${dspace.dir}/sitemaps

Informational Note:

The directory where the generate sitemaps are stored.

Property:

sitemap.engineurls

Example Value:

_sitemap.engineurls = http://www.google.com/webmasters/sitemaps/ping?sitemap=_

Informational Note:

Comma-separated list of search engine URLs to '"ping' " when a new Sitemap has been created. Include everything except the Sitemap UL itself (which will be URL-encoded and appended to form the actual URL '"pinged'").Add the following to the above parameter if you have an application ID with Yahoo: http://search.yahooapis.com/SiteExplorererService/V1/updateNotification?appid=REPLACE_ME?url=_ . (Replace the component _REPLACE_ME with your application ID). There is no known '"ping' " URL for MSN/Live search.

Authority Control Settings

...

For an in-depth description of this feature, please consult: Authority Control of Metadata Values

Property:

plugin.named.org.dspace.content.authority.ChoiceAuthority

Example Value:

Code Block
plugin.named.org.dspace.content.authority.ChoiceAuthority = \
	org.dspace.content.authority.SampleAuthority = Sample, \
 	org.dspace.content.authority.LCNameAuthority = LCNameAuthority, \
 	org.dspace.content.authority.SHERPARoMEOPublisher = SRPublisher, \
 	org.dspace.content.authority.SHERPARoMEOJournalTitle = SRJournalTitle

Informational Note:

--

Property:

plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority

Example Value:

Code Block
plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \
	org.dspace.content.authority.DCInputAuthority

Property:

lcname.url

Example Value:

lcname.url = http://alcme.oclc.org/srw/search/lcnaf_

Informational Note:

Location (URL) of the Library of Congress Name Service

Property:

sherpa.romeo.url

Example Value:

sherpa.romeo.url = http://www.sherpa.ac.uk/romeo/api24.php_

Informational Note:

Location (URL) of the SHERPA/RoMEO authority plugin

Property:

authority.minconfidence

Example Value:

authority.minconfidence = ambiguous

Informational Note:

This sets the default lowest confidence level at which a metadata value is included in an authority-controlled browse (and search) index. It is a symbolic keyword, one of the following values (listed in descending order): accepted, uncertain, ambiguous, notfound, failed, rejected, novalue, unset. See org.dspace.content.authority.Choices source for descriptions.

Property:

xmlui.lookup.select.size

Example Value:

xmlui.lookup.select.size = 12

Informational Note:

This property sets the number of selectable choices in the Choices lookup popup

...

To alter these properties for the XMLUI, please consult the Cocoon specific configuration at /WEB-INF/cocoon/properties/core.properties.

Property:

upload.temp.dir

Example Value:

upload.temp.dir = ${dspace.dir}/upload

Informational Note:

This property sets where DSpace temporarily stores uploaded files.

Property:

upload.max

Example Value:

upload.max = 536870912

Informational Note:

Maximum size of uploaded files in bytes. A negative setting will result in no limit being set. The default is set for 512Mb.

...

The following section is limited to JSPUI. If the user wishes to use XMLUI settings, please refer to Chapter 7: XMLUI Configuration and Customization.

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 take 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:

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:

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.

JSPUI Configuring Multilingual Support

...

Setting the Default Language for the Application

Property:

default.locale

Example Value:

default.locale = en

Informational Note:

The default language for the application is set with this property key. This is a locale according to i18n and might consist of country, country_language or country_language_variant. If no default locale is defined, then the server default locale will be used. The format of a local specifier is described here: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html

Supporting More Than One Language

Changes in dspace.cfg

Property:

webui.supported.locale

Example Value:

webui.supported.locale = en, de

or perhaps

webui.supported.locals = en, en_ca, de

Informational Note:

All the locales that are supported by this instance of DSpace. Comma separated list.

...

Define the index name (from webui.browse.index) to use for displaying items by author.

Property:

itemmap.author.index

Example Value:

itemmap.author.index = author

Informational Note:

If you change the name of your author browse field, you will also need to update this property key.

Display of Group Membership

Property:

webui.mydspace.showgroupmembership

Example Value:

webui.mydspace.showgroupmembership = false

Informational Note:

To display group membership set to "true". If omitted, the default behavior is false.

...

SFX Server is an OpenURL Resolver.

Property:

sfx.server.url

Example Value:

sfx.server.url = http://sfx.myu.edu:8888/sfx?

 

sfx.server.url = http://worldcatlibraries.org/registry/gateway?

Informational Note:

SFX query is appended to this URL. If this property is commented out or omitted, SFX support is switched off.

...

Example. For setting DOI in sfx.xml

Code Block
languagehtml/xml
<query-pairs>
          <field>
                <querystring>rft_id=info:doi/</querystring>
                <dc-schema>dc</dc-schema>
                <dc-element>identifier</dc-element>
                <dc-qualifier>doi</dc-qualifier>
          </field>
        </query-pairs>

If there is no DOI for that item, it will search next query-pair based on the [dspace]/config/sfx.xml and then so on.

...

For parameter passing to the <querystring>

code
Code Block
languagehtml/xml
<querystring>rft_id=info:doi/</querystring>

Please refer to these:
[http://ocoins.info/cobgbook.html]
[http://ocoins.info/cobg.html]

Program assume won’t won't get empty string for the item, as there will at least author, title for the item to pass to the resolver.

For contributor author, program maintains original DSpace SFX function of extracting author‘s author's first and last name.

Code Block
languagehtml/xml
<field>
  	  <querystring>rft.aulast=</querystring>
  	  <dc-schema>dc</dc-schema>
  	  <dc-element>contributor</dc-element>
  	   	<dc-qualifier>author</dc-qualifier>
 	</field>
 	<field>
    		<querystring>rft.aufirst=</querystring>
  	  <dc-schema>dc</dc-schema>
          <dc-element>contributor</dc-element>
          <dc-qualifier>author</dc-qualifier>
 	</field>

JSPUI Item Recommendation Setting

Property:

webui.suggest.enable

Example Value:

webui.suggest.enable = true

Informational Note:

Show a link to the item recommendation page from item display page.

Property:

webui.suggest.loggedinusers.only

Example Value:

webui.suggest.loggedinusers.only = true

Informational Note:

Enable only if the user is logged in. If this key commented out, the default value is false.

...

DSpace now supports controlled vocabularies to confine the set of keywords that users can use while describing items.

Property:

webui.controlledvocabulary.enable

Example Value:

webui.controlledvocabulary.enable = true

Informational Note:

Enable or disable the controlled vocabulary add-on. WARNING: This feature is not compatible with WAI (it requires JavaScript to function).

...

The taxonomies are described in XML following this (very simple) structure:

Code Block
languagehtml/xml
<node id="acmccs98" label="ACMCCS98">
    <isComposedBy>
        <node id="A." label="General Literature">
            <isComposedBy>
                <node id="A.0" label="GENERAL"/>
                <node id="A.1" label="INTRODUCTORY AND SURVEY"/>
            </isComposedBy>
        </node>
    </isComposedBy>
</node>

...

Vocabularies need to be associated with the correspondent DC metadata fields. Edit the file [dspace]/config/input-forms.xml and place a "vocabulary" tag under the "field" element that you want to control. Set value of the "vocabulary" element to the name of the file that contains the vocabulary, leaving out the extension (the add-on will only load files with extension "*.xml"). For example:

Code Block
languagehtml/xml
<field>
    <dc-schema>dc</dc-schema>
    <dc-element>subject</dc-element>
    <dc-qualifier></dc-qualifier>
    <!-- An input-type of twobox MUST be marked as repeatable -->
    <repeatable>true</repeatable>
    <label>Subject Keywords</label>
    <input-type>twobox</input-type>
    <hint> Enter appropriate subject keywords or phrases below. </hint>
    <required></required>
    <vocabulary [closed="false"]>nsi</vocabulary>
</field>

The vocabulary element has an optional boolean attribute closed that can be used to force input only with the javascript JavaScript of controlled-vocabulary add-on. The default behavior (i.e. without this attribute) is as set closed="false". This allow the user also to enter the value in free way.

...

3. JSPUI Session Invalidation

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

...

The DSpace digital repository supports two user interfaces: one based upon JSP technologies and the other based upon the Apache Cocoon framework. This section describes those configurations settings which are specific to the XMLUI interface based upon the Cocoon framework. (Prior to DSpace Release 1.5.1 XMLUI was referred to Manakin. You may still see references to "Manakin")

Property:

xmlui.supported.locales

Example Value:

xmlui.supported.locales = en, de

Informational Note:

A list of supported locales for Manakin. Manakin will look at a user's browser configuration for the first language that appears in this list to make available to in the interface. This parameter is a comma separated list of Locales. All types of Locales country, country_language, country_language_variant. Note that if the appropriate files are not present (i.e. Messages_XX_XX.xml) then Manakin will fall back through to a more general language.

Property:

xmlui.force.ssl

Example Value:

xmlui.force.ssl = true

Informational Note:

Force all authenticated connections to use SSL, only non-authenticated connections are allowed over plain http. If set to true, then you need to ensure that the '"dspace.hostname' " parameter is set to the correctly.

Property:

xmlui.user.registration

Example Value:

xmlui.user.registration = true

Informational Note:

Determine if new users should be allowed to register. This parameter is useful in conjunction with Shibboleth where you want to disallow registration because Shibboleth will automatically register the user. Default value is true.

Property:

xmlui.user.editmetadata

Example Value:

xmlui.user.editmetadata = true

Informational Note:

Determines if users should be able to edit their own metadata. This parameter is useful in conjunction with Shibboleth where you want to disable the user's ability to edit their metadata because it came from Shibboleth. Default value is true.

Property:

xmlui.user.assumelogon

Example Value:

xmlui.user.assumelogon = true

Informational Note:

Determine if super administrators (those whom are in the Administrators group) can login as another user from the "edit eperson" page. This is useful for debugging problems in a running dspace instance, especially in the workflow process. The default value is false, i.e., no one may assume the login of another user.

Property:

xmlui.user.loginredirect

Example Value:

xmlui.user.loginredirect = /profile

Informational Note:

After a user has logged into the system, which url should they be directed? Leave this parameter blank or undefined to direct users to the homepage, or /profile for the user's profile, or another reasonable choice is /submissions to see if the user has any tasks awaiting their attention. The default is the repository home page.

Property:

xmlui.theme.allowoverrides

Example Value:

xmlui.theme.allowoverrides = false

Informational Note:

Allow the user to override which theme is used to display a particular page. When submitting a request add the HTTP parameter "themepath" which corresponds to a particular theme, that specified theme will be used instead of the any other configured theme. Note that this is a potential security hole allowing execution of unintended code on the server, this option is only for development and debugging it should be turned off for any production repository. The default value unless otherwise specified is "false".

Property:

xmlui.bundle.upload

Example Value:

xmlui.bundle.upload = ORIGINAL, METADATA, THUMBNAIL, LICENSE, CC_LICENSE

Informational Note:

Determine which bundles administrators and collection administrators may upload into an existing item through the administrative interface. If the user does not have the appropriate privileges (add and write) on the bundle then that bundle will not be shown to the user as an option.

Property:

xmlui.community-list.render.full

Example Value:

xmlui.community-list.render.full = true

Informational Note:

On the community-list page should all the metadata about a community/collection be available to the theme. This parameter defaults to true, but if you are experiencing performance problems on the community-list page you should experiment with turning this option off.

Property:

xmlui.community-list.cache

Example Value:

xmlui.community-list.cache = 12 hours

Informational Note:

Normally, Manakin will fully verify any cache pages before using a cache copy. This means that when the community-list page is viewed the database is queried for each community/collection to see if their metadata has been modified. This can be expensive for repositories with a large community tree. To help solve this problem you can set the cache to be assumed valued for a specific set of time. The downside of this is that new or editing communities/collections may not show up the website for a period of time.

Property:

xmlui.bistream.mods

Example Value:

xmlui.bistream.mods = true

Informational Note:

Optionally, you may configure Manakin to take advantage of metadata stored as a bitstream. The MODS metadata file must be inside the "METADATA" bundle and named MODS.xml. If this option is set to 'true' and the bitstream is present then it is made available to the theme for display.

Property:

xmlui.bitstream.mets

Example Value:

xmlui.bitstream.mets = true

Informational Note:

Optionally, you may configure Manakin to take advantage of metadata stored as a bitstream. The METS metadata file must be inside the "METADATA" bundle and named METS.xml. If this option is set to "true" and the bitstream is present then it is made available to the theme for display.

Property:

xmlui.google.analytics.key

Example Value:

xmlui.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. First sign up for an account at http://analytics.google.com, then create an entry for your repositories website. Google Analytics will give you a snippet of javascript code to place on your site, inside that snip it is your Google Analytics key usually found in the line: _uacct = "UA-XXXXXXX-X" Take this key (just the UA-XXXXXX-X part) and place it here in this parameter.

Property:

xmlui.controlpanel.activity.max

Example Value:

xmlui.controlpanel.activity.max = 250

Informational Note:

Assign how many page views will be recorded and displayed in the control panel's activity viewer. The activity tab allows an administrator to debug problems in a running DSpace by understanding who and how their dspace is currently being used. The default value is 250.

Property:

xmlui.controlpanel.activity.ipheader

Example Value:

xmlui.controlpanel.activity.ipheader = X-Forward-For

Informational Note:

Determine where the control panel's activity viewer receives an events IP address from. If your DSpace is in a load balanced environment or otherwise behind a context-switch then you will need to set the parameter to the HTTP parameter that records the original IP address.

...

If you wish to add more metadata elements, you can do this in one of two ways. Via the DSpace admin UI you may define new metadata elements in the different available schemas. But you may also modify the XML file (or provide an additional one), and re-import the data as follows:

Code Block
[dspace]/bin/dspace dsrun org.dspace.administer.MetadataImporter -f [xml file]

The XML file should be structured as follows:

Code Block
languagehtml/xml
<dspace-dc-types>
    <dc-type>
        <schema>dc</schema>
        <element>contributor</element>
        <qualifier>advisor</qualifier>
        <scope_note>Use primarily for thesis advisor.</scope_note>
    </dc-type>
</dspace-dc-types>

...

The Tab File Logger plugin is provided as the class org.dspace.app.statistics.UsageEventTabFileLogger. It writes event records to a file in tab-separated column format. If left unconfigured, an error will be noted in the DSpace log and no file will be produced. To specify the file path, provide an absolute path as the value for usageEvent.tabFileLogger.file in dspace.cfg.

The XML Logger Plugin

The XML Logger plugin is provided as the class org.dspace.app.statistics.UsageEventXMLLogger. It writes event records to a file in a simple XML-like format. If left unconfigured, an error will be noted in the DSpace log and no file will be produced. To specify the file path, provide an absolute path as the value for usageEvent.xmlLogger.file in dspace.cfg.

 webui.browse.metadata.show-freq.1 = false
# webui.browse.metadata.show-freq.2 = false