Perl lib/EPrints/SystemSettings.pm

From EPrints Documentation
Jump to: navigation, search

EPrints' system settings page can be found under perl_lib/EPrints/ and contains global settings for the EPrints repository. This field contains a data structure called $EPrints::SystemSettings::conf that stores various global configuration. Including:

version 
The human-readable version of EPrints, (e.g. EPrints 3.4.4).
version_id 
The machine-readable version of EPrints, (e.g. eprints-3.4.4
base_path 
The base path on the filesystem where EPrints is installed (e.g. /opt/eprints3).
show_ids_in_log 
Whether EPrints::Repository->log calls should include the archive ID. This is useful if your repository is running muliple archives.
group 
New files/directories created by EPrints should have their (Unix) group set to this. (e.g. eprints).
version_history 
An array of machine-readable versions of EPrints that preceded this version. (Not used in core codebase).
smtp_server 
SMTP server to use to send out emails from EPrints. Typically it is best to leave this as 127.0.0.1 and configure Postfix or Sendmail applications on your server to relay email to a real SMTP server.
user 
New files/directories created by EPrints should have their (Unix) user set to this. (e.g. eprints).
file_perms 
New files created by EPrints should have their (Unix) file permissions set to this. (E.g. 0664 Read/write for user and group, read-only to others).
invocation
A Perl hash of external applications and how they should be invoked. This is typically empty as invocations should be defined in lib/syscfg.d/invocations.pl.
invocation
A Perl hash of external applications and oaths to their executables. This typically only contains the Perl executable as execitable paths should be defined in lib/syscfg.d/executables.pl.
dir_perms 
New directories created by EPrints should have their (Unix) file permissions set to this. (E.g. 02775 Read, write and execute for user and group, read and execute to others. The SetGID bit is set so files/directories created in this directory will be set with the same group as the directory. EPrints will do this any but useful if external processes are liable to create new files).
flavours 
A data structure that specifies flavours and the ingredients or other paths (e.g. [EPrints Glossary#Site_lib|site_lib]]) that shoud be included within this flavour. Typically, this defines just the zero flavour as this configuration can be defined in the inc within the flavour's directory.
perl_module_isolation 
Should Perl modules be isolated between different archives within the repository?
indexer_daemon 
Configuration settings for EPrints' indexer. This includes
  • loglevel - What level of log messages should be captured. By default this is 1, which prints all messages to STDERR.
  • rollcount - How many old indexer.log.N files to keep before deleting them. By default this (N) is 5.
  • maxwait - How many seconds to wait before concluding indexer is not running. By default this is 8 seconds.
  • interval - How many seconds the indexer should wait whilst idle before checking if there are any new tasks it can run from the event queue. By default this is 30 seconds.
  • respawn - How many seconds before the indexer should be respawned (in case it has got stuck) and rotate its log file. By default this is 86400 seconds or one day.
  • timeout - How many seconds before an individual indexer task is allowed to run before it times out and gets marked as failed. By default this is 600 seconds or ten minutes.
  • interrupt - Whether the indexer should be interrupted. This effectively stops the indexer from being run. Bu default this is 0, as you probably want the indexer to be able to run.


This file also contains some code to managed the loading of inc files saving the need to reconfigure the flavours section of $EPrints::SystemSettings::conf.