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

From EPrints Documentation
Jump to: navigation, search
(Added more config files.)
(Added 00_flavour.pl)
 
(23 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.
** '''[[datasets.pl]]''' -
+
** '''[[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_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]]''' - 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]]''' - 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_common.pl]]''' -
+
** '''[[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]]''' -  
+
** '''[[document_validate.pl]] <sup>1</sup>''' - Validation of the eprint data object as a whole.
** '''[[eprint_locking.pl]]''' -  
+
** '''[[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]]''' -
+
** '''[[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]]''' -  
+
** '''[[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]]''' -
+
** '''[[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]]''' -
+
** '''[[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]]''' -
+
** '''[[issues_search.pl]] <sup>2,3</sup>''' - Configuration for search of eprint issues.
** '''[[rdf.pl]]''' -
+
** '''[[languages.pl]] <sup>1</sup>''' - Configuration for languages used by the repository archive.
** '''[[rdf_triples_bibo.pl]]''' -
+
** '''[[latest_tool.pl]] <sup>1</sup>''' - Configuration for generating listings and feeds of latest eprints in the repository archive.
** '''[[rdf_triples_eprints.pl]]''' -
+
** '''[[limit_names_shown.pl]] <sup>1</sup>''' - Configuration to restrict number of names shown in a citation.
** '''[[rdf_triples_formats.pl]]''' -
+
** '''[[log.pl]] <sup>1</sup>''' - Configuration for logging error/warning messages for the repository archive.
** '''[[rdf_triples_general.pl]]''' -
+
** '''[[make_orderkey.pl]] <sup>1</sup>''' - Configuration to better manage diacritics in ordering items.
** '''[[rdf_triples_repository.pl]]''' -
+
** '''[[media_info.pl]] <sup>1</sup>''' - Configuration to file in media information about documents/files.
** '''[[rdf_triples_skos.pl]]''' -
+
** '''[[mime_types.pl]] <sup>1</sup>''' - Configuration to load [[mime.types]] file.
** '''[[rdf_uri_event_location.pl]]''' -
+
** '''[[misc.pl]] <sup>1</sup>''' - Miscellaneous configuration settings.
** '''[[rdf_uri_event.pl]]''' -
+
** '''[[oai.pl]] <sup>2,3</sup>''' - Configuration for [[OAI]].
** '''[[rdf_uri_org.pl]]''' -
+
** '''[[optional_filename_sanitise.pl]] <sup>1</sup>''' - Configuration to santise uploaded file names.
** '''[[rdf_uri_person.pl]]''' -
+
** '''[[paths.pl]] <sup>1</sup>''' - Configuration for filesystem paths for particular parts of the repository archive.
** '''[[rdf_uri_publication.pl]]''' -
+
** '''[[plugins.pl]] <sup>2,3</sup>''' - Enabling and configuration of plugins for the repository archive.
** '''[[registration.pl]]''' - Configuation for enabling/managing user reegistration for the repository archive.
+
** '''[[rdf.pl]] <sup>1</sup>''' - Configuration for setting XML namespaces for RDF data files.
** '''[[render_paras.pl]]''' - Function for rendering paragraphs for free-text fields.
+
** '''[[rdf_license.pl]] <sup>1</sup>''' - Configuration for adding licences to RDF data files.
** '''[[request_copy.pl]]''' - Configuration for "request a copy" of a restricted document.
+
** '''[[rdf_triples_bibo.pl]] <sup>1</sup>''' - Configuration for generating Bibo RDF triples for an eprint data object.
** '''[[search.pl]]''' - Miscelleanous search configuation not tied to a specific data object or type of search.
+
** '''[[rdf_triples_eprints.pl]] <sup>1</sup>''' - Configuration for generating EPrints RDF triples for an eprint data object.
** '''[[security.pl]]''' - Functions for securing appropriate access to uploaded documents.
+
** '''[[rdf_triples_formats.pl]] <sup>1</sup>''' - Configuration for generating format RDF triples for an eprint data object.
** '''[[session.pl]]''' -
+
** '''[[rdf_triples_general.pl]] <sup>1</sup>''' - Configuration for generating general RDF triples.
** '''[[template_core.pl]]''' -
+
** '''[[rdf_triples_repository.pl]] <sup>1</sup>''' - Configuration for generating repository RDF triples.
** '''[[template_edit_phrases.pl]]''' -
+
** '''[[rdf_triples_skos.pl]] <sup>1</sup>''' - Configuration for generating SKOS RDF triples for an eprint and subject data objects.
** '''[[template_legacy.pl]]''' -
+
** '''[[rdf_uris.pl]] <sup>1</sup>''' - Configuration for generating RDF URIs.
** '''[[template_links.pl]]''' -
+
** '''[[registration.pl]] <sup>1</sup>''' - Configuration for enabling/managing user registration for the repository archive.
** '''[[user_auth_limits.pl]]''' -
+
** '''[[render_paras.pl]] <sup>2</sup>''' - Function for rendering paragraphs for free-text fields.
** '''[[user_fields_automatic.pl]]''' - Configuation for automatically setting user fields based on the values of other fields.
+
** '''[[request_copy.pl]] <sup>2,3</sup>''' - Configuration for "request a copy" of a restricted document.
** '''[[user_fields_default.pl]]''' - Default initial values for user fields.
+
** '''[[restrict_paths.pl]] <sup>1</sup>''' - Restrict access to certain paths over HTTP/HTTPS for particular IP addresses or subnets.
** '''[[user_fields.pl]]''' - Non-core field definitions for the user data object.
+
** '''[[rewrite_url_demo.pl]] <sup>3</sup>''' - Example configuration for redirecting certain requests.  
** '''[[user_login.pl]]''' - Configuration for managing user login to the repository archive.
+
** '''[[search.pl]] <sup>1</sup>''' - Miscelleanous search configuration not tied to a specific data object or type of search.
** '''[[user_password_maxlength.pl]]''' - Configuration for the maximum length of a user password to prevent DoS attacks.
+
** '''[[search_xapian.pl]] <sup>1</sup>''' - Xapian-specific search configuration.
** '''[[user_render.pl]]''' - Configuration for rendering user pages.
+
** '''[[security.pl]] <sup>1</sup>''' - Functions for securing appropriate access to uploaded documents.
** '''[[user_review_scope.pl]]''' -
+
** '''[[session.pl]] <sup>1</sup>''' - Functions for bespoke operations when initiating or closing a session.
** '''[[user_roles.pl]]''' - The roles assigned to different types of user.
+
** '''[[signposting.pl]] <sup>1,2</sup>''' - Which export plugins can be used in Signposting.
** '''[[user_search.pl]]''' - Configuration for search of user data objects.
+
** '''[[template_core.pl]] <sup>1</sup>''' - Core trigger for generating dynamic template.
** '''[[user_validate.pl]]''' - Validation of the user data object as a whole.
+
** '''[[template_edit_phrases.pl]] <sup>1</sup>''' - Edit phrases trigger for generating dynamic template.
** '''[[views.pl]]''' - Configuration for generating browse views.
+
** '''[[template_legacy.pl]] <sup>1</sup>''' - Legacy trigger for generating dynamic template, as defined in [[dynamic_template.pl]].
** '''[[vlit.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/