Perl lib/EPrints/SystemSettings.pm
Revision as of 12:22, 10 April 2023 by Drn@ecs.soton.ac.uk (talk | contribs) (Added SystemSettings.pm)
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 EPrints Glossary#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
.