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

From EPrints Documentation
Jump to: navigation, search
(Added info about where cfg.d files come from.)
(Added 00_flavour.pl)
 
(19 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
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:
 
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/
+
# EPRINTS_PATH/[[Lib/cfg.d/|lib/cfg.d/]]
* EPRINTS_PATH/flavours/pub_lib/cfg.d/
+
# EPRINTS_PATH/[[Flavours/pub_lib/cfg.d/|flavours/pub_lib/cfg.d/]]
* EPRINTS_PATH/lib/defaultcfg/cfg.d/ (which are copied to the repository archive's cfg.d directory on its creation).
+
# 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/ (which are copied to the repository archive's cfg.d directory on its creation).
+
# 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.
** '''[[datasets.pl]]''' - Configuration for bespoke datasets and data objects for the repository archive.
+
** '''[[branding.pl]] <sup>1</sup>''' - Branding for the repository archive.
** '''[[document_fields_automatic.pl]]''' - Configuration 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_fields.pl]]''' - Non-core field definitions for the document data object.
+
** '''[[citation_default.pl]] <sup>1</sup>''' - Default citation style files for data objects to use in certain contexts.
** '''[[document_upload.pl]]''' - Configuration relating to managing document uploads.
+
** '''[[csrf_protection.pl]] <sup>3,4</sup>''' - Configuration for protection against [https://owasp.org/www-community/attacks/csrf Cross Site Request Forgery (CSRF)] attacks.
** '''[[document_validate.pl]]''' - Validation of the eprint data object as a whole.
+
** '''[[database.pl]] <sup>5</sup>''' - Configuration for connecting to the database.  
** '''[[dynamic_template.pl]]''' - Legacy configuration for dynamic template of repository archive.
+
** '''[[datasets.pl]] <sup>1</sup>''' - Configuration for bespoke datasets and data objects for the repository archive.
** '''[[email.pl]]''' - Configuration for sending email from the repository archive.
+
** '''[[doc_rewrite.pl]] <sup>1</sup>''' - Configuration to handle relation-based document redirects.
** '''[[eprint_fields_automatic.pl]]''' - Configuration 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_common.pl]]''' - Common (across [[EPrints Flavours|flavours]]) non-core fields for the eprint data object.
+
** '''[[document_fields_default.pl]] <sup>1</sup>''' - Default initial values for document fields.
** '''[[eprint_fields_default.pl]]''' - Default initial values for eprint fields.
+
** '''[[document_fields.pl]] <sup>1</sup>''' - Non-core field definitions for the document data object.
** '''[[eprint_fields.pl]]''' - Non-core field definitions for the eprint data object.
+
** '''[[document_upload.pl]] <sup>1</sup>''' - Configuration relating to managing document uploads.
** '''[[eprint_fields_pub.pl]]''' - Publication [[EPrints Flavours|flavour]] fields for the eprint data object.
+
** '''[[document_validate.pl]] <sup>1</sup>''' - Validation of the eprint data object as a whole.
** '''[[eprint_locking.pl]]''' - Configuration for locking eprint data objects so they can only be edited by one user at once.
+
** '''[[dynamic_template.pl]] <sup>1</sup>''' - Legacy configuration for dynamic template of repository archive.
** '''[[eprint_render.pl]]''' - Configuration for rendering eprint abstract/summary pages.
+
** '''[[element_classes.pl]] <sup>1</sup>''' - Configuration for assigning classes EPrints generated HTML elements.
** '''[[eprint_search_advanced.pl]]''' - Configuration for advanced search of eprint data objects.
+
** '''[[email.pl]] <sup>1</sup>''' - Configuration for sending email from the repository archive.
** '''[[eprint_search_simple.pl]]''' - Configuration for simple search of eprint data objects.
+
** '''[[eprint_fields_automatic.pl]] <sup>2,3</sup>''' - Configuration for automatically setting eprint fields based on the values of other fields.
** '''[[eprint_search_staff.pl]]''' - Configuration for staff search of eprint data objects.
+
** '''[[eprint_fields_common.pl]] <sup>2</sup>''' - Common (across [[EPrints Flavours|flavours]]) non-core fields for the eprint data object.
** '''[[eprint_validate.pl]]''' - Validation of the eprint data object as a whole.
+
** '''[[eprint_fields_default.pl]] <sup>2,3</sup>''' - Default initial values for eprint fields.
** '''[[eprint_warnings.pl]]''' - Warnings to advise the depositor on potential issues with the eprint (e.g. no uploaded documents).
+
** '''[[eprint_fields.pl]] <sup>2,3</sup>''' - Non-core field definitions for the eprint data object.
** '''[[exports.pl]]''' - Configuration relating to generic aspects of export plugins.
+
** '''[[eprint_fields_pub.pl]] <sup>2</sup>''' - Publication [[EPrints Flavours|flavour]] fields for the eprint data object.
** '''[[field_property_defaults.pl]]''' - Defaults for various attributes for a field specification.
+
** '''[[eprint_locking.pl]] <sup>1</sup>''' - Configuration for locking eprint data objects so they can only be edited by one user at once.
** '''[[field_validate.pl]]''' - General validation of a metadata field.
+
** '''[[eprint_render.pl]] <sup>2,3</sup>''' - Configuration for rendering eprint abstract/summary pages.
** '''[[flavour_info.pl]]''' - Information about the [[EPrints Flavours|flavour]] of the repository archive.
+
** '''[[eprint_search_advanced.pl]] <sup>2,3</sup>''' - Configuration for advanced search of eprint data objects.
** '''[[indexing.pl]]''' - Configuration for indexing of metadata and document content.
+
** '''[[eprint_search_simple.pl]] <sup>2,3</sup>''' - Configuration for simple search of eprint data objects.
** '''[[issues_search.pl]]''' - Configuration for search of eprint issues.
+
** '''[[eprint_search_staff.pl]] <sup>1,2</sup>''' - Configuration for staff search of eprint data objects.
** '''[[languages.pl]]''' - Configuration for languages used by the repository archive.
+
** '''[[eprint_validate.pl]] <sup>2,3</sup>''' - Validation of the eprint data object as a whole.
** '''[[latest_tool.pl]]''' - Configuration for generating listings and feeds of latest eprints in the repository archive.
+
** '''[[eprint_warnings.pl]] <sup>2,3</sup>''' - Warnings to advise the depositor on potential issues with the eprint (e.g. no uploaded documents).
** '''[[log.pl]]''' - Configuration for logging error/warnung messages for the repository archive.
+
** '''[[exports.pl]] <sup>2</sup>''' - Configuration relating to generic aspects of export plugins.
** '''[[misc.pl]]''' - Miscellaneous configuration settings.
+
** '''[[field_property_defaults.pl]] <sup>1</sup>''' - Defaults for various attributes for a field specification.
** '''[[oai.pl]]''' - Configuration for [[OAI]].
+
** '''[[field_validate.pl]] <sup>1</sup>''' - General validation of a metadata field.
** '''[[paths.pl]]''' - Configuration for filesystem paths for particular parts of the repository archive.
+
** '''[[flavour_info.pl]] <sup>2,3</sup>''' - Information about the [[EPrints Flavours|flavour]] of the repository archive.
** '''[[plugins.pl]]''' - Enabling and configuration of plugins for the repository archive.
+
** '''[[indexing.pl]] <sup>1</sup>''' - Configuration for indexing of metadata and document content.
** '''[[rdf_license.pl]]''' - Configuration for adding licences to RDF data files.
+
** '''[[issues_search.pl]] <sup>2,3</sup>''' - Configuration for search of eprint issues.
** '''[[rdf.pl]]''' - Configuration for setting XML namespaces for RDF data files.
+
** '''[[languages.pl]] <sup>1</sup>''' - Configuration for languages used by the repository archive.
** '''[[rdf_triples_bibo.pl]]''' - Configuration for generating Bibo RDF triples for an eprint data object.
+
** '''[[latest_tool.pl]] <sup>1</sup>''' - Configuration for generating listings and feeds of latest eprints in the repository archive.
** '''[[rdf_triples_eprints.pl]]''' - Configuration for generating EPrints RDF triples for an eprint data object.
+
** '''[[limit_names_shown.pl]] <sup>1</sup>''' - Configuration to restrict number of names shown in a citation.
** '''[[rdf_triples_formats.pl]]''' - Configuration for generating format RDF triples for an eprint data object.
+
** '''[[log.pl]] <sup>1</sup>''' - Configuration for logging error/warning messages for the repository archive.
** '''[[rdf_triples_general.pl]]''' - Configuration for generating general RDF triples.
+
** '''[[make_orderkey.pl]] <sup>1</sup>''' - Configuration to better manage diacritics in ordering items.
** '''[[rdf_triples_repository.pl]]''' - Configuration for generating repository RDF triples.
+
** '''[[media_info.pl]] <sup>1</sup>''' - Configuration to file in media information about documents/files.
** '''[[rdf_triples_skos.pl]]''' - Configuration for generating SKOS RDF triples for an eprint and subject data objects.
+
** '''[[mime_types.pl]] <sup>1</sup>''' - Configuration to load [[mime.types]] file.
** '''[[rdf_uris.pl]]''' - Configuration for generating RDF URIs.
+
** '''[[misc.pl]] <sup>1</sup>''' - Miscellaneous configuration settings.
** '''[[registration.pl]]''' - Configuration for enabling/managing user reegistration for the repository archive.
+
** '''[[oai.pl]] <sup>2,3</sup>''' - Configuration for [[OAI]].
** '''[[render_paras.pl]]''' - Function for rendering paragraphs for free-text fields.
+
** '''[[optional_filename_sanitise.pl]] <sup>1</sup>''' - Configuration to santise uploaded file names.
** '''[[request_copy.pl]]''' - Configuration for "request a copy" of a restricted document.
+
** '''[[paths.pl]] <sup>1</sup>''' - Configuration for filesystem paths for particular parts of the repository archive.
** '''[[search.pl]]''' - Miscelleanous search configuration not tied to a specific data object or type of search.
+
** '''[[plugins.pl]] <sup>2,3</sup>''' - Enabling and configuration of plugins for the repository archive.
** '''[[security.pl]]''' - Functions for securing appropriate access to uploaded documents.
+
** '''[[rdf.pl]] <sup>1</sup>''' - Configuration for setting XML namespaces for RDF data files.
** '''[[session.pl]]''' - Functions for bespoke operations when initiating or closing a session.
+
** '''[[rdf_license.pl]] <sup>1</sup>''' - Configuration for adding licences to RDF data files.
** '''[[template_core.pl]]''' - Core trigger for generating dynamic template.
+
** '''[[rdf_triples_bibo.pl]] <sup>1</sup>''' - Configuration for generating Bibo RDF triples for an eprint data object.
** '''[[template_edit_phrases.pl]]''' - Edit phrases trigger for generating dynamic template.
+
** '''[[rdf_triples_eprints.pl]] <sup>1</sup>''' - Configuration for generating EPrints RDF triples for an eprint data object.
** '''[[template_legacy.pl]]''' - Legacy trigger for generating dynamic template, as defined in [[dynamic_template.pl]].
+
** '''[[rdf_triples_formats.pl]] <sup>1</sup>''' - Configuration for generating format RDF triples for an eprint data object.
** '''[[template_links.pl]]''' - Links trogger for generating dynamic template.
+
** '''[[rdf_triples_general.pl]] <sup>1</sup>''' - Configuration for generating general RDF triples.
** '''[[user_auth_limits.pl]]''' - Configuration for limiting aspects of user authentication to prevent brute force password cracking, denial-of-service, user spamming, etc.
+
** '''[[rdf_triples_repository.pl]] <sup>1</sup>''' - Configuration for generating repository RDF triples.
** '''[[user_fields_automatic.pl]]''' - Configuration for automatically setting user fields based on the values of other fields.
+
** '''[[rdf_triples_skos.pl]] <sup>1</sup>''' - Configuration for generating SKOS RDF triples for an eprint and subject data objects.
** '''[[user_fields_default.pl]]''' - Default initial values for user fields.
+
** '''[[rdf_uris.pl]] <sup>1</sup>''' - Configuration for generating RDF URIs.
** '''[[user_fields.pl]]''' - Non-core field definitions for the user data object.
+
** '''[[registration.pl]] <sup>1</sup>''' - Configuration for enabling/managing user registration for the repository archive.
** '''[[user_login.pl]]''' - Configuration for managing user login to the repository archive.
+
** '''[[render_paras.pl]] <sup>2</sup>''' - Function for rendering paragraphs for free-text fields.
** '''[[user_render.pl]]''' - Configuration for rendering user pages.
+
** '''[[request_copy.pl]] <sup>2,3</sup>''' - Configuration for "request a copy" of a restricted document.
** '''[[user_review_scope.pl]]''' - Configuration defining the options for the scope of eprint items an editor user can review.
+
** '''[[restrict_paths.pl]] <sup>1</sup>''' - Restrict access to certain paths over HTTP/HTTPS for particular IP addresses or subnets.
** '''[[user_roles.pl]]''' - The roles assigned to different types of user.
+
** '''[[rewrite_url_demo.pl]] <sup>3</sup>''' - Example configuration for redirecting certain requests.  
** '''[[user_search.pl]]''' - Configuration for search of user data objects.
+
** '''[[search.pl]] <sup>1</sup>''' - Miscelleanous search configuration not tied to a specific data object or type of search.
** '''[[user_validate.pl]]''' - Validation of the user data object as a whole.
+
** '''[[search_xapian.pl]] <sup>1</sup>''' - Xapian-specific search configuration.
** '''[[views.pl]]''' - Configuration for generating browse views.
+
** '''[[security.pl]] <sup>1</sup>''' - Functions for securing appropriate access to uploaded documents.
** '''[[vlit.pl]]''' - Configuration for [[VLit]].
+
** '''[[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/