Difference between revisions of "Archives/ARCHIVEID/cfg/cfg.d/"

From EPrints Documentation
Jump to: navigation, search
(Added some descriptions for config files.)
(Added 00_flavour.pl)
 
(27 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
  # the foo option modifies the number of badgers in the boojum
 
  # the foo option modifies the number of badgers in the boojum
 
  $c->{foo} = 23;
 
  $c->{foo} = 23;
 +
 +
Although this listing is shown as for the archive's cfg.d directory, it is actually the combined listing of all configuration files under the following cfg.d directories:
 +
# EPRINTS_PATH/[[Lib/cfg.d/|lib/cfg.d/]]
 +
# EPRINTS_PATH/[[Flavours/pub_lib/cfg.d/|flavours/pub_lib/cfg.d/]]
 +
# EPRINTS_PATH/[[Lib/defaultcfg_zero/cfg.d/|lib/defaultcfg_zero/cfg.d/]] (which are copied to the repository archive's cfg.d directory on its creation, unless using a specific flavour).
 +
# EPRINTS_PATH/[[Flavours/pub_lib/defaultcfg/cfg.d/|flavours/pub_lib/defaultcfg/cfg.d/]] (which are copied to the repository archive's cfg.d directory on its creation).
 +
# Generated through ''epadmin create''
 +
 +
This directory is at the top of the levels of precedence for configuration files:
 +
 +
lib/cfg.d/ <- flavours/FLAVOURLIB/cfg.d/ <- ingredients/INGREDIENTID/cfg.d/ <- site_lib/cfg.d/ <- '''archives/ARCHIVEID/cfg/cfg.d/'''
  
 
*'''[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/archives|archives]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID|ARCHIVEID]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg|cfg]]/cfg.d'''
 
*'''[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/archives|archives]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID|ARCHIVEID]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg|cfg]]/cfg.d'''
** '''[[10_core.pl]]''' - Core configuration for repository archive, such as hostname and port (both for HTTP and HTTPS), host aliases and path it sits on.
+
** '''[[00_flavour.pl]] <sup>5</sup>''' - The flavour of the repository archive.
** '''[[20_baseurls.pl]]''' - Configuration for how base URLs used by the repository archive.
+
** '''[[00_version.pl]] <sup>1</sup>''' -  The version information for EPrints core. as opposed to a particular [[flavour_info.pl|flavour]].
** '''[[adminemail.pl]]''' - The admin email address for the repository archive.
+
** '''[[10_core.pl]] <sup>5</sup>''' - Core configuration for repository archive, such as hostname and port (both for HTTP and HTTPS), host aliases and path it sits on.
** '''[[branding.pl]]''' - Branding for the repository archive
+
** '''[[20_baseurls.pl]] <sup>1,2</sup>''' - Configuration for how base URLs used by the repository archive.
** '''[[database.pl]]''' - Configuration for connecting to the database.
+
** '''[[adminemail.pl]] <sup>5</sup>''' - The admin email address for the repository archive.
** '''[[document_fields]]''' - Non-core field definitions for the document data object.
+
** '''[[branding.pl]] <sup>1</sup>''' - Branding for the repository archive.
** '''[[document_fields_automatic.pl]]''' - Configuation for automatically setting document fields based on the values of other fields.
+
** '''[[build_attributes.pl]] <sup>1</sup>''' - Manipulating attributes for create_element.
** '''[[document_fields_default.pl]]''' - Default initial values for document fields.
+
** '''[[citationcaches.pl]] <sup>3,4</sup>''' - Configuration for enabling and restricting citation caching.
** '''[[document_upload.pl]]''' - Configuration relating to managing document uploads.
+
** '''[[citation_default.pl]] <sup>1</sup>''' - Default citation style files for data objects to use in certain contexts.
** '''[[document_validate.pl]]''' - Validation of the eprint data object as a whole.
+
** '''[[csrf_protection.pl]] <sup>3,4</sup>''' - Configuration for protection against [https://owasp.org/www-community/attacks/csrf Cross Site Request Forgery (CSRF)] attacks.
** '''[[dynamic_template.pl]]''' - Configuration for dynamic template of repository archive.
+
** '''[[database.pl]] <sup>5</sup>''' - Configuration for connecting to the database.  
** '''[[email.pl]]''' - Configuration for sending email from the repository archive.
+
** '''[[datasets.pl]] <sup>1</sup>''' - Configuration for bespoke datasets and data objects for the repository archive.
** '''[[eprint_fields.pl]]''' - Non-core field definitions for the eprint data object.
+
** '''[[doc_rewrite.pl]] <sup>1</sup>''' - Configuration to handle relation-based document redirects.
** '''[[eprint_fields_automatic.pl]]''' - Configuation for automatically setting eprint fields based on the values of other fields.
+
** '''[[document_fields_automatic.pl]] <sup>1</sup>''' - Configuration for automatically setting document fields based on the values of other fields.
** '''[[eprint_fields_default.pl]]''' - Default initial values for eprint fields.
+
** '''[[document_fields_default.pl]] <sup>1</sup>''' - Default initial values for document fields.
** '''[[eprint_render.pl]]''' - Configuration for rendering eprint abstract/summary pages.
+
** '''[[document_fields.pl]] <sup>1</sup>''' - Non-core field definitions for the document data object.
** '''[[eprint_validate.pl]]''' - Validation of the eprint data object as a whole.
+
** '''[[document_upload.pl]] <sup>1</sup>''' - Configuration relating to managing document uploads.
** '''[[eprint_warnings.pl]]''' - Warnings to advise the depositor on potential issues with the eprint (e.g. no uploaded documents).
+
** '''[[document_validate.pl]] <sup>1</sup>''' - Validation of the eprint data object as a whole.
** '''[[field_property_defaults.pl]]''' -  
+
** '''[[dynamic_template.pl]] <sup>1</sup>''' - Legacy configuration for dynamic template of repository archive.
** '''[[field_validate.pl]]''' -
+
** '''[[element_classes.pl]] <sup>1</sup>''' - Configuration for assigning classes EPrints generated HTML elements.
** '''[[indexing.pl]]''' - Configuration for indexing of metadata and document content.
+
** '''[[email.pl]] <sup>1</sup>''' - Configuration for sending email from the repository archive.
** '''[[languages.pl]]''' - Configuration for languages used by the repository archive.
+
** '''[[eprint_fields_automatic.pl]] <sup>2,3</sup>''' - Configuration for automatically setting eprint fields based on the values of other fields.
** '''[[log.pl]]''' -
+
** '''[[eprint_fields_common.pl]] <sup>2</sup>''' - Common (across [[EPrints Flavours|flavours]]) non-core fields for the eprint data object.
** '''[[misc.pl]]''' -
+
** '''[[eprint_fields_default.pl]] <sup>2,3</sup>''' - Default initial values for eprint fields.
** '''[[oai.pl]]''' -
+
** '''[[eprint_fields.pl]] <sup>2,3</sup>''' - Non-core field definitions for the eprint data object.
** '''[[paths.pl]]''' -  
+
** '''[[eprint_fields_pub.pl]] <sup>2</sup>''' - Publication [[EPrints Flavours|flavour]] fields for the eprint data object.
** '''[[plugins.pl]]''' - Enabling and configuration of plugins for the repository archive.
+
** '''[[eprint_locking.pl]] <sup>1</sup>''' - Configuration for locking eprint data objects so they can only be edited by one user at once.
** '''[[registration.pl]]''' - Configuation for enabling/managing user reegistration for the repository archive.
+
** '''[[eprint_render.pl]] <sup>2,3</sup>''' - Configuration for rendering eprint abstract/summary pages.
** '''[[request_copy.pl]]''' - Configuration for "request a copy" of a restricted document.
+
** '''[[eprint_search_advanced.pl]] <sup>2,3</sup>''' - Configuration for advanced search of eprint data objects.
** '''[[search.pl]]''' -
+
** '''[[eprint_search_simple.pl]] <sup>2,3</sup>''' - Configuration for simple search of eprint data objects.
** '''[[security.pl]]''' - Functions for securing appropriate access to uploaded documents.
+
** '''[[eprint_search_staff.pl]] <sup>1,2</sup>''' - Configuration for staff search of eprint data objects.
** '''[[session.pl]]''' -
+
** '''[[eprint_validate.pl]] <sup>2,3</sup>''' - Validation of the eprint data object as a whole.
** '''[[urls.pl]]''' -
+
** '''[[eprint_warnings.pl]] <sup>2,3</sup>''' - Warnings to advise the depositor on potential issues with the eprint (e.g. no uploaded documents).
** '''[[user_fields.pl]]''' - Non-core field definitions for the user data object.
+
** '''[[exports.pl]] <sup>2</sup>''' - Configuration relating to generic aspects of export plugins.
** '''[[user_fields_automatic.pl]]''' - Configuation for automatically setting user fields based on the values of other fields.
+
** '''[[field_property_defaults.pl]] <sup>1</sup>''' - Defaults for various attributes for a field specification.
** '''[[user_fields_default.pl]]''' - Default initial values for user fields.
+
** '''[[field_validate.pl]] <sup>1</sup>''' - General validation of a metadata field.
** '''[[user_login.pl]]''' - Configuration for managing user login to the repository archive.
+
** '''[[flavour_info.pl]] <sup>2,3</sup>''' - Information about the [[EPrints Flavours|flavour]] of the repository archive.
** '''[[user_render.pl]]''' - Configuration for rendering user pages.
+
** '''[[indexing.pl]] <sup>1</sup>''' - Configuration for indexing of metadata and document content.
** '''[[user_roles.pl]]''' - The roles assigned to different types of user.
+
** '''[[issues_search.pl]] <sup>2,3</sup>''' - Configuration for search of eprint issues.
** '''[[user_validate.pl]]''' - Validation of the user data object as a whole.
+
** '''[[languages.pl]] <sup>1</sup>''' - Configuration for languages used by the repository archive.
** '''[[views.pl]]''' - Configuration for generating browse views.
+
** '''[[latest_tool.pl]] <sup>1</sup>''' - Configuration for generating listings and feeds of latest eprints in the repository archive.
** '''[[vlit.pl]]''' -
+
** '''[[limit_names_shown.pl]] <sup>1</sup>''' - Configuration to restrict number of names shown in a citation.
 +
** '''[[log.pl]] <sup>1</sup>''' - Configuration for logging error/warning messages for the repository archive.
 +
** '''[[make_orderkey.pl]] <sup>1</sup>''' - Configuration to better manage diacritics in ordering items.
 +
** '''[[media_info.pl]] <sup>1</sup>''' - Configuration to file in media information about documents/files.
 +
** '''[[mime_types.pl]] <sup>1</sup>''' - Configuration to load [[mime.types]] file.
 +
** '''[[misc.pl]] <sup>1</sup>''' - Miscellaneous configuration settings.
 +
** '''[[oai.pl]] <sup>2,3</sup>''' - Configuration for [[OAI]].
 +
** '''[[optional_filename_sanitise.pl]] <sup>1</sup>''' - Configuration to santise uploaded file names.
 +
** '''[[paths.pl]] <sup>1</sup>''' - Configuration for filesystem paths for particular parts of the repository archive.
 +
** '''[[plugins.pl]] <sup>2,3</sup>''' - Enabling and configuration of plugins for the repository archive.
 +
** '''[[rdf.pl]] <sup>1</sup>''' - Configuration for setting XML namespaces for RDF data files.
 +
** '''[[rdf_license.pl]] <sup>1</sup>''' - Configuration for adding licences to RDF data files.
 +
** '''[[rdf_triples_bibo.pl]] <sup>1</sup>''' - Configuration for generating Bibo RDF triples for an eprint data object.
 +
** '''[[rdf_triples_eprints.pl]] <sup>1</sup>''' - Configuration for generating EPrints RDF triples for an eprint data object.
 +
** '''[[rdf_triples_formats.pl]] <sup>1</sup>''' - Configuration for generating format RDF triples for an eprint data object.
 +
** '''[[rdf_triples_general.pl]] <sup>1</sup>''' - Configuration for generating general RDF triples.
 +
** '''[[rdf_triples_repository.pl]] <sup>1</sup>''' - Configuration for generating repository RDF triples.
 +
** '''[[rdf_triples_skos.pl]] <sup>1</sup>''' - Configuration for generating SKOS RDF triples for an eprint and subject data objects.
 +
** '''[[rdf_uris.pl]] <sup>1</sup>''' - Configuration for generating RDF URIs.
 +
** '''[[registration.pl]] <sup>1</sup>''' - Configuration for enabling/managing user registration for the repository archive.
 +
** '''[[render_paras.pl]] <sup>2</sup>''' - Function for rendering paragraphs for free-text fields.
 +
** '''[[request_copy.pl]] <sup>2,3</sup>''' - Configuration for "request a copy" of a restricted document.
 +
** '''[[restrict_paths.pl]] <sup>1</sup>''' - Restrict access to certain paths over HTTP/HTTPS for particular IP addresses or subnets.
 +
** '''[[rewrite_url_demo.pl]] <sup>3</sup>''' - Example configuration for redirecting certain requests.
 +
** '''[[search.pl]] <sup>1</sup>''' - Miscelleanous search configuration not tied to a specific data object or type of search.
 +
** '''[[search_xapian.pl]] <sup>1</sup>''' - Xapian-specific search configuration.
 +
** '''[[security.pl]] <sup>1</sup>''' - Functions for securing appropriate access to uploaded documents.
 +
** '''[[session.pl]] <sup>1</sup>''' - Functions for bespoke operations when initiating or closing a session.
 +
** '''[[signposting.pl]] <sup>1,2</sup>''' - Which export plugins can be used in Signposting.
 +
** '''[[template_core.pl]] <sup>1</sup>''' - Core trigger for generating dynamic template.
 +
** '''[[template_edit_phrases.pl]] <sup>1</sup>''' - Edit phrases trigger for generating dynamic template.
 +
** '''[[template_legacy.pl]] <sup>1</sup>''' - Legacy trigger for generating dynamic template, as defined in [[dynamic_template.pl]].
 +
** '''[[template_links.pl]] <sup>1</sup>''' - Links trogger for generating dynamic template.
 +
** '''[[user_auth_limits.pl]] <sup>1</sup>''' - Configuration for limiting aspects of user authentication to prevent brute force password cracking, denial-of-service, user spamming, etc.
 +
** '''[[user_fields_automatic.pl]] <sup>1</sup>''' - Configuration for automatically setting user fields based on the values of other fields.
 +
** '''[[user_fields_default.pl]] <sup>1</sup>''' - Default initial values for user fields.
 +
** '''[[user_fields.pl]] <sup>1</sup>''' - Non-core field definitions for the user data object.
 +
** '''[[user_login.pl]] <sup>1</sup>''' - Configuration for managing user login to the repository archive.
 +
** '''[[user_render.pl]] <sup>1</sup>''' - Configuration for rendering user pages.
 +
** '''[[user_review_scope.pl]] <sup>2,3</sup>''' - Configuration defining the options for the scope of eprint items an editor user can review.
 +
** '''[[user_roles.pl]] <sup>1</sup>''' - The roles assigned to different types of user.
 +
** '''[[user_search.pl]] <sup>1</sup>''' - Configuration for search of user data objects.
 +
** '''[[user_validate.pl]] <sup>1</sup>''' - Validation of the user data object as a whole.
 +
** '''[[views.pl]] <sup>2,3</sup>''' - Configuration for generating browse views.
 +
** '''[[vlit.pl]] <sup>1</sup>''' - Configuration for [[VLit]].
 +
** '''[[views_render_items_example.pl]] <sup>3</sup>''' - Example configuation for alternative rendering of browse view listing pages.
 +
** '''[[views_render_menu_example.pl]] <sup>3</sup>''' - Example configuation for alternative rendering of browse view menu pages.
 +
** '''[[y_export_privacy.pl]] <sup>2</sup>''' - Logic that can restrict export plugins that may include information with privacy concerns from being publicly accessible.
 +
** '''[[zz_version.pl]] <sup>1</sup>''' - Builds the final EPrints version description for the repository archive.

Latest revision as of 16:14, 18 July 2024

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects

This is the main repository configuration directory. Each of these files is a valid perl script and are loaded in alphabetic order. The configuration is stored in a hash reference named $c. For example a simple file might look like this:

# the foo option modifies the number of badgers in the boojum
$c->{foo} = 23;

Although this listing is shown as for the archive's cfg.d directory, it is actually the combined listing of all configuration files under the following cfg.d directories:

  1. EPRINTS_PATH/lib/cfg.d/
  2. EPRINTS_PATH/flavours/pub_lib/cfg.d/
  3. EPRINTS_PATH/lib/defaultcfg_zero/cfg.d/ (which are copied to the repository archive's cfg.d directory on its creation, unless using a specific flavour).
  4. EPRINTS_PATH/flavours/pub_lib/defaultcfg/cfg.d/ (which are copied to the repository archive's cfg.d directory on its creation).
  5. Generated through epadmin create

This directory is at the top of the levels of precedence for configuration files:

lib/cfg.d/ <- flavours/FLAVOURLIB/cfg.d/ <- ingredients/INGREDIENTID/cfg.d/ <- site_lib/cfg.d/ <- archives/ARCHIVEID/cfg/cfg.d/