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

From EPrints Documentation
Jump to: navigation, search
 
(Added 00_flavour.pl)
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{dirs}}
 +
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:
 +
# 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''' -
+
** '''[[00_flavour.pl]] <sup>5</sup>''' - The flavour of the repository archive.
** '''20_baseurls.pl''' -
+
** '''[[00_version.pl]] <sup>1</sup>''' -  The version information for EPrints core. as opposed to a particular [[flavour_info.pl|flavour]].
** '''adminemail.pl''' -
+
** '''[[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''' -
+
** '''[[20_baseurls.pl]] <sup>1,2</sup>''' - Configuration for how base URLs used by the repository archive.
** '''database.pl''' -
+
** '''[[adminemail.pl]] <sup>5</sup>''' - The admin email address for the repository archive.
** '''document_fields_automatic.pl''' -
+
** '''[[branding.pl]] <sup>1</sup>''' - Branding for the repository archive.
** '''document_fields_default.pl''' -
+
** '''[[build_attributes.pl]] <sup>1</sup>''' - Manipulating attributes for create_element.
** '''document_upload.pl''' -
+
** '''[[citationcaches.pl]] <sup>3,4</sup>''' - Configuration for enabling and restricting citation caching.
** '''document_validate.pl''' -
+
** '''[[citation_default.pl]] <sup>1</sup>''' - Default citation style files for data objects to use in certain contexts.
** '''dynamic_template.pl''' -
+
** '''[[csrf_protection.pl]] <sup>3,4</sup>''' - Configuration for protection against [https://owasp.org/www-community/attacks/csrf Cross Site Request Forgery (CSRF)] attacks.
** '''email.pl''' -
+
** '''[[database.pl]] <sup>5</sup>''' - Configuration for connecting to the database.
** '''eprint_fields.pl''' -
+
** '''[[datasets.pl]] <sup>1</sup>''' - Configuration for bespoke datasets and data objects for the repository archive.
** '''eprint_fields_automatic.pl''' -
+
** '''[[doc_rewrite.pl]] <sup>1</sup>''' - Configuration to handle relation-based document redirects.
** '''eprint_fields_default.pl''' -
+
** '''[[document_fields_automatic.pl]] <sup>1</sup>''' - Configuration for automatically setting document fields based on the values of other fields.
** '''eprint_render.pl''' -
+
** '''[[document_fields_default.pl]] <sup>1</sup>''' - Default initial values for document fields.
** '''eprint_validate.pl''' -
+
** '''[[document_fields.pl]] <sup>1</sup>''' - Non-core field definitions for the document data object.
** '''eprint_warnings.pl''' -
+
** '''[[document_upload.pl]] <sup>1</sup>''' - Configuration relating to managing document uploads.
** '''field_property_defaults.pl''' -
+
** '''[[document_validate.pl]] <sup>1</sup>''' - Validation of the eprint data object as a whole.
** '''field_validate.pl''' -
+
** '''[[dynamic_template.pl]] <sup>1</sup>''' - Legacy configuration for dynamic template of repository archive.
** '''indexing.pl''' -
+
** '''[[element_classes.pl]] <sup>1</sup>''' - Configuration for assigning classes EPrints generated HTML elements.
** '''languages.pl''' -
+
** '''[[email.pl]] <sup>1</sup>''' - Configuration for sending email from the repository archive.
** '''log.pl''' -
+
** '''[[eprint_fields_automatic.pl]] <sup>2,3</sup>''' - Configuration for automatically setting eprint fields based on the values of other fields.
** '''misc.pl''' -
+
** '''[[eprint_fields_common.pl]] <sup>2</sup>''' - Common (across [[EPrints Flavours|flavours]]) non-core fields for the eprint data object.
** '''oai.pl''' -
+
** '''[[eprint_fields_default.pl]] <sup>2,3</sup>''' - Default initial values for eprint fields.
** '''paths.pl''' -
+
** '''[[eprint_fields.pl]] <sup>2,3</sup>''' - Non-core field definitions for the eprint data object.
** '''plugins.pl''' -
+
** '''[[eprint_fields_pub.pl]] <sup>2</sup>''' - Publication [[EPrints Flavours|flavour]] fields for the eprint data object.
** '''registration.pl''' -
+
** '''[[eprint_locking.pl]] <sup>1</sup>''' - Configuration for locking eprint data objects so they can only be edited by one user at once.
** '''request_copy.pl''' -
+
** '''[[eprint_render.pl]] <sup>2,3</sup>''' - Configuration for rendering eprint abstract/summary pages.
** '''search.pl''' -
+
** '''[[eprint_search_advanced.pl]] <sup>2,3</sup>''' - Configuration for advanced search of eprint data objects.
** '''security.pl''' -
+
** '''[[eprint_search_simple.pl]] <sup>2,3</sup>''' - Configuration for simple search of eprint data objects.
** '''session.pl''' -
+
** '''[[eprint_search_staff.pl]] <sup>1,2</sup>''' - Configuration for staff search of eprint data objects.
** '''urls.pl''' -
+
** '''[[eprint_validate.pl]] <sup>2,3</sup>''' - Validation of the eprint data object as a whole.
** '''user_fields.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_automatic.pl''' -
+
** '''[[exports.pl]] <sup>2</sup>''' - Configuration relating to generic aspects of export plugins.
** '''user_fields_default.pl''' -
+
** '''[[field_property_defaults.pl]] <sup>1</sup>''' - Defaults for various attributes for a field specification.
** '''user_login.pl''' -
+
** '''[[field_validate.pl]] <sup>1</sup>''' - General validation of a metadata field.
** '''user_render.pl''' -
+
** '''[[flavour_info.pl]] <sup>2,3</sup>''' - Information about the [[EPrints Flavours|flavour]] of the repository archive.
** '''user_roles.pl''' -
+
** '''[[indexing.pl]] <sup>1</sup>''' - Configuration for indexing of metadata and document content.
** '''user_validate.pl''' -
+
** '''[[issues_search.pl]] <sup>2,3</sup>''' - Configuration for search of eprint issues.
** '''views.pl''' -
+
** '''[[languages.pl]] <sup>1</sup>''' - Configuration for languages used by the repository archive.
** '''vlit.pl''' -
+
** '''[[latest_tool.pl]] <sup>1</sup>''' - Configuration for generating listings and feeds of latest eprints in the repository archive.
 +
** '''[[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/