Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove SRB config docs, and correct Assetstore info for DSpace 6

...

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

File Storage

Info

Beginning with DSpace 6, your file storage location (aka bitstore) is now defined in the [dspace]/config/spring/api/bitstore.xml Spring configuration file.  By default it is defined as the [dspace]/assetstore/.  More information on modifying your file storage location can be found at  Configuring the Bitstream Store in the Storage Layer documentation.

DSpace supports multiple 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 , instead they are provided via a configured "assetstore" or "bitstore".

By default, the assetstore is simply a directory on your server , on which the bitstreams are stored and consulted afterwards. The usage of different assetstore directories is the default "technique" in DSpace. The parameters below define which assetstores are present, and which one should be used for newly incoming items. As an alternative, DSpace can also use SRB (Storage Resource Brokerage) as an alternative. See SRB File Storage for details regarding SRB.([dspace]/assetstore/) under which bitstreams (files) are stored by DSpace.

At this time, DSpace supports two primary locations for storing your files:

  1. Your local filesystem (used by default), specifically under the [dspace]/assetstore/ directory
  2. OR, Amazon S3 (requires your own Amazon S3 account)

More information on configuring or customizing the storage location of your files can be found in the Storage Layer documentation.

Logging Configuration

Property:

log.init.config

Example Value:

log.init.config

Property:

assetstore.dir

Example Value:

assetstore.dir = ${dspace.dir}/assetstoreconfig/log4j.properties

Informational Note:

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

Property:

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

Example Value:

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

Informational Note:

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

Property:

assetstore.incoming

Example Value:

assetstore.incoming = 1

Informational Note:

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.

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

assetstore.dir = /storevgm/assetstore
assetstore.dir.1 = /storevgm2/assetstore
assetstore.incoming = 1

...

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

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

Property:

log.dir

Example value:

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

Informational Note:

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

Property:

loglevel.dspace
Example value:loglevel.dspace = INFO
Informational Note:

Log level for all DSpace-specific code (org.dspace.* packages).  By default, DSpace only provides general INFO logs (in order to keep log sizes reasonable). As necessary, you can temporarily change this setting to any of the following (ordered for most information to least): DEBUG, INFO, WARN, ERROR, FATAL

Please be aware we do not recommend running at the DEBUG level in Production for significant periods of time, as it will cause the logs to be extremely large in size.

Property:

loglevel.other
Example value:loglevel.other = INFO
Informational Note:

Log level for other third-party tools/APIs used by DSpace (non-DSpace specific code). By default, DSpace only provides general INFO logs (in order to keep log sizes reasonable). As necessary, you can temporarily change this setting to any of the following (ordered for most information to least): DEBUG, INFO, WARN, ERROR, FATAL

Please be aware we do not recommend running at the DEBUG level in Production for significant periods of time, as it will cause the logs to be extremely large in size.

SRB (Storage Resource Brokerage) File Storage

An alternate to using the default storage framework is to use Storage Resource Brokerage (SRB). This can provide a different level of storage and disaster recovery. (Storage can take place on storage that is off-site.) Refer to http://www.sdsc.edu/srb/index.php/Main_Page for complete details regarding SRB.

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

Property:

srb.hosts.1

Example value:

srb.hosts.1 = mysrbmcathost.myu.edu

Property:

srb.port.1

Example value:

srb.port.1 = 5544

Property:

srb.mcatzone.1

Example value:

srb.mcatzone.1 = mysrbzone

Informational Note:

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

Property:

srb.mdasdomainname.1

Example Value:

srb.mdasdomainname.1 = mysrbdomain

Informational Note:

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

Property:

srb.defaultstorageresource.1

Example Value:

srb.defaultstorageresource.1 = mydefaultsrbresource

Informational Note:

Your default SRB Storage resource.

Property:

srb.username.1

Example Value:

srb.username.1 = mysrbuser

Informational Note:

Your SRB Username.

Property:

srb.password.1

Example Value:

srb.password.1 = mysrbpassword

Informational Note:

Your SRB Password.

Property:

srb.homedirectory.1

Example Value:

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

Informational Note:

Your SRB Homedirectory

Property:

srb.parentdir.1

Example Value:

srb.parentdir.1 = mysrbdspaceassetstore

Informational Note:

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

The 'assetstore.incoming' property is an integer that references where new bitstreams will be stored. The default (say the starting reference) is zero. The value will be used to identify the storage where all new bitstreams will be stored until this number is changed. This number is stored in the Bitstream table (store_number column) in the DSpace database, so older bitstreams that may have been stored when 'asset.incoming' had a different value can be found.

In the simple case in which DSpace uses local (or mounted) storage the number can refer to different directories (or partitions). This gives DSpace some level of scalability. The number links to another set of properties 'assetstore.dir', 'assetstore.dir.1' (remember zero is default), assetstore.dir.2', etc., where the values are directories.

To support the use of SRB DSpace uses the same scheme but broaden to support:

  • using SRB instead of the local file system
  • using the local file system (native DSpace)
  • using a mix of SRB and local file system
    in this broadened use of the 'asset.incoming' integer will refer to one of the following storage locations:
  • a local file system directory (native DSpace)
  • a set of SRB account parameters (host, port, zone, domain, username, password, home directory, and resource
    Should 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.

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

Logging Configuration

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

Property:

log.init.config

Example Value:

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

Informational Note:

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

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

Property:

log.dir

Example value:

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

Informational Note:

Property:

useProxies

Example Value:

useProxies = true

Informational Note:

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

...