Versions Compared

Key

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

...

We will use the dspace.cfg as our example for input conventions used through out throughout the system. It is a basic Java properties file, where lines are either comments, starting with a '#', blank lines, or property/value pairs of the form:

...

Some property defaults are "commented out". That is, they have a "#" proceeding preceding them, and the DSpace software ignores the config property. This may cause the feature not to be enabled, or, cause a default property to be used when the software is compiled and updated.

...

Things you should know about editing dspace.cfg files.
It is important to remember that there are * two dspace.cfg files after an installation of DSpace.*

...

  1. The "source" file that is found in {{\[dspace-source\]/dspace/config/dspace.cfg}}unmigrated-wiki-markup
  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.

...

To keep the two files in synchronization, you can edit your files in {{\[dspace-source\]/dspace/config/}} and then you would run the following commands: Wiki Markup{{{*}

Code Block
cd 

...

[dspace-source

...

]/dspace/target/dspace-<version>-build.dir ant update_configs

...

This will copy the source {{dspace.cfg}} (along with other configuration files) into the runtime ({{\[dspace\]/config}}) directory.

You should remember that after editing your configuration file(s), and you are done and wish to implement the changes, you will need to:

...

  • Run {{{*}{_}ant \ -Dconfig=/\[dspace\]/config/dspace.cfg update{_}{*}}} if you are updating your {{dspace.cfg}} file and wish to see the changes appear. Follow the usual sequence with copying your webapps.unmigrated-wiki-markup
  • If you edit _dspace.cfg_ in _\[dspace-source\]/dspace/config/_, you should then run '_ant init_configs_' in the directory _\[dspace-source\]/dspace/target/dspace-1.5.2-build.dir_ so that any changes you may have made are reflected in the configuration files of other applications, for example Apache. You may then need to restart those applications, depending on what you changed.

The dspace.cfg Configuration Properties File

...

  • Server IP: _________________________________
  • Host Name (Server name): _________________________________
  • dspace.url: _________________________________
  • Administrator's email: _________________________________
  • handle prefix: _________________________________
  • assetstore directory: _________________________________
  • SMTP server: _________________________________

The dspace.cfg file

Below is a brief "Properties" table for the dspace.cfg file and the documented details are referenced. Please refer to those sections for the complete details of the parameter you are working with.

Property

Ref. Sect.

Basic Information

Code Block
dspace.dir
dspace.hostname
dspace.baseUrl
dspace.url
dspace.oai.url
dspace.name

6.3.2

Database Settings

Code Block
db.name
db.url
db.driver
db.username
db.password

4.2.3 or 6.3.3

Advanced Database Configuration

Code Block
db.schema
db.maxconnection
db.maxwait
db.maxidle
db.statementpool
db.poolname

6.3.3

Email Settings

Code Block
mail.server
mail.server.username
mail.server.password
mail.server.port
mail.from.address
feedback.recipient
mail.admin
alert.recipient
registration.notify
mail.charset
mail.allowed.referrers
mail.extraproperties
mail.server.disabled

6.3.4

File Storage

Code Block
assetstore.dir
[assetstore.dir.1
assetstore.dir.2
assetstore.incoming]

6.3.5

SRB File Storage

Code Block
srb.hosts.1
srb.port.1
srb.mcatzone.1
srb.mdasdomainname.1
srb.defaultstorageresource.1
srb.username.1
srb.password.1
srb.homedirectory.1
srb.parentdir.1

6.3.6

Logging Configuration

Code Block
log.init.config
log.dir
useProxies

6.3.7

Search Settings

Code Block
search.dir
search.max-clauses
search.analyzer
search.operator
search.maxfieldlengthsearch.index.n
search.index.1

6.3.8

Handle Settings

Code Block
handle.prefix
handle.dir

6.3.9

Delegation Administration : Authorization System Configuration

Code Block
core.authorization.community-admin.create-subelement
core.authorization.community-admin.delete-subelement
core.authorization.community-admin.policies
core.authorization.community-admin.admin-group
core.authorization.community-admin.collection.policies
core.authorization.community-admin.collection.template-item
core.authorization.community-admin.collection.submitters
core.authorization.community-admin.collection.workflows
core.authorization.community-admin.collection.admin-group
core.authorization.community-admin.item.delete
core.authorization.community-admin.item.withdraw
core.authorization.community-admin.item.reinstatiate
core.authorization.community-admin.item.policies
core.authorization.community-admin.item.create-bitstream
core.authorization.community-admin.item.delete-bitstream
core.authorization.community-admin.item-admin.cc-license
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
core.authorization.collection-admin.item.delete
core.authorization.collection-admin.item.withdraw
core.authorization.collection-admin.item.reinstatiate
core.authorization.collection-admin.item.policies
core.authorization.collection-admin.item.create-bitstream
core.authorization.collection-admin.item.delete-bitstream
core.authorization.collection-admin.item-admin.cc-license
core.authorization.item-admin.policies
core.authorization.item-admin.create-bitstream
core.authorization.item-admin.delete-bitstream
core.authorization.item-admin.cc-license

6.3.10

Stackable Authentication Methods

Code Block
plugin.sequence.org.dspace.authenticate.AuthenticationMethod

6.3.11

Shibboleth Authentication Settings

Code Block
authentication.shib.email-header
authentication.shib.firstname-header
authentication.shib.lastname-header
authentication.shib.email-use-tomcat-remote-user
authentication.shib.autoregister
authentication.shib.role-header
authentication.shib.default-roles
authentication.shib.role.Senior\ Researcher
authentication.shib.role.Librarian

6.3.11.1

Password Authentication Options

Code Block
authentication.password.domain.valid
    password.login.specialgroup

6.3.11.2

X.509 Certificate Authentication

Code Block
authentication.x509.keystore.path
authentication.x509.keystore.password
authentication.x509.keystore.cert
authentication.x509.keystore.autoregister
authentication.x509.chooser.title.key
authentication.x509.chooser.uri

6.3.11.3

IP-based Authentication

authentication.ip.GROUPNAME

6.3.11.5

LDAP Authentication

Code Block
ldap.enable
ldap.provider_url
ldap.id_field
ldap.object_context
ldap.search_context
ldap.email_field
ldap.surname_field
ldap.givenname_field
ldap.phone_field
webui.ldap.autoregister
ldap.login.specialgroup

6.3.11.6

Hierarchical LDAP Settings:

Code Block
ldap.search_scope
ldap.search.user
ldap.netid_email_domain

6.3.11.6

Restricted Item Visibility Settings

Code Block
harvest.includerestricted.rss
harvest.includerestricted.oai
harvest.includerestricted.subscription

6.3.12

Proxy Settings

Code Block
http.proxy.host
http.proxy.port

6.3.13

Media Filter--Format Filter Plugin Settings

Code Block
filter.plugins
plugin.named.org.dspace.app.mediafilter.FormatFilter
   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

6.3.14

Custom settings for PDFFilter

Code Block
pdffilter.largepdfsdffilter.skiponmemoryexception

6.3.14

Crosswalk and Packager Plugin Settings (MODS, QDC, XSLT, etc.)

Code Block
crosswalk.mods.properties.MODS
crosswalk.mods.properties.mods
crosswalk.submission.MODS.stylesheet

6.3.15.1

Code Block
crosswalk.qdc.namespace.QDC.dc
crosswalk.qdc.namespace.QDC.dcterms
crosswalk.qdc.schemaLocation.QDC
crosswalk.qdc.properties.QDC
mets.submission.crosswalk.DC
mets.submission.preserveManifest
mets.submission.useCollectionTemplate

6.3.15

Code Block
plugin.named.org.dspace.content.crosswalk.IngestionCrosswalk
plugin.selfnamed.org.dspace.content.crosswalk.IngestionCrosswalk
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk
plugin.selfnamed.org.dspace.content.crosswalk.DisseminationCrosswalk

6.3.15.4

Code Block
plugin.named.org.dspace.content.packager.PackageDisseminator
plugin.named.org.dspace.content.packager.PackageIngester

6.3.15.5

Event System Configuration

Code Block
event.dispatcher.default.class
event.dispatcher.default.consumers
event.dispatcher.noindex.class
event.dispatcher.noindex.consumers
event.consumer.search.class
event.consumer.search.filters
event.consumer.browse.class
event.consumer.browse.filters
event.consumer.eperson.class
event.consumer.eperson.filters
event.consumer.harvester.class
event.consumer.harvester.filters
event.consumer.test.class
event.consumer.test.filters
testConsumer.verbose

6.3.16

Embargo Settings

Code Block
embargo.field.terms
embargo.field.lift
embargo.field.open
plugin.single.org.dspace.embargo.EmbargoSetter
plugin.single.org.dspace.embargo.EmbargoLifter

6.3.17

Checksum Checker

Code Block
plugin.single.org.dspace.checker.BitsreamDispatcher
checker.retention.default
checker.retention.CHECKSUM-MATCH

6.3.18

Item Export and Download Settings

Code Block
org.dspace.app.itemexport.work.dir
org.dspace.app.itemexport.download.dir
org.dspace.app.itemexport.life.span.hours
org.dspace.app.itemexport.max.size

6.3.19

Subscription Email Option

Code Block
eperson.subscription.onlynew

6.3.20

Bulk (Batch) Metadata Editing

Code Block
bulkedit.valueseparator
bulkedit.fieldseparator
bulkedit.gui-item-limit
bulkedit.ignore-on-export

6.3.21

Hide Item Metadata Fields Setting

Code Block
metadata.hide.dc.description.provenance

6.3.22

Submission Process

Code Block
webui.submit.blocktheses
webui.submit.upload.required

6.3.23

Code Block
webui.submit.enable-cc
webui.submit.cc-jurisdiction

6.3.24

Settings for Thumbnail Creation

Code Block
webui.browse.thumbnail.show
webui.browse.thumbnail.max.height
webui.browse.thumbnail.max.width
webui.item.thumbnail.show
webui.browse.thumbnail.linkbehaviour
thumbnail.maxwidth
thumbnail.maxheight

6.3.25

Settings for Item Preview

Code Block
webui.preview.enabled
webui.preview.maxwidth
webui.preview.maxheight
webui.preview.brand
webui.preview.brand.abbrev
webui.preview.brand.height
webui.preview.brand.font
webui.preview.brank.fontpoint
webui.preview.dc

6.3.25

Settings for Content Count/Strength Information

Code Block
webui.strengths.show
webui.strengths.cache

6.3.25

Browse Configuration


webui.browse.index.n

6.3.26

webui.itemlist.sort-option.n

6.3.26

webui.browse.medata.case-insensitive

6.3.26.3

Code Block
webui.browse.value_columns.max
webui.browse.sort_columns.max
webui.browse.value_columns.omission_mark
plugin.named.org.dspace.sort.OrderFormatDelegate

6.3.26.4

Multiple Metadata Value Display

Code Block
webui.browse.author-field
webui.browse.author-limit

6.3.27

Other Browse Contexts

webui.browse.link.n

6.3.28

Recent Submission

Code Block
recent.submission.sort-option
recent.submissions.count
plugin.sequence.org.dspace.plugin.CommunityHomeProcessor
plugin.sequence.org.dspace.plugin.CollectionHomeProcessor

6.3.29

Submission License Substitution Variables

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

6.3.30

Syndication Feed (RSS) Settings

Code Block
webui.feed.enable
webui.feed.items
webui.feed.cache.size
webui.cache.age
webui.feed.formats
webui.feed.localresolve
webui.feed.item.title
webui.feed.item.date
webui.feed.item.description
webui.feed.item.author
webui.feed.item.dc.creator
webui.feed.item.dc.date
webui.feed.item.dc.description
webui.feed.logo.url

6.3.31

OpenSearch Settings

Code Block
websvc.opensearch.enable
websvc.opensearch.uicontext
websvc.opensearch.svccontext
websvc.opensearch.autolink
websvc.opensearch.validity
websvc.opensearch.shortname
websvc.opensearch.longname
websvc.opensearch.description
websvc.opensearch.faviconurl
websvc.opensearch.samplequery
websvc.opensearch.tags
websvc.opensearch.formats

6.3.32

Content Inline Disposition Threshold

Code Block
webui.content_disposition_threshold
xmlui.content_disposition_threshold

6.3.33

Multifile HTML Settings

Code Block
webui.html.max-depth-guess
xmlui.html.max-depth-guess

6.3.34

Sitemap Settings

Code Block
sitemap.dir
sitemap.engineurls

6.3.35

Authority Control Settings

Code Block
plugin.named.org.dspace.content.authority.ChoiceAuthority
plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority
lcname.url
sherpa.romeo.url
authority.minconfidence
xmlui.lookup.select.size

6.3.36

JSPUI Upload File Settings

Code Block
upload.temp.dir
upload.max

6.3.37

JSP Web Interface Settings

Code Block
webui.licence_bundle.show
webui.itemdisplay.default
webui.resolver.1.urn
webui.resolver.1.baseurl
webui.resolver.2.urn
webui.resolver.2.baseurl
plugin.single.org.dspace.app.webui.util.StyleSelection
webui.itemdisplay.thesis.collections
webui.itemdisplay.metadata-style
webui.itemlist.columns
webui.itemlist.widths
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
webui.itemlist.dateaccessioned.columns
webui.itemlist.dateaccessioned.widths
webui.itemlist.tablewidth

6.3.38

JSPUI i18n Locales / Languages

 

default.locale

6.3.39

JSPUI Additional Configuration for Item Mapper

itemmap.author.index

6.3.40

JSPUI MyDSpace Display of Group Membership

 

webui.mydspace.showgroupmembership

6.3.41

JSPUI SFX Server Setting

sfx.server.url

6.3.42

JSPUI Item Recommendation Settings

Code Block
webui.suggest.enable
webui.suggest.loggedinusers.only

6.3.43

JSPUI Controlled Vocabulary Settings

webui.controlledvocabulary.enable

6.3.44

JSPUI Session Invalidation

webui.session.invalidate

6.3.45

XMLUI Settings (Manakin)

Code Block
xmlui.supported.locales
xmlui.force.ssl
xmlui.user.registration
xmlui.user.editmetadata
xmlui.user.assumelogin
xmlui.user.logindirect
xmlui.theme.allowoverrides
xmlui.bundle.upload
xmlui.community-list.render.full
xmlui.community-list.cache
xmlui.bitstream.mods
xmlui.bitstream.mets
xmlui.google.analytics.key
xmlui.controlpanel.activity.max
xmlui.controlpanel.activity.ipheader

6.3.46

OAI-PMH Specific Configurations

Code Block
oai.didl.maxresponse
oai.mets.hide-provenance

5.2.47

SWORD Specific Configurations

Code Block
mets.submission.crosswalk.EPDCX
crosswalk.submission.SWORD.stylesheet
sword.deposit.url
sword.servicedocument.url
sword.media-link.url
sword.generator.url
sword.updated.field
sword.slug.field
sword.accept-packaging.METSDSpaceSIP.identifier
sword.accept-packaging.METSDSpaceSIP.q
sword.accepts
sword.expose-items
sword.expose-communities
sword.max-upload-size
sword.keep-original-package
sword.bundle.name
sword.identify-version
sword.on-behalf-of.enable

6.4.6

OAI-ORE Harvester Configurations

Code Block
harvester.oai.metadataformats.dc
harvester.oai.metadataformats.qdc
harvester.oai.metadataformats.dim
harvester.autoStart
harvester.timePadding
harvester.harvestFrequency
harvester.minHeartbeat
harvester.maxHeartbeat
harvester.threadTimeout
harvester.unknownField
harvester.unknownSchema
ore.authoritative.source
harvester.acceptedHandleServer
harvester.rejectedHandlePrefix

6.3.48

SOLR Statistics Configurations

Code Block
solr.log.server
solr.dbfilesolr.resolver.timeout
statistics.item.authorization.adminsolr.statistics.logBots
solr.statistics.query.filter.spiderIP
solr.statistics.query.filter.isBot
solr.spiderips.urls

6.3.49

...

Property:

dspace.dir

Example Value:

/dspace

Informational Note:

Root directory of DSpace installation. Omit the trailing '/'. Note that if you change this, there are several other parameters you will probably want to change to match, e.g. assetstore.dir .

Property:

dspace.hostname

Example Value:

dspace.hostname = dspace.mysu.edu

Informational Note:

Fully qualified hostname; do not include port number.

Property:

dspace.baseUrl

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f34413bc-37c0-4ed0-9c1a-aeed766b403c"><ac:plain-text-body><![CDATA[

Example Value:

[http://dspacetest.myu.edu:8080]

]]></ac:plain-text-body></ac:structured-macro>

Example Value:

[http://dspacetest.myu.edu:8080]

Informational Note:

Main URL

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)

...

Wording of E-mail Messages

...

Sometimes DSpace automatically sends e-mail messages to users, for example, to inform them of a new work flow task, or as a subscription e-mail alert. The wording of emails can be changed by editing the relevant file in {{\[dspace\]/config/emails}} . Each file is commented. Be careful to keep the right number 'placeholders' (e.g._\{2\}_).

Note: You should replace the contact-information "dspace-help@myu.edu or call us at xxx-555-xxxx" with your own contact details in:
config/emails/change_password
config/emails/register

...

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 Section 5.2.6 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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ebd4304a-8f52-4cb0-bb10-4d6a2be7a558"><ac:plain-text-body><![CDATA[

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.

]]></ac:plain-text-body></ac:structured-macro>

Info
titleBe Careful

In the examples above, you can see that your storage does not have to be under the /dspace directory. For the default installation it needs to reside on the same server (unless you plan to configure SRB (cf. see below)). So, if you added storage space to your server, and it has a different logical volume/name/directory, you could have the following as an example:

...

  • a local file system directory (native DSpace)
  • a set of SRB account parameters (host, port, zone, domain, username, password, home directory, and resource
    Should the there be any conflict, like '2' referring to a local directory and to a set of SRB parameters, the program will select the local directory.

...

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.

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

...

In the example above, search.index.1 and search.index.2 and search.index.3 are configured as the author search field. The author index is created by Lucene indexing all dc.contributor.*,dc.creator.* and description.statementofresponsibility metadata fields.

Wiki MarkupAfter changing the configuration run {{/\[dspace\]/bin/dspace index-init}} to regenerate the indexes.

While the indexes are created, this only affects the search results and has no effect on the search components of the user interface. One will need to customize the user interface to reflect the changes, for example, to add the a new search category to the Advanced Search.

...

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.

...

  1. By explicitly specifying to the user which attribute (header) carries the email address.
  2. By turning on the user-email-using-tomcat=true which means the software will attempt to acquire the user's email from Tomcat.
    The first option takes Precedence when specified. both options can be enabled to allow for fallback.

    Property:

    authentication.shib.email-header

    Example Value:

    authentication.shib.email-header = MAIL

    Informational Note:

    The option specifies that the email comes from the mentioned header. This value is CASE-Sensitive.

    Property:

    authentication.shib.firstname-header

    Example Value:

    authentication.shib.firstname-header = SHIB-EP-GIVENNAME

    Informational Note:

    Optional. Specify the header that carries the user's first name. This is going to be used for the creation of new-user.

    Property:

    authentication.shib.lastname-header

    Example Value:

    authentication.shib.lastname-header = SHIB-EP-SURNAME

    Informational Note:

    Optional. Specify the header that carries user's last name. This is used for creation of new user.

    Property:

    authentication.shib.email-use-tomcat-remote-user

    Example Value:

    authentication.shib.email-use-tomcat-remote-user = true

    Informational Note:

    This option forces the software to acquire the email from Tomcat.

    Property:

    authentication.shib.autoregister

    Example Value:

    authentication.shib.autoregister = true

    Informational Note:

    Option will allow new users to be registered automatically if the IdP provides sufficient information (and the user does not exist in DSpace).

    Property:

    Code Block
    authentication.shib.role-header
    authentication.shib-role.header.ignore-scope

    Example Value:

    Code Block
    authentication.shib.role-header = Shib-EP-ScopedAffiliation
    authentication.shib-role.header.ignore-scope = true

    or

    Code Block
    authentication.shib.role-header = Shib-EP-UnscopedAffiliation
     authentication.shib-role.header.ignore-scope = false

    Informational Note:

    These two options specify which attribute that is responsible for providing user's roles to DSpace and unscope the attributes if needed. When not specified, it is defaulted to 'Shib-EP-UnscopedAffiliation', and ignore-scope is defaulted to 'false'. The value is specified in AAP.xml (Shib 1.3.x) or attribute-filter.xml (Shib 2.x). The value is CASE-Sensitive. The values provided in this header are separated by semi-colon or comma. If your sp service provider (SP) only provides scoped role header, you need to set authentication.shib.role-header.ignore-Scope as 'true'. For example if you only get Shib-EP-ScopedAffiliation instead of Shib-EP-ScopedAffiliation, you name to make your settings as in the example value above.

    Property:

    authentication.shib.default-roles

    Example Value:

    authentication.shib.default-roles = Staff, Walk-ins

    Informational Note:

    When user is fully authN or IdP but would not like to release his/her roles to DSpace (for privacy reasons?), what should the default roles be given to such user. The values are separated by semi-colon or comma.

    Property:

    Code Block
    authentication.shib.role.Senior\ Researcher
    authentication.shib.role.Librarian

    Example Value:

    Code Block
    authentication.shib.role.Senior\ Researcher = Researcher, Staff
    authentication.shib.role.Librarian = Administrator

    Informational Note:

    The following mappings specify role mapping between IdP and Dspace. The left side of the entry is IdP's role (prefixed with 'authentication.shib.role.') which will be mapped to the right entry from DSpace. DSpace's group as indicated on the right entry has to EXIST in DSpace, otherwise user will be identified as 'anonymous'. Multiple values on the right entry should be separated by comma. The values are CASE-Sensitive. Heuristic one-to-one mapping will be done when the IdP groups entry are not listed below (i.e. if 'X' group in IdP is not specified here, then it will be mapped to 'X' group in DSpace if it exists, otherwise it will be mapped to simply 'anonymous'). Given sufficient demand, future release could support regex for the mapping special characters need to be escaped by '\'

...

  1. See the HTTPS installation instructions to configure your Web server. If you are using HTTPS with Tomcat, note that the <Connector> tag must include the attribute clientAuth="true" so the server requests a personal Web certificate from the client.
  2. Add the org.dspace.authenticate.X509Authentication plugin first to the list of stackable authentication methods in the value of the configuration key plugin.sequence.org.dspace.authenticate.AuthenticationMethod e.g.:
    Code Block
    plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
         org.dspace.authenticate.X509Authentication, \
         org.dspace.authenticate.PasswordAuthentication  
  1. You must also configure DSpace with the same CA certificates as the web server, so it can accept and interpret the clients' certificates. It can share the same keystore file as the web server, or a separate one, or a CA certificate in a file by itself. Configure it by one of these methods, either the Java keystore
    Code Block
    authentication.x509.keystore.path =  path to Java keystore file
     authentication.x509.keystore.password =  password to access the keystore
    ...or the separate CA certificate file (in PEM or DER format):
    Code Block
    authentication.x509.ca.cert =  path to certificate file for CA
                                         whose client certs to accept.
  2. Choose whether to enable auto-registration: If you want users who authenticate successfully to be automatically registered as new E-Persons if they are not already, set the authentication.x509.autoregister configuration property to true. This lets you automatically accept all users with valid personal certificates. The default is false.

...

Configuring IP Authentication

Wiki MarkupYou can enable IP authentication by adding its method to the stack in the DSpace configuration, e.g.: {{

Code Block
plugin.sequence.org.dspace.authenticate.AuthenticationMethod =

...

 org.dspace.authenticate.IPAuthentication

}} You are than then able to map DSpace groups to IP 's addresses in dspace.cfg by setting {{authentication.ip.GROUPNAME = iprange\[, iprange ...\]}}, e.g:

Code Block
authentication.ip.MY_UNIVERSITY = 10.1.2.3, \                  # Full IP
                                  13.5, \                      # Partial IP
                                  11.3.4.5/24, \               # with CIDR
                                  12.7.8.9/255.255.128.0,      # with netmask
                                  2001:18e8::/32               # IPv6 too

Negative matches can be set by prepending the entry with a '-'. For example if you want to include all of a class B network except for users of a contained class c network, you could use: 111.222,-111.222.333.

...

Standard LDAP Configuration

Property:

ldap.enable

Example Value:

ldap.enable = false

Informational Note:

This setting will enable or disable LDAP authentication in DSpace. With the setting off, users will be required to register and login with their email address. With this setting on, users will be able to login and register with their LDAP user ids and passwords.

Property:

ldap.provider_url

Example Value:

ldap.provider_url = ldap://ldap.myu.edu/o=myu.edu

Informational Note:

This is the url to your institution's LDAP server. You may or may not need the /o=myu.edu part at the end. Your server may also require the ldaps:// protocol.

Property:

ldap.id_field

Example Value:

ldap.id_field = uid

Explanation:

This is the unique identifier field in the LDAP directory where the username is stored.

Property:

ldap.object_context

Example Value:

ldap.object_context = ou=people, o=myu.edu

Informational Note:

This is the object context used when authenticating the user. It is appended to the ldap.id_field and username. For example uid=username,ou=people,o=myu.edu. You will need to modify this to match your LDAP configuration.

Property:

ldap.search_context

Example Value:

ldap.search_context = ou=people

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8d9ec92f-5146-4fcb-8e0c-1daf9ce95cea"><ac:plain-text-body><![CDATA[

Informational Note:

This is the search context used when looking up a user's LDAP object to retrieve their data for autoregistering. With ldap.autoregister turned on, when a user authenticates without an EPerson object we search the LDAP directory to get their name and email address so that we can create one for them. So after we have authenticated against uid=username,ou=people,o=byu.edu we now search in ou=people for filtering on [uid=username]. Often the ldap.search_context is the same as the ldap.object_context parameter. But again this depends on your LDAP server configuration.

]]></ac:plain-text-body></ac:structured-macro>

Property:

ldap.email_field

Example Value:

ldap.email_field = mail

Informational Note:

This is the LDAP object field where the user's email address is stored. "mail" is the default and the most common for ldap LDAP servers. If the mail field is not found the username will be used as the email address when creating the eperson object.

Property:

ldap.surname_field

Example Value:

ldap.surname_field = sn

Informational Note:

This is the LDAP object field where the user's last name is stored. "sn" is the default and is the most common for LDAP servers. If the field is not found the field will be left blank in the new eperson object.

Property:

ldap.givenname_field

Example Value:

ldap.givenname_field = givenName

Informational Note:

This is the LDAP object field where the user's given names are stored. I'm not sure how common the givenName field is in different LDAP instances. If the field is not found the field will be left blank in the new eperson object.

Property:

ldap.phone_field

Example Value:

ldap.phone_field = telephoneNumber

Informational Note:

This is the field where the user's phone number is stored in the LDAP directory. If the field is not found the field will be left blank in the new eperson object.

Property:

webui.ldap.autoregister

Example Value:

webui.ldap.autoregister = true

Informational Note:

This will turn LDAP autoregistration on or off. With this on, a new EPerson object will be created for any user who successfully authenticates against the LDAP server when they first login. With this setting off, the user must first register to get an EPerson object by entering their ldap username and password and filling out the forms.

LDAP Users Group

Property:

ldap.login.specialgroup

Example Value:

ldap.login.specialgroup = group-name

Informational Note:

If required, a group name can be given here, and all users who log into LDAP will automatically become members of this group. This is useful if you want a group made up of all internal authenticated users. (Remember to log on as the administrator, add this to the "Groups" with read rights).

...

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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6fdc84db-4d58-4901-aa2d-415d9d51f834"><ac:plain-text-body><![CDATA[

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) ]]></ac:plain-text-body></ac:structured-macro>

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
dc.contributor.author = <mods:name>
				<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

...

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

Code Block
   crosswalk.submissionPluginName.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\
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}}).

You can make two different plugin names point to the same crosswalk, by adding two configuration entries with the same path:

Code Block
     crosswalk.submission.MyFormat.stylesheet = crosswalks/myformat.xslt
     crosswalk.submission.almost_DC.stylesheet = crosswalks/myformat.xslt

The dissemination crosswalk must also be configured with an XML Namespace (including prefix and URI) and an XML schema for its output format. This is configured on additional properties in the DSpace configuration:

Code Block
     crosswalk.dissemination.PluginName.namespace.Prefix = namespace-URI
     crosswalk.dissemination.PluginName.schemaLocation = schemaLocation value

For example:

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

...

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

...

In the property key "{{crosswalk.qdc.properties.QDC}}" 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 {{/\[dspace\]/config}} . Referring back to the "Example Value" for this property key, one has {{crosswalks/qdc.properties}} which defines a crosswalk named {{QDC}} whose configuration comes from the file {{\[dspace\]/config/crosswalks/qdc.properties}} .

You will also need to configure the namespaces and schema location strings for the XML output generated by this crosswalk. The namespaces properties names are formatted:

...

  1. Setter. The default setter recognizes only two expressions of terms: either a literal, non-relative date in the fixed format 'yyyy-mm-dd' (known as ISO 8601), or a special string used for open-ended embargo (the default configured value for this is 'forever', but this can be changed in dspace.cfg to 'toujours', 'unendlich', etc). It will perform a minimal sanity check that the date is not in the past. Similarly, the default setter will only remove all read policies as noted above, rather than applying more nuanced rules (e.g allow access to certain IP groups, deny the rest). Fortunately, the setter class itself is configurable and you can 'plug in' any behavior you like, provided it is written in java and conforms to the setter interface. The dspace.cfg property:
    Code Block
    # implementation of embargo setter plugin - replace with local implementation if applicable
    plugin.single.org.dspace.embargo.EmbargoSetter = org.dspace.embargo.DefaultEmbargoSetter
    controls which setter to use.
  2. Lifter.The default lifter behavior as described above‚Äîessentially above‚ essentially applying the collection policy rules to the item‚Äîmight item‚ might also not be sufficient for all purposes. It also can be replaced with another class:
    Code Block
    # implementation of embargo lifter plugin--replace with local implementation if applicable
    plugin.single.org.dspace.embargo.EmbargoLifter = org.dspace.embargo.DefaultEmbargoLifter

...

  1. Simple Dates.If you want to enter simple calendar dates for when an embargo will expire, follow these steps.
    1. Select a metadata field. Let's use dc.description.embargo. This field does not exist in in the default DSpace metadata directory, so login as an administrator, go the metadata registry page, select the 'dc' schema, then add the metadata field.
    2. Wiki MarkupExpose the metadata field. Edit _\[dspace\]/config/input-forms.xml_ . If you have only one form‚Äîusually form‚ usually 'traditional', add it there. If you have multiple forms, add it only to the forms linked to collections for which embargo applies:
      Code Block
      <form name="traditional">
          <page number="1">
            ...
             <field>
               <dc-schema>dc</dc-schema>
               <dc-element>description</dc-element>
               <dc-qualifier>embargo</dc-qualifier>
               <repeatable>false</repeatable>
               <label>Embargo Date</label>
               <input-type>onebox</input-type>
               <hint>If required, enter date 'yyyy-mm-dd' when embargo expires or 'forever'.</hint>
               <required></required>
             </field>
      
      Note: if you want to require embargo terms for every item, put a phrase in the <required> element. Example:<required>You must enter an embargo date</required>unmigrated-wiki-markup
    3. Configure Embargo. Edit _\[dspace\]/config/dspace.cfg_. Find the Embargo properties and set these two:
      Code Block
      # DC metadata field to hold the user-supplied embargo terms
      embargo.field.terms = dc.description.embargo
      
      # DC metadata field to hold computed "lift date" of embargo
      embargo.field.lift = dc.description.embargo
    4. Restart DSpace application. This will pick up these changes. Now just enter future dates (if applicable) in web submission and the items will be placed under embargo. You can enter years ('2020'), years and months ('2020-12'), or also days ('2020-12-15').
    5. Wiki MarkupPeriodically run the lifter. Run the task:_\[dspace\]/bin/dspace embargo-lifter_You will want to run this task in a cron-scheduled or other repeating way. Item embargoes will be lifted as their dates pass.
  2. Period Sets. If you wish to use a fixed set of time periods (e.g. 90 days, 6 months and 1 year) as embargo terms, follow these steps, which involve using a custom 'setter'.
    1. Select two metadata fields. Let's use 'dc.embargo.terms' and 'dc.embargo.lift'. These fields do not exist in the default DSpace metadata registry. Login as an administrator, go the metadata registry page, select the 'dc' schema, then add the metadata fields.unmigrated-wiki-markup
    2. Expose the 'term' metadata field. The lift field will be assigned by the embargo system, so it should not be exposed directly. Edit _\[dspace\]/config/input-forms.xml_ . If you have only one form (usually 'traditional') add it there. If you have multiple forms, add it only to the form(s) linked to collection(s) for which embargo applies. First, add the new field to the 'form definition':
      Code Block
      <form name="traditional">
          <page number="1">
            ...
             <field>
               <dc-schema>dc</dc-schema>
               <dc-element>embargo</dc-element>
               <dc-qualifier>terms</dc-qualifier>
               <repeatable>false</repeatable>
               <label>Embargo Terms</label>
               <input-type value-pairs-name="embargo_terms">dropdown</input-type>
               <hint>If required, select embargo terms.</hint>
               <required></required>
               </field>
      Note: If you want to require embargo terms for every item, put a phrase in the <required> element, e.g._<required>You must select embargo terms</required>_Observe that we have referenced a new value-pair list: "embargo_terms'. We must now define that as well (only once even if references by multiple forms):
      Code Block
      <form-value-pairs>
         ...
         <value-pairs value-pairs-name="embargo_terms" dc-term="embargo.terms">
           <pair>
             <displayed-value>90 days</displayed-value>
             <stored-value>90 days</stored-value>
           </pair>
           <pair>
             <displayed-value>6 months</displayed-value>
             <stored-value>6 months</stored-value>
           </pair>
           <pair>
             <displayed-value>1 year</displayed-value>
             <stored-value>1 year</stored-value>
           </pair>
         </value-pairs>
      
      Note: if desired, you could localize the language of the displayed value.
    3. Configure Embargo. Edit /dspace/config/dspace.cfg. Find the Embargo properties and set the following properties:
      Code Block
          # DC metadata field to hold the user-supplied embargo terms
          embargo.field.terms = dc.embargo.terms
      
          # DC metadata field to hold computed "lift date" of embargo
          embargo.field.lift = dc.embargo.lift
      
          # implementation of embargo setter plugin - replace with local implementation if applicable
          plugin.single.org.dspace.embargo.EmbargoSetter = org.dspace.embargo.DayTableEmbargoSetter

Now add a new property called 'embargo.terms.days' as follows:

Code Block
    # DC metadata field to hold computed "lift date" of embargo
    embargo.terms.days = 90 days:90, 6 months:180, 1 year:365
    1. This step is the same as Step A.4 above, except that instead of entering a date, the submitter will select a value form a drop-down list.unmigrated-wiki-markup
    1. Periodically run the lifter. Run the task: {{\
      [dspace\]/bin/dspace embargo-lifter}} .
      You will want to run this task in a cron-scheduled or other repeating way. Item embargoes will be lifted as their dates pass.

Checksum Checker Settings

...

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

...

General Web User Interface Configurations
In this section of Configuration, we address the agnostic WEB User Interface that is used for JSP UI and XML UI. 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 = SanSerifSansSerif

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 using XMLUI, you need to create a theme which displays them).

Property:

webui.strengths.cache

Example Value:

webui.strengths.cache = false

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="77ad9b9e-c29e-4225-915f-5f1288fcd4fe"><ac:plain-text-body><![CDATA[

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"). ]]></ac:plain-text-body></ac:structured-macro>

Browse Index Configuration

...

Code Block
webui.browse.index.1 = dateissued:metadata:dc.date.issued:date:full
webui.browse.index.2 = author:metadata:dc.contributor.*:text
webui.browse.index.3 = title:metadataitem:dc.title:title:full
webui.browse.index.4 = subject:metadata:dc.subject.*:text
#webui.browse.index.5 = dateaccessioned:item:dateaccessioned

...

Element

Definition and Options (if available)

webui.browse.index.{<n>

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

<index name>

The name by which the index will be identified. You will need to update your Messages.properties file to match this field. (The form used in the Messages.properties file is: browse.type.metadata.<index name> .

<metadata>

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

<schema prefix>

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

<element>

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

<qualifier>

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

<datatype field>

This refers to the datatype of the field:
date the index type will be treated as a date object
title the index type will be treated like a title, which will include a link to the item page
text the index type will be treated as plain text. If single mode is specified then this will link to the full mode list

<index display>

Choose full or single. This refers to the way that the index will be displayed in the browse listing. "Full" will be the full item list as specified by webui.itemlist.columns ; "single" will be a single list of only the indexed term.

If you are customizing this list beyond the default, you will need to insert the text you wish to appear in the navigation and on link and buttons. You need to edit the Messages.properties file. The form of the parameter(s) in the file:
browse.type.<index name>

Defining Sort Options

The title browse set as the default acts a little different than when you customize it.  So, for example, if you wish to have more than the standard "title" appear in the title browse index, you would need to change your property to look like the others.  In the example below, we've decided to not only index the title, but the series too.

webui.browse.index.3 = title:metadata:dc.title,dc.relation.ispartofseries:title:
full
webui.browse.index.3 = title:metadata:dc.title,dc.relation.ispartofseries:title:full

Defining Sort Options

Sort options will be available when browsing a list of items (i.e. only in "full" mode, not "single" mode). You can define an arbitrary number of fields to Sort options will be available when browsing a list of items (i.e. only in "full" mode, not "single" mode). You can define an arbitrary number of fields to sort on, irrespective of which fields you display using web.itemlist.columns. For example, the default entries that appear in the dspace.cfg as default installation:

...

Element

Definition and Options (if available)

webui.browse.index.<n>

n is an arbitrary number you choose.

<option name>

The name by which the sort option will be identified. This may be used in later configuration or to locate the message key (found in Messages.properties file) for this index.

<schema prefix>

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

<element>

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

<qualifier>

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

<datatype field>

This refers to the datatype of the field:
date the sort type will be treated as a date object
text the sort type will be treated as plain text.

...

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 above‚ depending on what representation was present in the first item indexed.

...

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

...

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.

...

Element

Definition and Options (if available)

webui.browse.link.<n>

{{<n{{>}} is an arbitrary number you choose

<index name>

This need to match your entry for the index name from webui.browse.index property key.

<display column metadata>

Use the DC element (and qualifier)

...

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

...

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's -specified location. For example, the default size is 8Mb8MB. 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 8Mb8MB. 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 8Mb8MB. This property key applies to the XMLUI (Manakin) interface.

...

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:

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

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 displaydisplayed. Look in Messages.properties}}under {{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 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-sylestyle

Example Value:

Code Block
webui.itemdisplay.metadata-style = schema.element[.qualifier|.*]
webui.itemdisplay.metadata-sylestyle = 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.*
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2a078988-8cc8-47bd-b61c-43b54baefc4a"><ac:plain-text-body><![CDATA[

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)], ...
]]></ac:plain-text-body></ac:structured-macro>
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 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 f 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

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f6e23d57-5114-4265-821a-156b84f39e5b"><ac:plain-text-body><![CDATA[

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]. ]]></ac:plain-text-body></ac:structured-macro>

JSPUI Configuring Multilingual Support

...

\[i18n -- – Locales\]

Setting the Default Language for the Application

...

If you set webui.supported.locales make sure that all the related additional files for each language are available. LOCALE should correspond to the locale set in webui.supported.locales, e. g.: for webui.supported.locales = en, de, fr, there should be:

...

  • {{\[dspace-source\]/dspace/modules/jspui/src/main/resources/Messages.properties}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/modules/jspui/src/main/resources/Messages_en.properties}} Wiki Markup
  • {{\[dspace-source\]/dspace/modules/jspui/src/main/resources/Messages_de.properties}}
  • Wiki Markup{{\[dspace-source\]/dspace/modules/jspui/src/main/resources/Messages_fr.properties}} \\ Files to be localized:
    Files to be localized:
  • Wiki Markup{{\[dspace-source\]/dspace/modules/jspui/src/main/resources/Messages_LOCALE.properties}}
  • Wiki Markup{{\[dspace-source\]/dspace/config/input-forms_LOCALE.xml}} Wiki Markup
  • {{\[dspace-source\]/dspace/config/default_LOCALE.license {}}}{{{}{_}{_{}}}{{}should be pure ascii}}- should be pure ASCII
  • Wiki Markup{{\[dspace-source\]/dspace/config/news-top_LOCALE.html}} Wiki Markup
  • {{\[dspace-source\]/dspace/config/news-side_LOCALE.html}}
  • Wiki Markup{{\[dspace-source\]/dspace/config/emails/change_password_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/feedback_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/internal_error_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/register_LOCALE}}
  • Wiki Markup{{\[dspace-source\]/dspace/config/emails/submit_archive_LOCALE}} Wiki Markup
  • {{\[dspace-source\]/dspace/config/emails/submit_reject_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/submit_task_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/subscription_LOCALE}}unmigrated-wiki-markup
  • {{\[dspace-source\]/dspace/config/emails/suggest_LOCALE}}
  • Wiki Markup{{\[dspace\]/webapps/jspui/help/collection-admin_LOCALE.html {}}}{{{}{_}{_{}}}{{}in html keep the jump link as original; must be copied to \- in html keep the jump link as original; must be copied to [dspace-source\]/dspace/modules/jspui/src/main/webapp/help}} Wiki Markup{{\
  • [dspace\]/webapps/jspui/help/index_LOCALE.html {}}}{{{}{_}{_{}}}{{}must be copied to \- must be copied to [dspace-source\]/dspace/modules/jspui/src/main/webapp/help}}unmigrated-wiki-markup{{\
  • [dspace\]/webapps/jspui/help/site-admin_LOCALE.html {}}}{{{}{_}{_{}}}{{}must be copied to \- must be copied to [dspace-source\]/dspace/modules/jspui/src/main/webapp/help}}

JSPUI Item Mapper

Because the item mapper requires a primitive implementation of the browse system to be present, we simply need to tell that system which of our indexes defines the author browse (or equivalent) so that the mapper can list authors' items for mapping

...

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.

...

All the parameters mapping are defined in {{\[}}{{{}dspace{}}}{{\]}}{{/config/sfx.xml}} file. The program will check the parameters in {{sfx.xml}} and retrieve the correct metadata of the item. It will then parse the string to your resolver.

For the following example, the program will search the first query-pair which is DOI of the item. If there is a DOI for that item, your retrieval results will be, for example:
http://researchspace.auckland.ac.nz/handle/2292/5763

Example. For setting DOI in sfx.xml

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

Wiki MarkupExample of using ISSN, volume, issue for item without DOI {{\
[http://researchspace.auckland.ac.nz/handle/2292/4947\]}}

For parameter passing to the <querystring>

Code Block
<querystring>rft_id=info:doi/</querystring>

Wiki MarkupPlease 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
  <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>

...

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.

...

Controlled Vocabulary Settings

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 JavaScript to function).

The need for a limited set of keywords is important since it eliminates the ambiguity of a free description system, consequently simplifying the task of finding specific items of information.

...

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

Your You are free to use any application you want to create your controlled vocabularies. A simple text editor should be enough for small projects. Bigger projects will require more complex tools. You may use Proteg√© Protegé to create your taxonomies, save them as OWL and then use a XML Stylesheet (XSLT) to transform your documents to the appropriate format. Future enhancements to this add-on should make it compatible with standard schemas such as OWL or RDF.

In order to make DSpace compatible with WAI 2.0, the add-on is turned off by default (the add-on relies strongly on Javascript JavaScript to function). It can be activated by setting the following property in dspace.cfg:

webui.controlledvocabulary.enable = trueunmigrated-wiki-markup

New vocabularies should be placed in {{\[dspace\]/config/controlled-vocabularies/}} and must be according to the structure described. A validation XML Schema can be downloaded [here|Schema (controlledvocabulary.xsd|here].) can be found in that directory.

Vocabularies need to be associated with the correspondent DC metadata fields. Edit the file [dspace Wiki MarkupVocabularies 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
<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>

...

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

...

Property:

oai.didl.maxresponse

Example Value:

oai.didle.maxresponse = 0<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f8baf2bd-ab15-405d-bcc2-d46d9692847e"><ac:plain-text-body><![CDATA[= 0

Informational Note:

Max response size for DIDL. This is the maximum size in bytes of the files you wish to enclose Base64 encoded in your responses, remember that the base64 encoding process uses a lot of memory. We recommend at most 200000 for answers of 30 records each on a 1 Gigabyte machine. Ultimately this will change to a streaming model and remove this restriction. Also please remember to allocate plenty of memory, at least 512 MB to your Tomcat. Optional: DSpace uses 100 records as the limit for the oai responses. You can alter this by changing /[dspace-source]/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/DSpaceOAICatalog.java to codify the declaration: private final int MAX_RECORDS = 100 to private final int MAX_RECORDS = 30 ]]></ac:plain-text-body></ac:structured-macro>

Activating Additional OAI-PMH Crosswalks

...

  • mets - The manifest document from a DSpace METS SIP.
  • mods - MODS metadata, produced by the table-driven MODS dissemination crosswalk.
  • qdc - Qualified Dublin Core, produced by the configurable QDC crosswalk. Note that this QDC does not include all of the DSpace "dublin core" metadata fields, since the XML standard for QDC is defined for a different set of elements and qualifiers.
    OAI-PMH crosswalks based on Crosswalk Plugins are activated as follows:
  1. Wiki MarkupUncomment the appropriate {{\[dspace\]/config/oaicat.properties}} of the form: {{Crosswalks.plugin_name=org.dspace.app.oai.PluginCrosswalk}} (where {{plugin_name}} is the actual plugin's name, e.g. "mets" or "qdc"). These lines are all near the bottom of the file.
    • You can also add a brand new custom crosswalk plugin. Just make sure that the crosswalk plugin has a lower-case name (possibly in addition to its upper-case name) in the plugin configuration in dspace.cfg. Then add a line similar to above to the oaicat.properties file.
  2. Restart your servlet container, e.g. Tomcat, for the change to take effect.
  3. Verify the Crosswalk is activated by accessing a URL such as http://mydspace/oai/request?verb=ListRecords&metadataPrefix=mets

...

  1. Uncomment the oai.didl.maxresponse configuration in dspace.cfg
  2. Wiki MarkupUncomment the DIDL Crosswalk entry from the {{\[dspace\]/config/oaicat.properties}} file
  3. Restart your servlet container, e.g. Tomcat, for the change to take effect.
  4. Verify the Crosswalk is activated by accessing a URL such as http://mydspace/oai/request?verb=ListRecords&metadataPrefix=didl

...

Property:

harvester.eperson

Example Value:

harvester.eperson = admin@myu.edu

Informational Note:

The EPerson under whose authorization automatic harvesting will be performed. This field does not have a default value and must be specified in order to use the harvest scheduling system. This will most likely be the DSpace admin account created during installation.

Property:

dspace.oai.url

Example Value:

dspace.oai.url = http://myu.edu:8080/oai_

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b5b258e6-893f-49ac-a234-940033b4368b"><ac:plain-text-body><![CDATA[

Informational Note:

The base url of the OAI-PMH disseminator webapp (i.e. do not include the /request on the end). This is necessary in order to mint URIs for ORE Resource Maps. The default value of [http://$]{dspace.hostname}:8080/oai will work for a typical installation, but should be changed if appropriate. ]]></ac:plain-text-body></ac:structured-macro>

Property:

ore.authoritative.source

Example Value:

ore.authoritative.source = oai | xmlui

Informational Note:

The webapp responsible for minting the URIs for ORE Resource Maps. If using oai, the dspace.oai.uri config value must be set. The URIs generated for ORE ReMs follow the following convention for both cases._baseURI/metadata/handle/theHandle/ore.xml}}

Property:

harvester.autoStart

Example Value:

harvester.autoStart = false

Informational Note:

Determines whether the harvest scheduler process starts up automatically when the XMLUI webapp is redeployed.

Property:

harvester.oai.metadataformats.PluginName

Example Value:

Code Block
harvester.oai.metadataformats.PluginName = \
http://www.openarchives.org/OAI/2.0/oai_dc/, Simple Dublin Core

Informational Note:

This field can be repeated and serves as a link between the metadata formats supported by the local repository and those supported by the remote OAI-PMH provider. It follows the form harvester.oai.metadataformats.PluginName = NamespaceURI,Optional Display Name . The pluginName designates the metadata schemas that the harvester "knows" the local DSpace repository can support. Consequently, the PluginName must correspond to a previously declared ingestion crosswalk. The namespace value is used during negotiation with the remote OAI-PMH provider, matching it against a list returned by the ListMetadataFormats request, and resolving it to whatever metadataPrefix the remote provider has assigned to that namespace. Finally, the optional display name is the string that will be displayed to the user when setting up a collection for harvesting. If omitted, the PluginName:NamespaceURI combo will be displayed instead.

Property:

harvester.oai.oreSerializationFormat.OREPrefix

Example Value:

Code Block
harvester.oai.oreSerializationFormat.OREPrefix = \
http://www.w3.org/2005/Atom

Informational Note:

This field works in much the same way as harvester.oai.metadataformats.PluginName . The OREPrefix must correspond to a declared ingestion crosswalk, while the Namespace must be supported by the target OAI-PMH provider when harvesting content.

Property:

harvester.timePadding

Example Value:

harvester.timePadding = 120

Informational Note:

Amount of time subtracted from the from argument of the PMH request to account for the time taken to negotiate a connection. Measured in seconds. Default value is 120.

Property:

harvester.harvestFrequency

Example Value:

harvester.harvestFrequency = 720

Informational Note:

How frequently the harvest scheduler checks the remote provider for updates. Should always be longer than _timePadding _. Measured in minutes. Default value is 720.

Property:

harvester.minHeartbeat

Example Value:

harvester.minHeartbeat = 30

Informational Note:

The heartbeat is the frequency at which the harvest scheduler queries the local database to determine if any collections are due for a harvest cycle (based on the harvestFrequency) value. The scheduler is optimized to then sleep until the next collection is actually ready to be harvested. The minHeartbeat and maxHeartbeat are the lower and upper bounds on this timeframe. Measured in seconds. Default value is 30.

Property:

harvester.maxHeartbeat

Example Value:

harvester.maxHeartbeat = 3600

Informational Note:

The heartbeat is the frequency at which the harvest scheduler queries the local database to determine if any collections are due for a harvest cycle (based on the harvestFrequency) value. The scheduler is optimized to then sleep until the next collection is actually ready to be harvested. The minHeartbeat and maxHeartbeat are the lower and upper bounds on this timeframe. Measured in seconds. Default value is 3600 (1 hour).

Property:

harvester.maxThreads

Example Value:

harvester.maxThreads = 3

Informational Note:

How many harvest process threads the scheduler can spool up at once. Default value is 3.

Property:

harvester.threadTimeout

Example Value:

harvester.threadTimeout = 24

Informational Note:

How much time passes before a harvest thread is terminated. The termination process waits for the current item to complete ingest and saves progress made up to that point. Measured in hours. Default value is 24.

Property:

harvester.unknownField

Example Value:

harvester.unkownField = fail | add | ignore

Informational Note:

You have three (3) choices. When a harvest process completes for a single item and it has been passed through ingestion crosswalks for ORE and its chosen descriptive metadata format, it might end up with DIM values that have not been defined in the local repository. This setting determines what should be done in the case where those DIM values belong to an already declared schema. Fail will terminate the harvesting task and generate an error. Ignore will quietly omit the unknown fields. Add will add the missing field to the local repository's metadata registry. Default value: fail.

Property:

harvester.unknownSchema

Example Value:

harvester.unknownSchema = fail | add | ignore

Informational Note:

When a harvest process completes for a single item and it has been passed through ingestion crosswalks for ORE and its chosen descriptive metadata format, it might end up with DIM values that have not been defined in the local repository. This setting determines what should be done in the case where those DIM values belong to an unknown schema. Fail will terminate the harvesting task and generate an error. Ignore will quietly omit the unknown fields. Add will add the missing schema to the local repository's metadata registry, using the schema name as the prefix and "unknown" as the namespace. Default value: fail.

Property:

harvester.acceptedHandleServer

Example Value:

Code Block
harvester.acceptedHandleServer = \
hdl.handle.net, handle.test.edu

Informational Note:

A harvest process will attempt to scan the metadata of the incoming items (identifier.uri field, to be exact) to see if it looks like a handle. If so, it matches the pattern against the values of this parameter. If there is a match the new item is assigned the handle from the metadata value instead of minting a new one. Default value: hdl.handle.net.

Property:

harvester.rejectedHandlePrefix

Example Value:

harvester.rejectedHandlePrefix = 123456789, myeduHandle

Informational Note:

Pattern to reject as an invalid handle prefix (known test string, for example) when attempting to find the handle of harvested items. If there is a match with this config parameter, a new handle will be minted instead. Default value: 123456789.

...

Property:

solr.log.server

Example Value:

solr.log.server = ${dspace.baseUrl}/solr/statistics

Informational Note:

Is used by the SolrLogger Client class to connect to the SOLR server over http and perform updates and queries.

Property:

solr.spidersfile

Example Value:

solr.spidersfile = ${dspace.dir}/config/spiders.txt

Informational Note:

Spiders file is utilized by the SolrLogger, this will be populated by running the following command:dsrun org.dspace.statistics.util.SpiderDetector -i <httpd log file>

Property:

solr.dbfile

Example Value:

solr.dbfile = ${dspace.dir}/config/GeoLiteCity.dat

Example Value:

solr.dbfile = ${dspace.dir}/config/GeoLiteCity.dat <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="505e4ccf-dadd-4167-97b3-27c9b47c9fb1"><ac:plain-text-body><![CDATA[

Informational Note:

The following refers to the GeoLiteCity database file utilized by the LocationUtils to calculate the location of client requests based on IP address. During the Ant build process (both fresh_install and update) this file will be downloaded from [http://www.maxmind.com/app/geolitecity] if a new version has been published or it is absent from your [dspace]/config directory. ]]></ac:plain-text-body></ac:structured-macro>

Property:

solr.resolver.timeout

Example Value:

solr.resolver.timeout = 200

Informational Note:

Timeout for the resolver in the dns DNS lookup time in milliseconds, defaults to 200 for backward compatibility; your systems system's default is usually set in /etc/resolv.conf and varies between 2 to 5 seconds, to too high a value might result in solr exhausting your connection pool.

Property:

statistics.item.authorization.admin

Example Value:

statistics.item.authorization.admin = true

Informational Note:

Enables access control restriction on DSpace Statistics pages, Restrictions are based on access rights to Community, Collection and Item Pages. This will require the user to sign on to see that statistics. Setting the statistics to "false" will make them publicly available.

Property:

solr.statistics.logBots

Example Value:

{{solr.statistics.logBots = true }}

Informational Note:

Enable/disable logging of spiders in solr statistics. If false, and IP matches an address in solr.spiderips.urls, event is not logged. If true, event will be logged with the 'isBot' field set to true (see solr.statistics.query.filter.* for query filter options) Default value is true.

Property:

solr.statistics.query.filter.spiderIp

Example Value:

solr.statistics.query.filter.spiderIp = false

Informational Note:

Controls solr statistics querying to filter out spider IPs. False by default.

Property:

{{solr.statistics.query.filter.isBot }}

Example Value:

solr.statistics.query.filter.isBot = true

Informational Note:

Controls solr statistics querying to look at "isBot" field to determin determine if record is a bot. True by default.

Property:

solr.spiderips.urls

Example Value:

Code Block
solr.spiderips.urls = http://iplists.com/google.txt, \
                      http://iplists.com/inktomi.txt, \
                      http://iplists.com/lycos.txt, \
                      http://iplists.com/infoseek.txt, \
                      http://iplists.com/altavista.txt,\
                      http://iplists.com/excite.txt, \
                      http://iplists.com/misc.txt, \
                      http://iplists.com/excite.txt, \
                      http://iplists.com/misc.txt, \
                      http://iplists.com/non_engines.txt

Informational Note:

URLs to download IP addresses of search engine spiders from

...

The Metadata Format and Bitstream Format Registries

...

The _\[dspace\]/config/registries_ directory contains three XML files. These are used to load the _initial_ contents of the Dublin Core Metadata registry and Bitstream Format registry and SWORD metadata registry. After the initial loading (performed by _ant fresh_install_ above), the registries reside in the database; the XML files are not updated.

In order to change the registries, you may adjust the XML files before the first installation of DSpace. On an already running instance it is recommended to change bitstream registries via DSpace admin UI, but the metadata registries can be loaded again at any time from the XML files without difficult. The changes made via admin UI are not reflected in the XML files.

...

Bitstream Format Registry

...

The bitstream formats recognized by the system and levels of support are similarly stored in the bitstream format registry. This can also be edited at install-time via _\[dspace\]/config/registries/bitstream-formats.xml_ or by the administration Web UI. The contents of the bitstream format registry are entirely up to you, though the system requires that the following two formats are present:

  • Unknown
  • License
    Deleting a format will cause any existing bitstreams of this format to be reverted to the unknown bitstream format.

...

  • pdfinfo - displays properties and Info dict
  • pdftotext - extracts text from PDF
  • pdftoppm - images PDF for thumbnails

Fetch and install jai_imageio JAR

Fetch and install the Java^TM^ Java Advanced Imaging Image I/O Tools.

...

Download the jai_imageio library version 1.0_01 or 1.1 found at: https://jai-imageio.dev.java.net/binary-builds.html#Stable_builds .

For these filters you do NOT have to worry about the native code, just the JAR, so choose a download for any platform.

...

The preceding example leaves the JAR in jai_imageio-1_1/lib/jai_imageio.jar . Now install it in your local Maven repository, e.g.: (changing the path after file= if necessary)

Code Block
       mvn install:install-file                       \
          -Dfile=jai_imageio-1_1/lib/jai_imageio.jar  \
          -DgroupId=com.sun.media                     \
          -DartifactId=jai_imageio                    \
          -Dversion=1.0_01                            \
          -Dpackaging=jar                             \
          -DgeneratePom=true

...

First, be sure there is a value for thumbnail.maxwidth and that it corresponds to the size you want for preview images for the UI, e.g.: (NOTE: this code doesn't pay any attention to thumbnail.maxheight but it's best to set it too so the other thumbnail filters make square images.)

Code Block
        # maximum width and height of generated thumbnails
        thumbnail.maxwidth= 80
        thumbnail.maxheight = 80

Now, add the absolute paths to the XPDF tools you installed. In this example they are installed under /usr/local/bin (a logical place on Linux and MacOSX), but they may be anywhere.

Code Block
        xpdf.path.pdftotext = /usr/local/bin/pdftotext
        xpdf.path.pdftoppm = /usr/local/bin/pdftoppm
        xpdf.path.pdfinfo = /usr/local/bin/pdfinfo

Change the MediaFilter plugin configuration to remove the old org.dspace.app.mediafilter.PDFFilter and add the new filters, e.g: (New sections are in bold)

Code Block
Code Block
        filter.plugins = \
        PDF Text Extractor, \
        PDF Thumbnail, \
        HTML Text Extractor, \
        Word Text Extractor, \
        JPEG Thumbnail
         plugin.named.org.dspace.app.mediafilter.FormatFilter = \
        org.dspace.app.mediafilter.XPDF2Text = PDF Text Extractor, \
        org.dspace.app.mediafilter.XPDF2Thumbnail = PDF Thumbnail, \
        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        

Then add the input format configuration properties for each of the new filters, e.g.:

...

Finally, if you want PDF thumbnail images, don't forget to add that filter name to the filter.plugins property, e.g.:

Code Block
          filter.plugins = PDF Thumbnail,  PDF Text Extractor, ... 

Build and Install

Follow your usual DSpace installation/update procedure, only add -Pxpdf-mediafilter-support to the Maven invocation:

Code Block
     mvn -Pxpdf-mediafilter-support package
     ant -Dconfig=etc. ...\[dspace\]/config/dspace.cfg update

Creating a new Media/Format Filter

...

Properties:

sword.mets-ingester.package-ingester

Example Value:

sword.mets-ingester.package-ingester = METS

Informational Note:

The property key tell the SWORD METS implementation which package ingester to use to install deposited content. This should refer to one of the classes configured for:

Code Block
                        plugin.named.org.dspace.content.packager.PackageIngester

The value of sword.mets-ingester.package-ingester tells the system which named plugin for this interface should be used to ingest SWORD METS packages.

Properties:

mets.submission.crosswalk.EPDCX

Example Value:

mets.submission.crosswalk.EPDCX = SWORD

Informational Note:

Define the metadata type EPDCX (EPrints DC XML)to be handled by the SWORD crosswalk configuration.

Properties:

crosswalk.submission.SWORD.stylesheet

Example Value:

crosswalk.submission.SWORD.stylesheet = crosswalks/sword-swap-ingest.xsl

Informational Note:

Define the stylesheet which will be used by the self-named XSLTIngestionCrosswalk class when asked to load the SWORD configuration (as specified above). This will use the specified stylesheet to crosswalk the incoming SWAP metadata to the DIM format for ingestion.

Properties:

sword.deposit.url

Example Value:

sword.deposit.url = http://www.myu.ac.uk/sword/deposit_

Informational Note:

The base URL of the SWORD deposit. This is the URL from which DSpace will construct the deposit location urls URLs for collections. The default is {dspace.urlbaseUrl}/sword/deposit. In the event that you are not deploying DSpace as the ROOT application in the servlet container, this will generate incorrect URLs, and you should override the functionality by specifying in full as shown in the example value.

Properties:

{{sword.servicedocument.url }}

Example Value:

{{sword.servicedocument.url = http://www.myu.ac.uk/sword/servicedocument_

Informational Note:

The base URL of the SWORD service document. This is the URL from which DSpace will construct the service document location urls URLs for the site, and for individual collections. The default is {dspace.urlbaseUrl}/sword/servicedocument . In the event that you are not deploying DSpace as the ROOT application in the servlet container, this will generate incorrect URLs, and you should override the functionality by specifying in full as shown in the example value.

Properties:

sword.media-link.url

Example Value:

sword.media-link.url = http://www.myu.ac.uk/sword/media-link_

Informational Note:

The base URL of the SWORD media links. This is the URL which DSpace will use to construct the media link urls URLs for items which are deposited via sword. The default is {dspace.urlbaseUrl}/sword/media-link. In the event that you are not deploying DSpace as the ROOT application in the servlet container, this will generate incorrect URLs, and you should override the functionality by specifying in full as shown in the example value.

Properties:

sword.generator.url

Example Value:

sword.generator.url = http://www.dspace.org/ns/sword/1.3.1_

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6f703e4c-ae2b-41c7-8659-481e6d30248b"><ac:plain-text-body><![CDATA[

Informational Note:

The URL which identifies the sword software which provides the sword interface. This is the URL which DSpace will use to fill out the atom:generator element of its atom documents. The default is: {{[http://www.dspace.org/ns/sword/1.3.1_

[http://www.dspace.org/ns/sword/1.3.1_]]}}. If you have modified your sword software, you should change this URI to identify your own version. If you are using the standard dspace-sword module you will not, in general, need to change this setting. ]]></ac:plain-text-body></ac:structured-macro>

Properties:

sword.updated.field

Example Value:

sword.updated.field = dc.date.updated

Informational Note:

The metadata field in which to store the updated date for items deposited via SWORD.

Properties:

sword.slug.field

Example Value:

sword.slug.field = dc.identifier.slug

Informational Note:

The metadata field in which to store the value of the slug header if it is supplied.

Properties:

Code Block
sword.accept-packaging.METSDSpaceSIP.identifier
sword.accept-packaging.METSDSpaceSIP.q

Example Value:

Code Block
sword.accept-packaging.METSDSpaceSIP.identifier = http://purl.org/net/sword-types/METSDSpaceSIP
sword.accept-packaging.METSDSpaceSIP.q = 1.0

Informational Note:

The accept packaging properties, along with their associated quality values where appropriate. This is a Global Setting; these will be used on all DSpace collections

Properties:

Code Block
sword.accept-packaging.[handle].METSDSpaceSIP.identifier
sword.accept-packaging.[handle].METSDSpaceSIP.q

Example Value:

Code Block
sword.accept-packaging.[handle].METSDSpaceSIP.identifier = http://purl.org/net/sword-types/METSDSpaceSIP
sword.accept-packaging.[handle].METSDSpaceSIP.q = 1.0

Informational Note:

Collection Specific settings: these will be used on the collections with the given handles.

Properties:

sword.expose-items

Example Value:

sword.expose-items = false

Informational Note:

Should the server offer up items in collections as sword deposit targets. This will be effected by placing a URI in the collection description which will list all the allowed items for the depositing user in that collection on request. NOTE: this will require an implementation of deposit onto items, which will not be forthcoming for a short while.

Properties:

sword.expose-communities

Example Value:

sword.expose-communities = false

Informational Note:

Should the server offer as the default the list of all Communities to a Service Document request. If false, the server will offer the list of all collections, which is the default and recommended behavior at this stage. NOTE: a service document for Communities will not offer any viable deposit targets, and the client will need to request the list of Collections in the target before deposit can continue.

Properties:

sword.max-upload-size

Example Value:

sword.max-upload-size = 0

Informational Note:

The maximum upload size of a package through the sword interface, in bytes. This will be the combined size of all the files, the metadata and any manifest data. It is NOT the same as the maximum size set for an individual file upload through the user interface. If not set, or set to 0, the sword service will default to no limit.

Properties:

sword.keep-original-package

Example Value:

sword.keep-original-package = true

Informational Note:

Whether or not DSpace should store a copy of the original sword deposit package. NOTE: this will cause the deposit process to run slightly slower, and will accelerate the rate at which the repository consumes disk space. BUT, it will also mean that the deposited packages are recoverable in their original form. It is strongly recommended, therefore, to leave this option turned on. When set to "true", this requires that the configuration option upload.temp.dir above is set to a valid location.

Properties:

sword.bundle.name

Example Value:

sword.bundle.name = SWORD

Informational Note:

The bundle name that SWORD should store incoming packages under if sword.keep-original-package is set to true. The default is "SWORD" if not value is set

Properties:

sword.identify-version

Example Value:

sword.identify-version = true

Informational Note:

Should the server identify the sword version in a deposit response. It is recommended to leave this unchanged.

Properties:

sword.on-behalf-of.enable

Example Value:

sword.on-behalf-of.enable = true

Informational Note:

Should mediated deposit via sword be supported. If enabled, this will allow users to deposit content packages on behalf of other users.

Properties:

Code Block
plugin.named.org.dspace.sword.SWORDingester

Example Value:

Code Block
plugin.named.org.dspace.sword.SWORDIngester = \
  org.dspace.sword.SWORDMETSIngester = http://purl.org/net/sword-types/METSDSpaceSIP \
  org.dspace.sword.SimpleFileIngester = SimpleFileIngester

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8e2e6622-e7c7-4e6f-ac2a-9bd92da0a66e"><ac:plain-text-body><![CDATA[

Informational Note:

Configure the plugins to process incoming packages. The form of this configuration is as per the Plugin Manager's Named Plugin documentation: {{plugin.named.[interface] = [implementation] = [package format identifier] }}. Package ingesters should implement the SWORDIngester interface, and will be loaded when a package of the format specified above in: {{sword.accept-packaging.[package format].identifier = [package format identifier]}}is received. In the event that this is a simple file deposit, with no package format, then the class named by "SimpleFileIngester" will be loaded and executed where appropriate. This case will only occur when a single file is being deposited into an existing DSpace Item. ]]></ac:plain-text-body></ac:structured-macro>

Properties:

sword.accepts

Example Value:

sword.accepts = application/zip, foo/bar

Informational Note:

A comma separated list of MIME types that SWORD will accept.