Difference between revisions of "Config Options by File"
(→doc_rewrite.pl) |
(No longer a work in progress) |
||
(201 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
[[#0-9|0-9]] | [[#A|A]] | [[#B|B]] | [[#C|C]] | [[#D|D]] | [[#E|E]] | [[#F|F]] | [[#G|G]] | [[#H|H]] | [[#I|I]] | [[#J|J]] | [[#K|K]] | [[#L|L]] | [[#M|M]] | [[#N|N]] | [[#O|O]] | [[#P|P]] | [[#Q|Q]] | [[#R|R]] | [[#S|S]] | [[#T|T]] | [[#U|U]] | [[#V|V]] | [[#W|W]] | [[#X|X]] | [[#Y|Y]] | [[#Z|Z]] | [[#0-9|0-9]] | [[#A|A]] | [[#B|B]] | [[#C|C]] | [[#D|D]] | [[#E|E]] | [[#F|F]] | [[#G|G]] | [[#H|H]] | [[#I|I]] | [[#J|J]] | [[#K|K]] | [[#L|L]] | [[#M|M]] | [[#N|N]] | [[#O|O]] | [[#P|P]] | [[#Q|Q]] | [[#R|R]] | [[#S|S]] | [[#T|T]] | [[#U|U]] | [[#V|V]] | [[#W|W]] | [[#X|X]] | [[#Y|Y]] | [[#Z|Z]] | ||
</div> | </div> | ||
− | + | ||
+ | As well as options that exist in configuration files there are further [[Miscellaneous Config Options]]. | ||
== 0-9 == | == 0-9 == | ||
− | === 00_version.pl === | + | === [[00_flavour.pl]] === |
+ | * '''flavour''' - The flavour for the particular repository archive. (e.g. <code>pub</code>, <code>zero</code>, etc.). (Configuration generated on repository archive creation). | ||
+ | |||
+ | === [[00_version.pl]] === | ||
* '''version_long''' - The long version name of EPrints (e.g. <code>EPrints 3.4.5</code>). | * '''version_long''' - The long version name of EPrints (e.g. <code>EPrints 3.4.5</code>). | ||
* '''version_alias''' - The alias/codename for the core EPrints release version (e.g. <code>Smoothie Squall</code>). | * '''version_alias''' - The alias/codename for the core EPrints release version (e.g. <code>Smoothie Squall</code>). | ||
Line 15: | Line 19: | ||
* '''version_description''' - A fully description of the EPrints software version using above version/vendor settings. | * '''version_description''' - A fully description of the EPrints software version using above version/vendor settings. | ||
− | === 10_core.pl === | + | === [[10_core.pl]] === |
− | * '''aliases''' - Other hostnames for the repository archive and whether they should redirect to the primary hostname. | + | * '''aliases''' - Other hostnames for the repository archive and whether they should redirect to the primary hostname. (Configuration generated on repository archive creation). |
− | * '''host''' - The primary hostname of the repository archive on HTTP. | + | * '''host''' - The primary hostname of the repository archive on HTTP. (Configuration generated on repository archive creation). |
− | * '''port''' - The TCP port number to connect to the repository archiver over HTTP. (Typically <code>80</code>). | + | * '''port''' - The TCP port number to connect to the repository archiver over HTTP. (Configuration generated on repository archive creation. Typically <code>80</code>). |
− | * '''securehost''' - The primary hostname of the repository archive on HTTPS. Normally the same as | + | * '''securehost''' - The primary hostname of the repository archive on HTTPS. Normally the same as <code>host</code>, so typically can be a reference. (Configuration initially generated on repository archive creation). |
− | * '''secureport''' - The TCP port number to connect to the repository | + | * '''secureport''' - The TCP port number to connect to the repository archive over HTTPS. (Configuration generated on repository archive creation. Typically <code>443</code>). |
− | * '''http_root''' - | + | * '''http_root''' - The base path where the repository archive URLs can be found. (Typically undefined, so just <code><nowiki>https://eprints.example.org/...</nowiki></code> rather than <code><nowiki>https://eprints.example.org/eprints/...</nowiki></code>). (Configuration generated on repository archive creation). |
− | === 20_baseurls.pl === | + | === [[20_baseurls.pl]] === |
− | * '''base_url''' - URL including protocol and hostname, used as a basis whenever a full URL for a specific location needs to be generated. | + | * '''base_url''' - URL including protocol and hostname, used as a basis whenever a full URL for a specific location needs to be generated. (By default generated from other settings). |
− | * '''perl_url''' - URL including protocol and hostname, used as a basis whenever a full URL for a specific CGI script needs to be generated. | + | * '''perl_url''' - URL including protocol and hostname, used as a basis whenever a full URL for a specific CGI script needs to be generated. (By default generated from other settings). |
− | * '''use_long_url_format''' - Use long URLs for abstract pages / documents (e.g. <code>/id/eprint/1234</code> or <code>/id/eprint/1234/1/paper.pdf</code> rather than <code>/1234</code> or <code>/1234/1/paper.pdf</code>. Will redirect from short to long URL rather than | + | * '''use_long_url_format''' - Use long URLs for abstract pages / documents (e.g. <code>/id/eprint/1234</code> or <code>/id/eprint/1234/1/paper.pdf</code> rather than <code>/1234</code> or <code>/1234/1/paper.pdf</code>. Will redirect from short to long URL rather than long to short. (Default is <code>0</code>, do not use long URLs). |
+ | * '''uri_url''' - Set the base URL for URIs for data objects (e.g. eprint items). If the EPrints was originally HTTP but has been [[Simplified HTTPS Configuration|reconfigured to be an HTTPS only]], then the URIs for eprints will also change to HTTPS. This may be undesirable, as URIs may only serve their purpose if they match exactly. This allows HTTP to be retained for URIs but they should still be able to redirect to HTTPS if used as URLs. (By default this is commented out so URIs will just use <code>base_url</code>). | ||
== A == | == A == | ||
− | === adminemail.pl === | + | === [[adminemail.pl]] === |
− | * '''adminemail''' - The email address | + | * '''adminemail''' - The email address of the administrator of the repository archive. Will be displayed on the <code>/contact.html</code> and <code>/information.html</code> pages and the default email address the repository archive will send email to and from. (Configuration generated when repository archive is created). |
− | * ''' | + | * '''senderemail''' - Alternative email address from which to send email for the repository archive. Useful if restrictions on where email can be sent from for the domain of the <code>adminemail</code> address. Will still set <ocde>adminemail</code> as reply to email address. |
== B == | == B == | ||
− | === branding.pl === | + | === [[branding.pl]] === |
* '''site_logo''' - Default logo to use for the site. Probably only useful if using default template for EPrints. | * '''site_logo''' - Default logo to use for the site. Probably only useful if using default template for EPrints. | ||
− | === build_attributes.pl === | + | === [[build_attributes.pl]] === |
* '''build_node_attributes''' - Defines function for manipulating attributes that can be called by <code>EPrints::XML::create_element</code>. | * '''build_node_attributes''' - Defines function for manipulating attributes that can be called by <code>EPrints::XML::create_element</code>. | ||
== C == | == C == | ||
− | === citation_default.pl === | + | === [[citation_default.pl]] === |
* '''citation_default''' | * '''citation_default''' | ||
** '''document''' | ** '''document''' | ||
Line 54: | Line 59: | ||
*** '''for_summary_page''' - The default eprint citation to use when rendering a eprint of an abstract/summary page. | *** '''for_summary_page''' - The default eprint citation to use when rendering a eprint of an abstract/summary page. | ||
− | === citationcaches.pl === | + | === [[citationcaches.pl]] === |
* '''datasets''' | * '''datasets''' | ||
** '''citationcache''' - Defines dataset configuration for <code>EPrints::DataObj::CitationCache</code>. | ** '''citationcache''' - Defines dataset configuration for <code>EPrints::DataObj::CitationCache</code>. | ||
Line 62: | Line 67: | ||
** '''excluded_style''' - Citation styles that should not be cache because they are dynamic/context dependent. (Default <code>[ 'result' ]</code>). | ** '''excluded_style''' - Citation styles that should not be cache because they are dynamic/context dependent. (Default <code>[ 'result' ]</code>). | ||
− | === csrf_protection.pl === | + | === [[csrf_protection.pl]] === |
* '''csrf_token_salt''' - A salt to ensure generated [https://owasp.org/www-community/attacks/csrf CSRF] tokens are not guessable. | * '''csrf_token_salt''' - A salt to ensure generated [https://owasp.org/www-community/attacks/csrf CSRF] tokens are not guessable. | ||
== D == | == D == | ||
− | === database.pl === | + | === [[database.pl]] === |
− | * '''dbhost''' - The hostname or IP address where the database for the repository archive is hosted. (Typically <code>localhost</code>). | + | * '''dbname''' - The name of the database where the repository archive is hosted. (Configuration generated on repository archive creation. Typically the same as the archive's ID). |
− | * ''' | + | * '''dbhost''' - The hostname or IP address where the database for the repository archive is hosted. (Configuration generated on repository archive creation. Typically <code>localhost</code>). |
− | * ''' | + | * '''dbport''' - The TCP port over which the database for the repository archive can be accessed. (Configuration generated on repository archive creation. Typically <code>undef</code> as database client assume default port). |
− | * '''dbuser''' - The username to connect to the database where the repository archive is hosted. (Often the same as the archive's ID). | + | * '''dbsock''' - The socket over which the database for the repository archive can be accessed. (Configuration generated on repository archive creation. Typically <code>undef</code>, as sockets are not used). |
− | * '''dbengine''' - The database table engine to use when creating new tables in the database where the repository archive is hosted. (Default is <code>InnoDB</code>, previously has been <code>MyISAM</code>). | + | * '''dbuser''' - The username to connect to the database where the repository archive is hosted. (Configuration generated on repository archive creation. Often the same as the archive's ID). |
+ | * '''dbpass''' - The password to connect to the database where the repository archive is hosted. (Configuration generated on repository archive creation. Typically automatically generated 16 character string). | ||
+ | * '''dbengine''' - The database table engine to use when creating new tables in the database where the repository archive is hosted. (Configuration generated on repository archive creation. Default is <code>InnoDB</code>, previously has been <code>MyISAM</code>). | ||
− | === datasets.pl === | + | === [[datasets.pl]] === |
* '''datasets''' - Initialises hash reference (if not already) so other configuration files can add bespoke datasets. | * '''datasets''' - Initialises hash reference (if not already) so other configuration files can add bespoke datasets. | ||
− | === doc_rewrite.pl === | + | === [[doc_rewrite.pl]] === |
− | Adds | + | Adds an [[Triggers#EP_TRIGGER_DOC_URL_REWRITE|<code>EP_TRIGGER_DOC_URL_REWRITE</code> trigger function]] to handle relation-based document redirects. |
+ | |||
+ | === [[document_fields_automatic.pl]] === | ||
+ | * '''set_document_automatic_fields''' - Defines a function that updates specified fields for a document when its data object is committed. (By default no fields are updated). | ||
− | === | + | === [[document_fields_default.pl]] === |
− | * ''' | + | * '''set_document_defaults''' - A function that sets the initial values specified fields for a document when its data object is created. (By default the <code>language</code> field is set to the default language for the repository and the <code>security</code> field is set to <code>public</code>). |
+ | * '''eprint_details_document_fields''' - The document fields that should be displayed in the Upload section of Details tab of the eprint view page. (Default: <code>[ "content", "format", "format_desc", "language", "security", "license", "date_embargo", "embargo_reason" ]</code> | ||
− | === | + | === [[document_fields.pl]] === |
− | * ''' | + | * '''fields''' |
+ | ** '''document''' - Extra fields to add to the document data object beyond those defined by <code>EPrints::DataObj::Document</code>. (By default this configuration is commented out. I.e. no new fields will be added). | ||
− | === | + | === [[document_upload.pl]] === |
− | '' | + | * '''diskspace_error_threshold''' - The minimum amount of space left on a disk before using the next disk available if present. (Default is <code>64 * 1024</code> kilobytes, i.e. 64 MiB). |
+ | * '''diskspace_warn_threshold''' - The minimum amount of space left on a disk before the administrator receives a warning email about disk space running low. (Default is <code>512 * 1024</code> kilobytes, i.e. 512 MiB). | ||
+ | * '''mimemap''' - Additional entries can be added to the <code>mimemap</code>. (By default no additional entries are added). | ||
+ | * '''archive_max_files''' - Maximum number of files in an archive (e.g. zip file) that can be expanded in individual documents for an eprint record. (Commented out by default but core default is <code>100</code> files). | ||
− | === | + | === [[document_validate.pl]] === |
− | * ''' | + | * '''validate_document''' - A function that validates the metadata for a document data object. (<font style="color: red;">This option is partially deprecated. Rather than adding extra validations, use a [[Triggers#EP_TRIGGER_VALIDATE|<code>EP_TRIGGER_VALIDATE</code> dataset trigger function]] for the document dataset</font>). |
− | |||
− | |||
− | |||
− | |||
− | + | The following validation tests are performed on a document data object: | |
− | + | # <code>formatdesc</code> is set if the <code>format</code> is <code>other</code>. | |
+ | # Unless <code>retain_embargo_dates</code> config option is set true, if <code>security</code> is set to <code>public</code> then the <code>date_embargo</code> field must be unset. | ||
+ | # If the year part of <code>date_embargo</code> is set then the month and day most also be set to ensure clarity on when an embargo expires. | ||
+ | # Unless <code>retain_embargo_dates</code> config option is set true, <code>date_embargo</code> must be in the past. | ||
+ | # If <code>security</code> is set to <code>public</code> then <code>date_embargo</code> cannot be in the future (and can only be in the past if <code>retain_embargo_dates</code> config option is set true). | ||
− | === dynamic_template.pl === | + | === [[dynamic_template.pl]] === |
− | + | For more information see '''[[API:EPrints/Apache/Template#Dynamic_Pins|Dynamic Pins]]'''. (<font style="color: red;">This option is partially deprecated. Consider using a [[Triggers#EP_TRIGGER_DYNAMIC_TEMPLATE|<code>EP_TRIGGER_DYNAMIC_TEMPLATE</code> trigger function]] instead</font>). | |
+ | * '''dynamic_template''' | ||
+ | ** '''enable''' - Enables dynamic template. (Default is <code>1</code>). | ||
+ | * '''plugins''' | ||
+ | ** '''Screen::Login''' | ||
+ | *** '''appears''' | ||
+ | **** '''key_tools''' - Where login page link should appear in the key tools menu bar, if the user is not already logged in. | ||
+ | ** '''Screen::Register''' | ||
+ | *** '''actions''' | ||
+ | **** '''register''' | ||
+ | ***** '''appears''' | ||
+ | ****** '''key_tools''' - Where the user registration page link should appear in the key tools menu bar. | ||
+ | ** '''Screen::Logout''' | ||
+ | *** '''appears''' | ||
+ | **** '''key_tools''' - Where logout page link should appear in the key tools menu bar, if the user is already logged in. | ||
+ | ** '''Screen::Admin::Config::Edit::XPage''' | ||
+ | *** '''actions''' | ||
+ | **** '''edit''' | ||
+ | ***** '''appears''' | ||
+ | ****** '''key_tools''' - Where the edit static page (if current page is a static page) link should appear in the key tools menu bar. | ||
+ | ** '''Screen::Admin::Phrases''' | ||
+ | *** '''actions''' | ||
+ | **** '''edit''' | ||
+ | ***** '''appears''' | ||
+ | ****** '''key_tools''' - Where the edit page phrases link should appear in the key tools menu bar. | ||
+ | ** '''Screen::OtherTools''' | ||
+ | *** '''appears''' | ||
+ | **** '''key_tools''' - Where Other Tools page link should appear in the key tools menu bar. (<code>Screen::OtherTools</code> plugin does not exist by default so will not appear in the key tools meny bar). | ||
== E == | == E == | ||
− | === element_classes.pl === | + | === [[element_classes.pl]] === |
− | '' | + | These can be useful if you are trying use an existing [[Branding_with_confidence|branding]] template, e.g. CSS, JavaScript, etc. for your institution. |
+ | * '''eprint''' | ||
+ | ** '''summary_content_class''' - The classes that should be used for HTML <code><div></code> elements around the abstract/summary page. Default is as follows: | ||
+ | { | ||
+ | ROOT => 'ep_summary_content', | ||
+ | top => 'ep_summary_content_top', | ||
+ | left => 'ep_summary_content_left', | ||
+ | main => 'ep_summary_content_main', | ||
+ | right => 'ep_summary_content_right', | ||
+ | bottom =>'ep_summary_content_bottom', | ||
+ | after => 'ep_summary_content_after' | ||
+ | }; | ||
+ | * '''item_list_class''' - The class that should be used for items in the key tools menu bar. | ||
+ | * '''toolbar_class''' - The class that should be used for key tools menu bar. | ||
+ | |||
+ | === [[email.pl]] === | ||
+ | * '''send_email''' - Defines a function for sending email from your repository archive. (By default this calls <code>EPrints::Email::send_mail_via_smtp</code>, which will then use whatever hostname is set for <code>smtp_server</code> under <code>EPrints::SystemSettings</code>. If this is <code>localhost</code> or <code>127.0.0.1</code>, you will have to set up an application on your server to relay this email. E.g. Sendmail, Postfix, etc.). | ||
+ | |||
+ | === [[epm.pl]] === | ||
+ | * '''datasets''' | ||
+ | ** '''epm''' - Defines the dataset for Bazaar plugins / EPrints Package Manager (EPM) objects. I.e. <code>EPrints::DataObj::EPM</code>. | ||
+ | *** '''sqlname''' - Name of EPM dataset when referred to in SQL statements. | ||
+ | *** '''class''' - The package name of the class for data objects belonging to the EPM dataset. | ||
+ | *** '''virtual''' - Whether the EPM dataset exists in the dataset. (By default <code>1</code> is not in the database. SHOULD NOT BE CHANGED). | ||
+ | *** '''sources''' - Array reference of locations where EPMs can be installed from. Each entry contains a <code>name</code> and <code>base_url</code>. (By default one entry with <code>name</code> of <code>EPrints Bazaar</code> and <code>base_url</code> of <code>https://bazaar.eprints.org</code>). | ||
+ | === [[eprint_fields_automatic.pl]] === | ||
+ | * '''set_eprint_automatic_fields''' - What fields to automatically update when an eprint data object record is committed. (By default for the pub_lib flavour, <code>ispublished</code> is set to <code>pub</code> if <code>type</code> is <code>patent</code>. If not already set,<code>ispublished</code> is set to <code>unpub</code> if <code>type</code> is <code>thesis</code>. Also, <code>full_text_status</code> is set to <code>none</code> if there are no documents, <code>restricted</code> if any documents are restricted and <code>public</code> if all documents are unrestricted. Default configuration for zero flavour does not set any eprint fields automatically). | ||
+ | |||
+ | === [[eprint_fields_common.pl]] === | ||
+ | * '''fields''' | ||
+ | ** '''eprint''' - Adds <code>contact_email</code> field to the eprint data object. | ||
− | === | + | === [[eprint_fields_default.pl]] === |
− | * ''' | + | * '''set_eprint_defaults''' - Sets default values for fields when eprint data object is created. (By default pub_lib flavour sets <code>type</code> to <code>article</code>, for zero flavour its set it to <code>other</code>). |
− | === | + | === [[eprint_fields.pl]] === |
− | * ''' | + | * '''fields''' |
+ | ** '''eprint''' - Adds extra fields to eprint data object. (The following fields are added by default for the pub_lib and zero flavours). | ||
+ | '''pub_lib''': creators, contributors, corp_creators, title, ispublished, subjects, divisions, keywords, note, suggestions, abstract, date, date_type, publisher, official_url, id_number, data_type, opyright_holders | ||
− | + | '''zero''': title, subjects | |
− | '' | ||
− | === | + | === [[eprint_fields_pub.pl]] === |
− | * ''' | + | * '''fields''' |
+ | ** '''eprint''' - Adds extra fields to eprint data object. (The following fields are added by default for the pub_lib flavour: <code>full_text_status, monograph_type, pres_type, series, publication, volume, number, article_number, place_of_pub, pagerange, pages, event_title, event_location, event_dates, event_type, patent_applicant, institution, department, thesis_type, thesis_name, refereed, isbn, issn, book_title, edition, editors, related_url, referencetext, funders, projects, output_media, num_pieces, composition_type, pedagogic_type, completion_tome, task_purpose, skills_area, learning_level, gscholar</code>). | ||
− | === | + | === [[eprint_locking.pl]] === |
− | * ''' | + | * '''locking''' |
+ | ** ''' eprint''' | ||
+ | *** '''enable''' - Enables locking of eprint data objects so they cannot be edited whilst another user is editing. (By default enabled, i.e. <code>1</code>). | ||
+ | *** '''timeout''' - Number of seconds before a lock is released if the current user does not complete or cancel editing. (Default <code>3600</code>, i.e. 1 hour). | ||
− | === | + | === [[eprint_render.pl]] === |
− | '' | + | * '''summary_page_metadata''' - eprint metadata fields to include in the summary table on abstract/summary pages. (The following fields are added by default for the pub_lib and zero flavours). |
+ | '''pub_lib''': commentary, note, keywords, subjects, divisions, sword_depositor, userid, datestamp, lastmod | ||
− | + | '''zero''': commentary, subjects, sword_depositor, userid, datestamp, lastmod | |
− | '' | + | * '''eprint_render''' - Function that generates XHTML DOM objects for the page, title and links for the abstract/summary page. |
− | === | + | === [[eprint_search_advanced.pl]] === |
− | * ''' | + | * '''search''' |
+ | ** '''advanced''' - The configuration for the advanced search for eprint data objects. | ||
+ | *** '''search_fields''' - Array reference of <code>meta_fields</code> to include in the advanced search form. (Default varies depending on flavour). | ||
+ | *** '''template''' - The page template to use when displaying the advanced search form. (Default: <code>default</code>). | ||
+ | *** '''preamble_phrase''' - The phrase at the top of the advanced search form. I.e. to explain how to use it. (Default: <code>cgi/advsearch:preamble</code>). | ||
+ | *** '''title_phrase''' - The phrase to use for the page title of the advanced search form. (Default: <code>cgi/advsearch:adv_search</code>). | ||
+ | *** '''citation''' - The eprint citation style to use for search results. (Default: <code>result</code>). | ||
+ | *** '''page_size''' - How many results to display per page. (Default: <code>20</code>). | ||
+ | *** '''order_methods''' - Different ways or ordering search results (Default varies depending on flavour). | ||
+ | *** '''default_order''' - Default order for search results (Default: <code>byyear</code> for pub_lib, <code>bytitle</code> for zero). | ||
+ | *** '''show_zero_results''' - Whether to go to results page with no results or say on search form page. (Default: <code>1</code>, i.e. go to search results page). | ||
− | === | + | === [[eprint_search_simple.pl]] === |
− | '' | + | * '''search''' |
+ | ** '''simple''' - The configuration for the simple search for eprint data objects. | ||
+ | *** '''search_fields''' | ||
+ | **** '''id''' - The name to give to the single input field for the simple search form. | ||
+ | **** '''meta_fields''' - The eprint metadata fields that will be search over for the input in the simple search form. (Default varies on flavour. <code>documents, title</code> for zero, <code>documents, title, abstract, creators_name, date</code> for pub_lib). | ||
+ | *** '''template''' - The page template to use when displaying the simple search form. (Default: <code>default</code>). | ||
+ | *** '''title_phrase''' - The phrase to use for the page title of the dimple search form. (Default: <code>cgi/search:simple_search</code>). | ||
+ | *** '''citation''' - The eprint citation style to use for search results. (Default: <code>result</code>). | ||
+ | *** '''page_size''' - How many results to display per page. (Default: <code>20</code>). | ||
+ | *** '''order_methods''' - Different ways or ordering search results (Default varies depending on flavour). | ||
+ | *** '''default_order''' - Default order for search results (Default: <code>byyear</code> for pub_lib, <code>bytitle</code> for zero). | ||
+ | *** '''show_zero_results''' - Whether to go to results page with no results or say on search form page. (Default: <code>1</code>, i.e. go to search results page). | ||
− | === | + | === [[eprint_search_staff.pl]] === |
− | '' | + | * '''datasets''' |
+ | ** '''eprint''' | ||
+ | *** '''search''' | ||
+ | **** '''staff''' - The configuration for the staff (i.e. admins/editors only) search for eprint data objects. | ||
+ | **** '''search_fields''' - Array reference of <code>meta_fields</code> to include in the staff search form. (Default varies depending on flavour. Advanced search fields plus: <code>eprintid, userid.username, userid.name, dir</code>. Also <code>eprint_status</code> for pub_lib flavour. | ||
+ | **** '''preamble_phrase''' - The phrase at the top of the staff search form. I.e. to explain how to use it. (Default: <code>Plugin/Screen/Staff/EPrintSearch:description</code>). | ||
+ | **** '''title_phrase''' - The phrase to use for the page title of the staff search form. (Default: <code>Plugin/Screen/Staff/EPrintSearch:titl</code>). | ||
+ | **** '''citation''' - The eprint citation style to use for search results. (Default: <code>result</code>). | ||
+ | **** '''page_size''' - How many results to display per page. (Default: <code>20</code>). | ||
+ | **** '''order_methods''' - Different ways or ordering search results (Default varies depending on flavour). | ||
+ | **** '''default_order''' - Default order for search results (Default: <code>byyear</code> for pub_lib, <code>bytitle</code> for zero). | ||
+ | **** '''show_zero_results''' - Whether to go to results page with no results or say on search form page. (Default: <code>1</code>, i.e. go to search results page). | ||
+ | **** '''staff''' - Whether search is only accessible to staff (Default <code>1</code>, i.e. only available to staff). | ||
− | === | + | === [[eprint_validate.pl]] === |
− | '' | + | * '''validate_eprint''' - Defines a function that performs complex (i.e. containing multiple metadata fields) validation on <code>eprint</code> data objects and generate XHTML DOM objects describe any problems found. (Function varies depending of flavour. Zero function does no further validation. pub_lib flavour checks at least one creator or editor is set). |
− | === | + | === [[eprint_warnings.pl]] === |
− | * ''' | + | * '''eprint_warnings''' - Defines a function that performs complex (i.e. containing multiple metadata fields) checks on <code>eprint</code> data objects and generate XHTML DOM objects describe warnings where metadata may not have been correctly completed. (Function varies depending of flavour. All flavours warn if no documents have been uploaded. pub_lib flavour also warns if not <code>contact_email</code> has been set). |
− | === | + | === [[executables.pl]] === |
− | * ''' | + | * '''disable_df''' - Whether to disable use of Unix <code>df</code> command to check free space of disk partitions and just use the one that comes last alphanumerically. (By default <code>0</code>, i.e. do use <code>df</code>, unless already defined in <code>perl_lib/EPrints/SystemSettings.pm</code>). |
+ | * '''executables''' - File paths to external applications or internal scripts used by EPrints. Includes the following applications/scripts: <code>convert, tar, rm, dvips, gunzip, sendmail, unzip, html2text, cp, latex, perl, pdftotext, wget, antiword, ffmpeg, file, doc2txt, unoconv, txt2refs, ffprobe, cal, ncal</code>. | ||
− | === exports.pl === | + | === [[exports.pl]] === |
− | '' | + | * '''export''' |
+ | ** '''publication_status_type_override''' - Allows certain export formats (BibTeX and RIS) to change the type of exported object if certain conditions are met. (e.g. <code>ispublished</code> is set to <code>unpub</code>.). (Default is <code>1</code> types can be changed). | ||
== F == | == F == | ||
− | === field_property_defaults.pl === | + | === [[field_property_defaults.pl]] === |
− | * '''field_defaults''' - | + | * '''field_defaults''' |
+ | ** '''input_cols''' - The default number of <code>cols</code> (columns) in a <code><textarea></code> or <code>size</code> of <code><input></code> HTML form field. (Default <code>60</code>). | ||
+ | ** '''input_rows''' - The default number of <code>rows</code> in a <code><textarea></code> HTML form field. (Default <code>10</code>). | ||
+ | ** '''input_name_cols''' - The default <code>size</code> of <code><input></code> HTML form field for various sub-fields of a <code>name</code> metadata field. | ||
+ | *** '''honourific''' - The honourific sub-field. (Default is <code>8</code>). | ||
+ | *** '''given''' - The given name sub-field. (Default is <code>20</code>). | ||
+ | *** '''family''' - The family name sub-field. (Default is <code>20</code>). | ||
+ | *** '''lineage''' - The lineage sub-field. (Default is <code>8</code>). | ||
+ | ** '''input_add_boxes''' - The number of rows to add to a metadata field that allows multiple values when clicking the <code>More input rows</code> button. (Default is <code>2</code>). | ||
+ | ** '''input_boxes''' - The initial number of rows for metadata field that allows multiple values. (Default is <code>3</code>). | ||
+ | ** '''digits''' - The maximum number of digits that can be added for an <code>int</code> (integer) metadata field. (Default is <code>9</code>. Any higher might exceed the biggest number the database can store). | ||
+ | ** '''search_cols''' - The default number of <code>cols</code> (columns) in a <code><textarea></code> or <code>size</code> of <code><input></code> HTML form field when part of a search form. (Default <code>40</code>). | ||
+ | ** '''search_rows''' - The default number of <code>rows</code> in a <code><textarea></code> HTML form field when part of a search form. (Default <code>12</code>). | ||
+ | ** '''hide_honourific''' - Whether the <code>honourific</code> sub-field when rendering <code>name</code> metadata field in an HTML input form (Default <code>0</code>, do not hide). | ||
+ | ** '''hide_lineage''' - Whether the <code>lineage</code> sub-field when rendering a <code>name</code> metadata field in an HTML input form (Default <code>1</code>, do hide). | ||
+ | ** '''family_first''' - Whether the <code>family</code> name sub-field should appear before the <code>given</code> name sub-field in an HTML input form. (Default <code>0</code>, given name should come first). | ||
− | === field_validate.pl === | + | === [[field_validate.pl]] === |
− | * '''validate_field''' - | + | * '''validate_field''' - Function that validates particular metadata fields. Currently only used on <code>user</code> and <code>eprint</code> data objects. Default validations include: |
+ | *# [[url field|<code>url</code> fields]] starts with a protocol (e.g. <code>http:</code>, <code>https:</code> etc.). | ||
+ | *# [[name field|<code>name</code> fields]] has a <code>family</code> and <code>given</code> name set. | ||
+ | *# [[email field|<code>email</code> fields]] contains only one <code>@</code>, which is not at the start or end and also has no spaces. | ||
+ | *# [[id field|<code>id</code> fields]] and sub-classes (e.g. <code>text</code>, <code>longtext</code> <code>url</code>, etc.) are no longer than the specified <code>maxlength</code> attribute for the field. | ||
+ | *# User's <code>username</code> field is not a duplicate. | ||
− | === flavour_info.pl === | + | === [[flavour_info.pl]] === |
− | '' | + | * '''flavour_id''' - The ID of the flavour. (E.g. <code>zero</code> or <code>pub</code>). |
+ | * '''flavour_name''' - The name of the flavour. (E.g. <code>Zero</code> or <code>Publication</code>). | ||
+ | * '''flavour_version''' - The release version of the flavour. (Different to the EPrints release version). | ||
+ | * '''version_alias''' - Updates the alias for the EPrints version with a particular flavour. (I.e. not updated for <code>zero</code> flavour). | ||
== G == | == G == | ||
Line 163: | Line 299: | ||
== I == | == I == | ||
− | === indexing.pl === | + | === [[indexing.pl]] === |
− | * ''' | + | * '''index''' - Should data objects in the repository archive be indexed. (Default <code>1</code>, should be indexed). |
− | * ''' | + | * '''indexing''' |
− | * ''' | + | ** '''freetext_min_word_size''' - The minimum length of a word in freetext for it to be indexed. (Default is <code>3</code> characters). |
+ | ** '''freetext_stop_words''' - Common words that will not be indexed from a freetext. (E.g. <code>the</code>, , <code>and</code>, <code>are</code>, etc.). | ||
+ | ** '''freetext_always_words''' - Words that do not meet other criteria but still should be indexed from a freetext (e.g. <code>ok</code> because it is too short). | ||
+ | ** '''freetext_separator_chars''' - Characters other that spaces that should be treated as a separator of words. (E.g. <code>@</code>, <code>&</code>, <code>_</code>, etc.) | ||
+ | * '''extract_words''' - Function that takes a text input and extracts and returns array references for good and bad words from the text input. | ||
+ | |||
+ | === [[invocations.pl]] === | ||
+ | * '''invocation''' - Invocations (i.e. command lines) of external applications on internal scripts used by EPrints (as defined in [[executables.pl]]). Includes the following invocations: <code>convert_crop_white, dvips, sendmail, html2text, latex, targz, antiwordpdf, pdftotext, zip, unzzip, cpall, wget, antiword, doc2txt, rmall, ffmpeg_i, ffmpeg_video_mp4, ffmpeg_video_ogg, ffmpeg_video_webm, ffmpeg_audio_mp4, ffmpeg_audio_off, ffmpeg_cell, unoconv, txt2refs, ffprobe, cal, ncal</code>. | ||
− | === issues_search.pl === | + | === [[issues_search.pl]] === |
− | '' | + | * '''issues_search''' |
+ | ** '''search_fields''' - Metadata fields (from <code>eprint</code> data object) to include in issues search (Default varies depending on flavour. zero contains: <code>item_issues_type, item_issues_timestamp, userid.username, subjects, type</code>. pub_lib also has <code>eprint_status, creators_name, date</code>. | ||
+ | ** '''preamble_phrase''' - The phrase at the top of the issues search form. I.e. to explain how to use it. (Default: <code>search/issues:preamble</code>). | ||
+ | ** '''title_phrase''' - The phrase to use for the page title of the issues search form. (Default: <code>cgi/issues:title</code>). | ||
+ | ** '''citation''' - The <code>eprint</code> citation style to use for search results. (Default: <code>issue</code>). | ||
+ | ** '''page_size''' - How many results to display per page. (Default: <code>100</code>). | ||
+ | ** '''staff''' - Whether search is only accessible to staff (Default <code>1</code>, i.e. only available to staff). | ||
+ | ** '''order_methods''' - Different ways or ordering search results (Default varies depending on flavour). | ||
+ | ** '''default_order''' - Default order for search results (Default: <code>byfirstseen</code>). | ||
+ | ** '''show_zero_results''' - Whether to go to results page with no results or say on search form page. (Default: <code>0</code>, i.e. say on search form page). | ||
== J == | == J == | ||
Line 175: | Line 327: | ||
== L == | == L == | ||
− | === languages.pl === | + | === [[languages.pl]] === |
− | * '''defaultlanguage''' - | + | * '''defaultlanguage''' - The default language for the repository archive as a ISO-639-1 two-character code. (Default is <code>en</code>, i.e. English). |
− | * '''languages''' - | + | * '''languages''' - The languages supported by the repository archive as ISO-639-1 two-character codes. (Default us <code>[ 'en' ]</code>, i.e. only English). |
− | === latest_tool.pl === | + | === [[latest_tool.pl]] === |
− | '' | + | * '''latest_tool_modes''' - The different modes supported by the "latest" tool. |
+ | ** '''default''' - By default uses <code>result</code> citation. Does not specify <code>max</code> so uses <code>/cgi/latest_tool</code> default of <code>20</code>. | ||
+ | ** '''fplatest''' - By default uses <code>result</code> citation and <code>max</code> set to <code>3</code>. | ||
+ | * '''latest_tool_feeds''' - The different feeds displayed on the <code>/cgi/latest_tool</code> page. | ||
+ | ** '''Atom''' - Commented out by default. | ||
+ | ** '''RSS''' - Commented out by default. | ||
+ | ** '''RSS2''' - Enabled and with label <code>RSS 2.0</code> by default. | ||
− | === limit_names_shown.pl === | + | === [[limit_names_shown.pl]] === |
− | '' | + | * '''limit_names_shown''' - Defines function to reduce the number of creators/editors names initially shown in a citation. See [[Limiting names shown]] for instructions on how to configure relevant fields to make use of this. |
− | === log.pl === | + | === [[log.pl]] === |
− | * '''log''' - | + | * '''loghandler''' |
− | * ''' | + | ** '''enable''' - Whether the log handler is enabled. (By default <code>1</code>, the log handler is enabled). |
+ | * '''log_submission_timing''' - Commented out by default. If uncommented it will log the amount of time users spend during the submission process, (e.g. what pages they spend longer on). | ||
+ | * '''show_timestamps_in_log''' - Commented out by default. If uncommented it will also include the timestamp in the log message. | ||
+ | * '''show_ids_in_log''' - Commented out by default. If uncommented it will also include the repository archive ID in the log message. | ||
+ | * '''log''' - Defines a function for how log messages should be formatted. (By default this just outputs the message to <code>STDERR</code>). | ||
== M == | == M == | ||
− | === make_orderkey.pl === | + | === [[make_orderkey.pl]] === |
− | '' | + | * '''make_orderkey_ignore_extras''' - Defines a generic function for order keys that removes any not alphanumeric characters (except underscore). |
+ | * '''make_name_orderkey''' - Defines a function for an order key that order based on <code>family</code> name, then <code>given</code> name and finally <code>honourific</code> of a <code>name</code> type metadata field. (Uses <code>make_orderkey_ignore_extras</code> to remove non-alphanumeric characters). | ||
+ | * '''make_title_orderkey''' - Defines a function for an order key that strips out titles that start with a definite or indefinite article (i.e. <code>the</code>, <code>a</code> and <code>an</code>). | ||
+ | * '''make_sanitised_value_orderkey''' - Defines a function to sanitise the value for an order key by just applying the generic <code>make_orderkey_ignore_extras</code> function. | ||
+ | |||
+ | === [[media_info.pl]] === | ||
+ | * '''guess_doc_type''' - Defines a function that tries to determine the type of document (e.g. <code>text</code>, <code>image</code>, <code>audio</code>, <code>video</code>) by evaluating it MIME type or file extension. | ||
+ | Also contains four [[Triggers#EP_TRIGGER_MEDIA_INFO|<code>EP_TRIGGER_MEDIA_INFO</code> trigger functions]]. | ||
+ | # Tries to set the <code>mime_type</code> metadata field for the document, if it can be determined using GNU's <code>file</code> | ||
+ | # If an audio or video file tries to determine values for the following document metadata fields: <code>media_duration, media_audio_codec, media_video_codec, media_width, media_height, media_aspect_ratio</code> | ||
+ | # Tries to set the <code>mime_type</code> metadata field for the document, if it can be determined by its file extension (and not already determined by GNU <code>file</code> trigger function. | ||
+ | # Tries to set the <code>format</code> metadata field for the document using the <code>guess_doc_type</code> function. | ||
− | === | + | === [[mime_types.pl]] === |
− | '' | + | * '''mimemap''' - A hash reference mapping file extension to MIME type. Loaded from <code>EPRINTS_PATH/lib/mime.types</code>. Used by <code>guess_doc_type</code> configuration function and a <code>EP_TRIGGER_MEDIA_INFO</code> trigger function used to determine a document's <code>mime_type</code> metadata field value, if cannot otherwise be determined. |
− | === | + | === [[misc.pl]] === |
− | '' | + | * '''use_mimetex''' - Use the <code>mimetex.cgi</code> script rather than <code>/cgi/latex2png</code> script for <code>EPrints::Latex::render_string</code>. (Default is <code>0</code>, do not use mimetex.cgi as it is not present by default). |
+ | * '''cookie_auth''' - Whether to used cookie-based or basic authentication for maintaining user sessions. (Default is <code>1</code> use cookie-based authentication as more modern/secure than basic authentication). | ||
+ | * '''skip_buffer''' - Whether deposited eprint items should be moved straight to the live archive or first moved to the review buffer. (Default is <code>0</code>. Items should be first moved to the review buffer). | ||
+ | * '''skip_buffer_owners''' - Whether deposited eprint items for specific users, (based on their <code>userid</code> should be moved straight to the live archive or first moved to the review buffer. (Default is an empty array reference. No user's items should be moved straight to the live archive). | ||
+ | * '''cookie_domain''' - The domain used for the any EPrints specific cookies, (e.g. <code>eprints_session</code>, <code>secure_eprints_session</code>, <code>eprints_lang</code> etc.). (By default the same as <code>host</code> and/or <code>securehost</code> depending on which is/are set). | ||
+ | * '''cookie_auth_set_user''' - Set user in requests to the <code>username</code> of logged in user, so this appears in Apache access logs. (By default <code>0</code>, do not set user in requests). | ||
+ | * '''pin_timeout''' - Number of hours before pin for resetting user password expires. (By default <code>24*7</code>, i.e. 7 days). | ||
+ | * '''cache_timeout''' - Number of minutes a cache table (of search results) must be unused before it is scheduled for deletion. (By default <code>10</code>, i.e. 10 minutes). | ||
+ | * '''cache_maxlife''' - Number of hours a cache table (of search results) can exists before it is scheduled for deletion (unused or otherwise). (By default <code>12</code>, i.e. 12 hours). | ||
+ | * '''cache_max''' - Maximum number of persistent cache tables (of search results) that can exist in the repository archive's database. If exceeded, oldest table is deleted. (By default <code>100</code>, i.e. 100 tables). | ||
− | + | Also commented out[[Triggers#EP_TRIGGER_LOCAL_SITEMAP_URLS|<code>EP_TRIGGER_LOCAL_SITEMAP_URLS</code> trigger function]] which can be used to add extra entries to the repository archive's sitemap file, if you are NOT using the <code>generate_sitemap</code> script to generate the sitemap. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== N == | == N == | ||
== O == | == O == | ||
− | === oai.pl === | + | === [[oai.pl]] === |
− | * '''oai''' - | + | * '''oai''' - Configuration for OAI-PMH. |
+ | ** '''v2''' | ||
+ | ** '''archive_id''' - The ID to use for this repository archive for OAI-PMH. (By default commented out, so will use primary hostname of the repository archive, i.e. <code>$c->{host}</code> otherwise <code>$c->{securehost}</code>). | ||
+ | *** '''base_url''' - The base URL for accessing OAI-PMH version 2. (By default <code>/cgi/oai2</code>). | ||
+ | ** '''sets''' - Sets to organise (live archive) items accessible over OAI-PMH. (Default varies depending on flavour. Zero only have sets for <code>subjects</code> and <code>type</code>. pub_lib also has a <code>status</code> set based on value of <code>ispublished</code>. Other possible sets commented out by default). | ||
+ | ** '''custom_sets''' - More complex sets based on specific search expression. (Default varies depending on flavour. Zero has no custom sets enabled by default. pub_lib has <code>Open Access DRIVERset</code> includes all (live archive) items that have <code>full_text_status</code> set to <code>public</code>. | ||
+ | ** '''filters''' - Search expression to further filter results available through OAI-PMH, beyond being in the live archive. E.g. only since 2003. (By default no additional filters are applied). | ||
+ | ** '''mime_types''' - Maps eprints' document types to mime types if they are not the same. (By default there are no mappings). | ||
+ | ** '''content''' - Describes content of repository available through OAI-PMH. | ||
+ | *** '''text''' - A text description of the content of repository. (Undefined by default). | ||
+ | *** '''url''' - A URL that points to a page describing the content of repository. (link to <code>/policies.html</code> by default). | ||
+ | ** '''metadata_policy''' - Describes the metadata policy of the repository. | ||
+ | *** '''text''' - A text description of the metadata policy of the repository. (By default text explaining the metadata policy has not been defined). | ||
+ | *** '''url''' - A URL that points at a page describing the metadata policy of the repository. (Undefined by default). | ||
+ | ** '''data_policy''' - Describes the data policy of the repository. | ||
+ | *** '''text''' - A text description of the data policy of the repository. (By default text explaining the data policy has not been defined). | ||
+ | *** '''url''' - A URL that points at a page describing the data policy of the repository. (Undefined by default). | ||
+ | ** '''submission_policy''' - Describes the submission policy of the repository. | ||
+ | *** '''text''' - A text description of the submission policy of the repository. (By default text explaining the submission policy has not been defined). | ||
+ | *** '''url''' - A URL that points at a page describing the submission policy of the repository. (Undefined by default). | ||
+ | ** '''comments''' - Any additional comments to add at the end of the OAI-PMH identify page. (By default some text describing the version and origin of the EPrints software). | ||
− | === optional_filename_sanitise.pl === | + | === [[optional_filename_sanitise.pl]] === |
− | '' | + | * '''optional_filename_sanitise''' - Defines a function that can further sanitise a filename (beyond <code>EPrints::System->sanitise</code>) of an uploaded file before is written to the filesystem / added to the database. (By default commented out but has example for replacing one or more of spaces, parentheses and <code>@</code>s with underscores). |
== P == | == P == | ||
− | === paths.pl === | + | === [[paths.pl]] === |
− | * ''' | + | * '''documents_path''' - Sets the path where uploaded documents for the repository archive are stored. (By default a sub-directory of the archive's parent directory called <code>documents</code>). |
− | * ''' | + | * '''config_path''' - Sets the path where configuration files for the repository archive are located. (By default a sub-directory of the archive's parent directory called <code>cfg</code>). |
− | * '''htdocs_path''' - | + | * '''htdocs_path''' - Sets the path where cached HTML files for the repository archive are located. (By default a sub-directory of the archive's parent directory called <code>html</code>). |
− | === plugins.pl === | + | === [[plugins.pl]] === |
− | '' | + | * '''plugins''' - Defines various settings for EPrints plugins. |
+ | ** '''PLUGIN::NAME''' - This must follow <code>$c->{plugins}</code> (e.g. <code>$c->{plugins}->{Export::Thing}</code>). | ||
+ | *** '''params''' | ||
+ | **** '''disable''' - If set to <code>1</code> disable the plugin. | ||
+ | **** '''visible''' - Who should the plugin be visble to? <code>public</code>, <code>staff</code> or <code>api</code>. | ||
+ | **** '''advertise''' - Should the plugin be advertised in dropdowns or other listing. If set to <code>0</code> not advertised. | ||
+ | ** '''Import::DOI''' - Only uncommented in pub_lib flavour. | ||
+ | *** '''params''' | ||
+ | **** '''pid''' - The PID (username:password) for the repository archive's CrossRef account. (Placeholder by default). | ||
+ | **** '''doi_field''' - The eprint metadata field that stores DOIs. (By default <code>id_number</code>). | ||
+ | **** '''use_prefix''' - If prefix should be added at start of DOI. (By default <code>1</code>, do use prefix). | ||
+ | ** '''Import::DOI_UNIXREF''' - Only present in pub_lib flavour. | ||
+ | *** '''params''' - Uses <code>Import::DOI</code> params with <code>Import::DOI_UNIXREF</code>. | ||
+ | * '''export_privacy''' - Restricts certain export plugins being available to non-logged in users where export may contain information covered by privacy laws (e.g. email addresses) and can be found in [[y_export_privacy.pl]]. (By default set to <code>1</code> enforce export privacy for pub_lib flavour. Zero flavour does not define this configuration option as none of its export plugins have privacy concerns by default). | ||
+ | * '''plugin_alias_map''' - Allows an alternative plugin to be aliased to an existing one. Useful if you want to augment an existing plugin, without modifying the original plugin file. (E.g. <code>$c->{plugin_alias_map}->{"Export::DC"} = "Export::LocalDC";</code> uses extended <code>Export::LocalDC</code> plugin to replace <code>Export::DC</code> plugin it extends). | ||
− | === private_ips.pl === | + | === [[private_ips.pl]] === |
− | '' | + | * '''ignore_x_forwarded_for_private_ip_prefixes''' - Lists private IP address subnets that if the X-Forwarded IP address is set and lies within then the original remote IP address is logged in the access table/file instead. |
== Q == | == Q == | ||
== R == | == R == | ||
− | === rdf_license.pl === | + | === [[rdf_license.pl]] === |
− | '' | + | * '''rdf''' |
+ | ** '''license''' - URL for licence for RDF data. (Commented out by default). | ||
+ | ** '''attributionName''' - Who RDF data should be attributed to. (Commented out by default). | ||
+ | ** '''attributionURL''' - URL for information on who the RDF data should be attributed. (Commented out by default). | ||
+ | |||
+ | === [[rdf_triples_bibo.pl]] === | ||
+ | * '''rdf''' - | ||
+ | ** '''xmlns''' - Defines URIs for the following XML namespaces: <code>event, bibo, geo, doi</code>. | ||
+ | ** '''bibo_type''' - Defines URIs (using namespaces) for following eprint types: <code>article, book_section, monograph, conference_item, book, thesis, patent, composition, performance, image, video, audio</code>. | ||
+ | Also includes 3 eprint [[Triggers#EP_TRIGGER_RDF|<code>EP_TRIGGER_RDF</code> dataset trigger functions]] for adding extra Bibo-related triples to the RDF. | ||
+ | |||
+ | === [[rdf_triples_eprints.pl]] === | ||
+ | * '''rdf''' - | ||
+ | ** '''xmlns''' - Defines URIs for the following XML namespaces: <code>ep, eprel, cc</code>. | ||
+ | ** '''license_uri''' - Defines URIs for the following licences (used by <code>document</code> data object's <code>license</code> metadata field): <code>cc_by_nd, cc_by, cc_by_nc, cc_by_nc_nd, cc_by_nc_sa, cc_by_sa, cc_gnu_gpl, cc_gnu_lgpl, cc_public_domain, odc_odbl, odc_by</code>. | ||
+ | ** '''content_rel_dc''' - Defines the following Dublin Core namespaced URIs for <code>content</code> metadata field values of document data object: <code>draft, submitted, accepted, published, updated</code>. | ||
+ | ** '''content_rel_ep''' - Defines the following EPrints namespaced URIs for <code>content</code> metadata field values of document data object: <code>draft, submitted, accepted, published, updated, supplemental, presentation, coverimage, metadata, other</code>. | ||
− | + | Also includes an <code>eprint</code> [[Triggers#EP_TRIGGER_RDF|<code>EP_TRIGGER_RDF</code> dataset trigger function]] for adding extra EPrints-related triples to the RDF. | |
− | |||
− | === | + | === [[rdf_triples_formats.pl]] === |
− | + | Just an eprint [[Triggers#EP_TRIGGER_RDF|<code>EP_TRIGGER_RDF</code> dataset trigger function]] for adding extra format-related triples to the RDF. | |
− | === | + | === [[rdf_triples_general.pl]] === |
− | + | Just a [[Triggers#EP_TRIGGER_BOILERPLATE_RDF|<code>EP_TRIGGER_BOILERPLATE_RDF</code> trigger function]] for adding generic boilerplate triples to the RDF. | |
− | === | + | === [[rdf_triples_repository.pl]] === |
− | '' | + | * '''rdf''' - |
+ | ** '''xmlns''' - Defines URI <code>void</code> XML namespace. | ||
− | + | Also includes a [[Triggers#EP_TRIGGER_REPOSITORY_RDF|<code>EP_TRIGGER_REPOSITORY_RDF</code> trigger function]] for adding repository-related triples to the RDF. | |
− | |||
− | === rdf_triples_skos.pl === | + | === [[rdf_triples_skos.pl]] === |
− | '' | + | * '''rdf''' - |
+ | ** '''xmlns''' - Defines URI <code>skos</code> XML namespace. | ||
− | + | Also includes an eprint [[Triggers#EP_TRIGGER_RDF|<code>EP_TRIGGER_RDF</code> dataset trigger function]] for adding extra skos-related triples to the RDF. | |
− | |||
− | === rdf_uris.pl === | + | === [[rdf_uris.pl]] === |
− | '' | + | * '''rdf''' - |
+ | ** '''event_uri''' - Defines function for generating an event URI. (By default using <code>event_title</code>, <code>event_dates</code> and <code>event_location</code> fields). | ||
+ | ** '''event_location uri''' - Defines function for generating an event location URI. (By default using a MD5 checksum of the <code>event_location</code> field). | ||
+ | ** '''org_uri''' - Defines function for generating an organisation URI. (By default using a MD5 checksum of the provided organisation name). | ||
+ | ** '''person_uri''' - Defines function for generating an person URI. (By default using a MD5 checksum of the provided person's name from an EPrints name metadata field. I.e. has <code>given</code> and <code>family</code> sub-fields). | ||
+ | ** '''publication_uri''' - Defines function for generating an publication URI. (By default using either the <code>issn</code> field or a MD5 checksum of the <code>publication</code> field). | ||
− | === registration.pl === | + | === [[registration.pl]] === |
− | * ''' | + | * '''allow_web_signup''' - Whether user accounts can be requested and created via the EPrints repository's web interface / email verification. (Default is <code>1</code>, user accounts can be requested through the web interface). |
− | * ''' | + | * '''allow_reset_password''' - Whether forgotten passwords can be reset via the EPrints repository's web interface / email verification. (Default is <code>1</code>, passwords can be reset through the web interface). |
− | * '''default_user_type''' - | + | * '''default_user_type''' - When a new user account is created what is its initial type. (Default is <code>user</code>). |
− | * ''' | + | * '''check_registration_email''' - Defines a function that restricts the email addresses that can be used to register (and verify an account). Useful if you only want sign ups from people in your organisation. (Commented out by default, meaning no restriction). |
− | * ''' | + | * '''use_request_copy_pin_security''' - Whether to use pin based request copy security, so users approving requests don't have to login or have an account to approve requests from emails. (By default commented out so not enabled). |
− | === render_paras.pl === | + | === [[render_paras.pl]] === |
− | '' | + | * '''render_paras''' - Converts text stored with new lines in the database so it still appears as paragraphs when rendered as HTML. Useful to apply to metadata fields like <code>abstract</code>. This has been superseded by <code>EPrints::Extras::render_paras</code> but could be useful if tweaks are needed to this function. |
− | === request_copy.pl === | + | === [[request_copy.pl]] === |
− | * '''email_for_doc_request''' - | + | * '''email_for_doc_request''' - Defines a function for determining which email address to send emails from visitors who have requested a copy of a restricted document. (By default this returns the email address set in <code>contact_email</code> metadata field if set. Otherwise, it returns <code>undef</code>, which means the a request copy link will not be added to the abstract/summary page). |
− | === restrict_paths.pl === | + | === [[restrict_paths.pl]] === |
− | '' | + | * '''restrict_paths''' - Defines an array reference of hash references that allows paths that can be request over HTTP/HTTPS to be restricted for particular IP addresses or subnets. This is useful if a search engine bot is crawling processor-intensive pages that there is little point indexing. Each hash reference contains a <code>path</code> (e.g. <code>/cgi/exportview</code>) and <code>ips</code>, an array reference of IP addresses or class A/B/C IP subnets (e.g. <code>[ '1.2.3.4', '5.6.7.' ]</code>. |
− | === rewrite_url_demo.pl === | + | === [[rewrite_url_demo.pl]] === |
− | ' | + | Defines a commented out a [[Triggers#EP_TRIGGER_URL_REWRITE|<code>EP_TRIGGER_URL_REWRITE</code> trigger function]] that evaluates the URI of the request and rewrites it if it meets certain criteria. Can be useful if certain publications' primary hosting location is no longer this repository archive. |
== S == | == S == | ||
− | === search.pl === | + | === [[search.pl]] === |
− | * ''' | + | * '''match_start_of_name''' - Whether searches should match start of family names rather than just the complete family name (e.g. <code>smi</code> rather than <code>smith</code>. (Default is <code>0</code>, do not match on start of name). |
− | * ''' | + | * '''latest_citation''' - The <code>eprint</code> citation style file to use on <code>/cgi/latest</code> page for items published in the last 7 days. |
− | + | ||
− | * ''' | + | === [[search_xapian.pl]] === |
− | + | * '''xapian_index_restricted_fulltext''' - Whether to index the full text of documents not publicly accessible. As clever searches may allow users to discover certain contents of these documents. (Default is <code>0</code>, do not restrict the full texts from being indexed). | |
− | + | ||
+ | Also adds [[Triggers#EP_TRIGGER_INDEX_FIELDS|<code>EP_TRIGGER_INDEX_FIELDS</code>]] and [[Triggers#EP_TRIGGER_REMOVED|<code>EP_TRIGGER_REMOVED</code> trigger functions]] to index fields in the Xapian database index or remove the Xapian database index if the <code>eprint</code> data iobject is removed. | ||
− | === | + | === [[security.pl]] === |
− | '' | + | * '''can_request_view_document''' - Defines a function to determine if a particular document can be viewed. (By default allows documents with <code>security</code> set to <code>public</code> to be viewed as well as restricted documents that include an authorised "request copy" code). |
+ | * '''can_user_view_document''' - Defines a function to determine if a particular document can be viewed by a specific user. (By default allows documents with <code>security</code> set to <code>public</code> to be viewed as well as <code>validuser</code> for <code>security</code> documents to be viewed by logged in user unless their <code>usertype</code> is <code>minuser</code>. Also allows access to <code>staffonly</code> for <code>security</code> documents for users of type <code>editor</code> or <code>admin</code> or the owner of the eprint item). | ||
− | === | + | === [[session.pl]] === |
− | * ''' | + | * '''session_init''' - Defines a function to carry out any actions when a session is initialised. (No actions by default). |
− | * ''' | + | * '''session_close''' - Defines a function to carry out any actions when a session is closed. (No actions by default). |
− | === | + | === [[signposting.pl]] === |
− | * ''' | + | * '''plugins''' |
− | * ''' | + | ** '''Export::BibTeX''' |
+ | *** '''params''' | ||
+ | **** '''signposting''' - Specifies <code>Export::BibTeX</code> plugin can be used in [https://signposting.org/ Signposting]. | ||
+ | ** '''Export::DC''' | ||
+ | *** '''params''' | ||
+ | **** '''signposting''' - Specifies <code>Export::DC</code> plugin can be used in Signposting. | ||
+ | ** '''Export::JSON''' | ||
+ | *** '''params''' | ||
+ | **** '''signposting''' - Specifies <code>Export::JSON</code> plugin can be used in Signposting. | ||
+ | ** '''Export::XML''' | ||
+ | *** '''params''' | ||
+ | **** '''signposting''' - Specifies <code>Export::XML</code> plugin can be used in Signposting. | ||
− | === | + | === [[Perl_lib/EPrints/SystemSettings.pm|SystemSettings.pm]] === |
− | * ''' | + | * '''version''' - The core version of EPrints (By default <code>EPrints 3.x.y</code>. <code>x.y</code> varies dependent on version). |
+ | * '''version_id''' - The core version ID of EPrints (By default <code>eprints-3.x.y</code>. <code>x.y</code> varies dependent on version). | ||
+ | * '''base_path''' - The base path for EPrints on the filesystem. (By default <code>/opt/eprints3</code>). | ||
+ | * '''show_ids_in_log''' - Whether to show repoistory archive ID is log messages. (By default <code>0</code> do not show archive ID in log messages). | ||
+ | * '''group''' - The Unix group to set when EPrints creates new files (By default <code>eprints</code>). | ||
+ | * '''version_history''' - An array reference of version IDs that proceeded the current version. | ||
+ | * '''smtp_server''' - The SMTP server to connect to for sending emails (By default <code>127.0.0.1</code>, i.e. localhost). | ||
+ | * '''user''' - The Unix user to set when EPrints creates new files (By default <code>eprints</code>). | ||
+ | * '''file_perms''' The Unix permissions mask to use when EPrints creates new files. (By default <code>0664</code>). | ||
+ | * '''invocation''' - Invocation commands for external executables and internal scripts. (By default an empty hash reference, as populated by [[invocations.pl]]). | ||
+ | * '''executables''' - External executable and internal script paths. (By default a hash reference with one entry for <code>perl</code>. Further populated by [[executables.pl]]). | ||
+ | * '''dir_perms''' - The Unix permissions mask to use when EPrints creates new directories. (By default <code>02775</code>). | ||
+ | * '''flavours''' - Flavours available for this EPrints installation. (By default <code>zero</code> plus any flavours found under the <code>flavours/</code> sub-directory). | ||
+ | * '''perl_module_isolation''' - If running multiple archives should Perl modules be isolated between each archive. (By default <code>0</code> they should not be isolated, as this can severely affect performance). | ||
+ | * '''indexer_daemon''' | ||
+ | ** '''loglevel''' - What level of log messages to write to the indexer log file. (By default messages of at up to level <code>1</code>). | ||
+ | ** '''rollcount''' - How many old log files to retain after the log file has been rolled/rotated (By default <code>5</code> old log files should be retained). | ||
+ | ** '''maxwait''' - How many seconds to wait after gracefully trying to kill the child indexer process before forcefully killing the child indexer process. (By default <code>8</code> seconds before the child indexer process should forcefully be killed). | ||
+ | ** '''interval''' - How many seconds to wait between checking if there are any indexer tasks ready to be run. (By default <code>30</code> seconds to wait for any indexer tasks ready to be run). | ||
+ | ** '''respawn''' - How many seconds before the child process of the indexer should respawn, prompting the indexer log to be rotated. (By default <code>86400</code> seconds, i.e. 1 day). | ||
+ | ** '''timeout''' - How many seconds the indexer should allow to complete a task before killing it. (By default <code>600</code> seconds, i.e. 10 minutes). | ||
+ | ** '''interrupt''' - Should the indexer immediately break out of loop checking for indexer tasks (By default <code>0</code>, no it should not break out of loops. This is a nonsensical setting, as <code>1</code> would affectively disable the indexer whilst it kept running). | ||
− | === | + | == T == |
− | |||
− | === template_core.pl === | + | === [[template_core.pl]] === |
− | + | Just adds a [[Triggers#EP_TRIGGER_DYNAMIC_TEMPLATE|<code>EP_TRIGGER_DYNAMIC_TEMPLATE</code> trigger function]] to build the <code><head></code> section of the dynamic template. | |
− | === template_edit_phrases.pl === | + | === [[template_edit_phrases.pl]] === |
− | + | Just adds a [[Triggers#EP_TRIGGER_DYNAMIC_TEMPLATE|<code>EP_TRIGGER_DYNAMIC_TEMPLATE</code> trigger function]] to build the <code>page</code> and <code>title</code> pins of the "edit phrases" page for a particular page. | |
− | === template_legacy.pl === | + | === [[template_legacy.pl]] === |
− | + | Just adds a [[Triggers#EP_TRIGGER_DYNAMIC_TEMPLATE|<code>EP_TRIGGER_DYNAMIC_TEMPLATE</code> trigger function]] to add legacy support for the <code>$c->{dynamic_template}->{function}</code> function that can be defined in configuration. | |
− | === | + | === [[template_links.pl]] === |
− | + | Just adds a [[Triggers#EP_TRIGGER_DYNAMIC_TEMPLATE|<code>EP_TRIGGER_DYNAMIC_TEMPLATE</code> trigger function]] to add various <code><link></code>s to the <code><head></code> section of the dynamic template. | |
== U == | == U == | ||
− | === upload.pl === | + | === [[upload.pl]] === |
− | '' | + | * '''max_upload_filesize''' - Maximum size of a file that can be uploaded to EPrints. This gets set in both Apache (HTTP and HTTPS) configuration and <code>99_uploadmethod_file_max_size.js</code> under the archive's <code>cfg/static/javascript/auto/</code> directory, when the <code>generate_apacheconf</code> is run. (By default <code>1 * 1024 * 1024 * 1024</code>, i.e. 1 GiB). |
− | === | + | === [[user_auth_limits.pl]] === |
− | * ''' | + | * '''max_login_attempts''' - The maximum number of failed login attempts before an account is temporarily locked. (Default is <code>10</code> failed login attempts). |
− | * ''' | + | * '''lockout_minutes''' - The number of minutes an account is locked out if there have been too many failed login attempts. (Default is <code>10</code> minutes the account is locked out). |
− | * ''' | + | * '''reset_request_recent_hours''' - How many hours between a user being able to request password reset links. (Default is <code>24</code> hours between reset password emails to avoid users being spammed incessantly, if reset password misused). |
+ | * '''max_account_requests''' - The maximum number of new user accounts can be requested (through <code>/cgi/register</code> in <code>max_account_requests_minutes</code>. (Default is <code>100</code> user accounts. This is quite high, as you may get a lot of people all trying to sign up at once if a mass email is sent round to an organisation asking everyone to sign up). | ||
+ | * '''max_account_requests_minutes''' - The size of the window in minutes to check if <code>max_account_requests has been exceeded</code>. (By default <code>60</code> minutes, 1 hour). | ||
+ | * '''password_maxlength''' - Sounds counter-intuitive but really long passwords can take a long time and a lot of resources to hash. So a limit prevents such a DoS attack. (By default <code>200</code> characters). | ||
+ | Also adds a [[Triggers#EP_TRIGGER_VALIDATE_FIELD|<code>EP_TRIGGER_VALIDATE_FIELD</code> trigger function]] to validate that the length of the password submitted is not too long. | ||
+ | * '''login_monitoring''' | ||
+ | ** '''enabled''' - Whether monitoring of logins (both failed and successful) are logged to archive's <code>var/login_attempts/</code> directory in CSV format. (By default <code>1</code>, i.e. enabled). | ||
+ | ** '''fields''' - Array reference of field names to include at start of file as column headers. (Commented out by default and only needed if <code>function</code> is also defined. The commented out fields: <code>timestamp, username, password_length,ip_address, user_agent, target, login_status, userid, securecode</code> are the same as those hard-coded). | ||
+ | ** '''function''' - Defines a function for generating a bespoke log message (CSV line) for a login attempt. (Commented out by default but function is the same as what is hard-coded). | ||
− | === | + | === [[user_fields_automatic.pl]] === |
− | '' | + | * '''set_user_automatic_fields''' - What fields to automatically update when an <code>user</code> data object record is committed. (By default <code>frequency</code> (to receive emails for editor alerts/saved searches) is set to <code>never</code> if not already set). |
− | === | + | === [[user_fields_default.pl]] === |
− | * ''' | + | * '''set_user_defaults''' - Sets default values for fields when <code>user</code> data object is created. (By default <code>hideemail</code> is set to the string <code>TRUE</code>, <code>item_fields</code> is set to <code>[ "lastmod", "title", "type", "eprint_status" ]</code> and <code>review_fields</code> is set to <code>[ "status_changed", "title", "type", "userid" ]</code>. |
− | === | + | === [[user_fields.pl]] === |
− | * ''' | + | * '''fields''' |
+ | ** '''user''' - Adds the following extra fields to <code>user</code> data object: <code>name, dept, org, address, country, hideemail, url</code>. | ||
− | === | + | === [[user_render.pl]] === |
− | * ''' | + | * '''user_render''' - Defines a function that specifies how to display a user's metadata on their profile page. |
− | === | + | === [[user_review_scope.pl]] === |
− | * ''' | + | * '''editor_limit_fields''' - Specifies an array reference of <code>eprint</code> metadata fields that are presented when an <code>admin</code> user is configuring what items an <code>editor</code> user can see to review. (By default for zero this is <code>subjects</code> and <code>type</code>. For pub_lib, <code>divisions</code> is also included). |
− | === | + | === [[user_roles.pl]] === |
− | '' | + | * '''user_roles''' |
+ | ** '''user''' - Permitted actions for a regular user, i.e <code>usertype</code> of <code>user</code>. (By default: <code>general, edit-own-record, saved-searches, set-password, deposit, change-email</code>). | ||
+ | ** '''editor''' - Permitted actions for a editor user, i.e <code>usertype</code> of <code>editor</code>. (By default: <code>general, edit-own-record, saved-searches, set-password, deposit, change-email, editor, view-status, staff-view</code>). | ||
+ | ** '''admin''' - Permitted actions for a admin user, i.e <code>usertype</code> of <code>editor</code>. (By default: <code>general, edit-own-record, saved-searches, set-password, deposit, change-email, editor, view-status, staff-view, admin edit-config</code>). | ||
+ | ** '''min_user''' - Permitted actions for a minimal user, i.e <code>usertype</code> of <code>minuser</code>. (By default: <code>general, edit-own-record, saved-searches, set-password, lock-username-to-email</code>). | ||
+ | * '''public_roles''' - Permitted actions for all users including those not logged in. (By default: <code>+eprint/archive/rest/get, +subject/rest/get</code>). | ||
+ | * '''roles''' - Allows extra roles to be added together that collate a set of permissions. Sometimes referred to as "hats". (By default this is not defined but there is a commented out example for <code>approve-hat</code>). | ||
− | === | + | === [[user_search.pl]] === |
− | * ''' | + | * '''search''' |
+ | ** '''user''' - The configuration for the search for <code>user</code> data objects. | ||
+ | *** '''search_fields''' - Array reference of <code>meta_fields</code> to include in the user search form. (Defaults are: <code>name, username, userid, dept, org, address, country, usertype, email</code>). | ||
+ | *** '''citation''' - The <code>user</code> citation style to use for search results. (Default: <code>result</code>). | ||
+ | *** '''page_size''' - How many results to display per page. (Default: <code>20</code>). | ||
+ | *** '''order_methods''' - Different ways or ordering search results (Defaults are: <code>byname, byjoin, byrevjoin, bytype</code>). | ||
+ | *** '''default_order''' - Default order for search results (Default: <code>byname</code>). | ||
+ | *** '''show_zero_results''' - Whether to go to results page with no results or say on search form page. (Default: <code>1</code>, i.e. go to search results page). | ||
− | === | + | === [[user_validate.pl]] === |
− | '' | + | * '''validate_user''' - Defines a function to perform complex validations the metadata for a user data object. (<font style="color: red;">This option is deprecated. Rather than adding validations to this configuration option, use a [[Triggers#EP_TRIGGER_VALIDATE|<code>EP_TRIGGER_VALIDATE</code> dataset trigger function]] for the <code>user</code> dataset</font>). |
− | === | + | == V == |
− | |||
− | == | + | === [[views.pl]] === |
+ | * '''browse_views''' - An array reference of difference views for browsing the publications in the repository archive. See [[Adding new views]] for more details. The following flavours have browse views with following IDs (commented out views in brackets): | ||
+ | <b>zero</b>: subjects (year, person, people, type) | ||
− | + | <b>pub_lib</b>: year, subjects, divisions, creators, (person, people, type) | |
− | |||
− | === views_render_items_example.pl === | + | === [[views_render_items_example.pl]] === |
− | '' | + | '''render_view_items_3col_boxes''' - Defines an example render function that can be used under browse view's <code>variations</code> attribute to lay out the listing of items differently, (i.e. in three columns). |
− | === views_render_menu_example.pl === | + | === [[views_render_menu_example.pl]] === |
− | '' | + | '''render_view_menu_3col_boxes''' - Defines an example render function that can be used under browse view's <code>render_menu</code> attribute to lay out the menu of options differently, (i.e. in three columns). |
− | === vlit.pl === | + | === [[vlit.pl]] === |
− | * '''vlit''' - | + | * '''vlit''' |
+ | ** '''enable''' - Whether vlit is enabled. (By default <code>1</code>, vlit is enabled). | ||
+ | ** '''copyright_url''' - The URL that points to a page that describes the copyright for vlit. (By default <code>/vlit.html</code>). | ||
== W == | == W == | ||
Line 376: | Line 660: | ||
== Y == | == Y == | ||
− | === y_export_privacy.pl === | + | === [[y_export_privacy.pl]] === |
− | + | Logic which checks whether <code>export_privacy</code> is enabled and if so, restricts the following export plugins (that likely could contain information that may be a privacy concern) to staff (logged in users) only: <code>JSON, XML, RDFN3, RDFNT, RDFXML, CSV, Simple</code>. | |
== Z == | == Z == | ||
− | === zz_version.pl === | + | === [[zz_version.pl]] === |
− | * '''version_description''' - | + | * '''version_description''' - Builds the version description from the final values for <code>version_long</code>, <code>version_alias</code>, <code>vendor_long</code>. |
Latest revision as of 16:28, 26 July 2024
0-9 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
As well as options that exist in configuration files there are further Miscellaneous Config Options.
0-9
00_flavour.pl
- flavour - The flavour for the particular repository archive. (e.g.
pub
,zero
, etc.). (Configuration generated on repository archive creation).
00_version.pl
- version_long - The long version name of EPrints (e.g.
EPrints 3.4.5
). - version_alias - The alias/codename for the core EPrints release version (e.g.
Smoothie Squall
). - vendor_long - The long name of the vendor responsible for the EPrints software release (e.g.
EPrints Services
). - vendor_short - The short name / abbreviation of the vendor responsible for the EPrints software release (e.g.
eps
). - version_description - A fully description of the EPrints software version using above version/vendor settings.
10_core.pl
- aliases - Other hostnames for the repository archive and whether they should redirect to the primary hostname. (Configuration generated on repository archive creation).
- host - The primary hostname of the repository archive on HTTP. (Configuration generated on repository archive creation).
- port - The TCP port number to connect to the repository archiver over HTTP. (Configuration generated on repository archive creation. Typically
80
). - securehost - The primary hostname of the repository archive on HTTPS. Normally the same as
host
, so typically can be a reference. (Configuration initially generated on repository archive creation). - secureport - The TCP port number to connect to the repository archive over HTTPS. (Configuration generated on repository archive creation. Typically
443
). - http_root - The base path where the repository archive URLs can be found. (Typically undefined, so just
https://eprints.example.org/...
rather thanhttps://eprints.example.org/eprints/...
). (Configuration generated on repository archive creation).
20_baseurls.pl
- base_url - URL including protocol and hostname, used as a basis whenever a full URL for a specific location needs to be generated. (By default generated from other settings).
- perl_url - URL including protocol and hostname, used as a basis whenever a full URL for a specific CGI script needs to be generated. (By default generated from other settings).
- use_long_url_format - Use long URLs for abstract pages / documents (e.g.
/id/eprint/1234
or/id/eprint/1234/1/paper.pdf
rather than/1234
or/1234/1/paper.pdf
. Will redirect from short to long URL rather than long to short. (Default is0
, do not use long URLs). - uri_url - Set the base URL for URIs for data objects (e.g. eprint items). If the EPrints was originally HTTP but has been reconfigured to be an HTTPS only, then the URIs for eprints will also change to HTTPS. This may be undesirable, as URIs may only serve their purpose if they match exactly. This allows HTTP to be retained for URIs but they should still be able to redirect to HTTPS if used as URLs. (By default this is commented out so URIs will just use
base_url
).
A
adminemail.pl
- adminemail - The email address of the administrator of the repository archive. Will be displayed on the
/contact.html
and/information.html
pages and the default email address the repository archive will send email to and from. (Configuration generated when repository archive is created). - senderemail - Alternative email address from which to send email for the repository archive. Useful if restrictions on where email can be sent from for the domain of the
adminemail
address. Will still set <ocde>adminemail as reply to email address.
B
branding.pl
- site_logo - Default logo to use for the site. Probably only useful if using default template for EPrints.
build_attributes.pl
- build_node_attributes - Defines function for manipulating attributes that can be called by
EPrints::XML::create_element
.
C
citation_default.pl
- citation_default
- document
- for_summary_page - The default document citation to use when rendering a document of an abstract/summary page.
- eprint
- export - The default eprint citation to use with export plugins.
- for_issue - The default eprint citation to use when rendering an issue.
- for_result - The default eprint citation to use when rendering a set of eprint search results.
- for_summary_page - The default eprint citation to use when rendering a eprint of an abstract/summary page.
- document
citationcaches.pl
- datasets
- citationcache - Defines dataset configuration for
EPrints::DataObj::CitationCache
.
- citationcache - Defines dataset configuration for
- citation_caching
- enabled - Whether citation caching is enabled. (Default is
0
, i.e. not enabled). - excluded_dataobjs - Data objects that should not cache citations because they are dynamic/context dependent. (Default
[ 'epm', 'loginticket', 'subject']
). - excluded_style - Citation styles that should not be cache because they are dynamic/context dependent. (Default
[ 'result' ]
).
- enabled - Whether citation caching is enabled. (Default is
csrf_protection.pl
- csrf_token_salt - A salt to ensure generated CSRF tokens are not guessable.
D
database.pl
- dbname - The name of the database where the repository archive is hosted. (Configuration generated on repository archive creation. Typically the same as the archive's ID).
- dbhost - The hostname or IP address where the database for the repository archive is hosted. (Configuration generated on repository archive creation. Typically
localhost
). - dbport - The TCP port over which the database for the repository archive can be accessed. (Configuration generated on repository archive creation. Typically
undef
as database client assume default port). - dbsock - The socket over which the database for the repository archive can be accessed. (Configuration generated on repository archive creation. Typically
undef
, as sockets are not used). - dbuser - The username to connect to the database where the repository archive is hosted. (Configuration generated on repository archive creation. Often the same as the archive's ID).
- dbpass - The password to connect to the database where the repository archive is hosted. (Configuration generated on repository archive creation. Typically automatically generated 16 character string).
- dbengine - The database table engine to use when creating new tables in the database where the repository archive is hosted. (Configuration generated on repository archive creation. Default is
InnoDB
, previously has beenMyISAM
).
datasets.pl
- datasets - Initialises hash reference (if not already) so other configuration files can add bespoke datasets.
doc_rewrite.pl
Adds an EP_TRIGGER_DOC_URL_REWRITE
trigger function to handle relation-based document redirects.
document_fields_automatic.pl
- set_document_automatic_fields - Defines a function that updates specified fields for a document when its data object is committed. (By default no fields are updated).
document_fields_default.pl
- set_document_defaults - A function that sets the initial values specified fields for a document when its data object is created. (By default the
language
field is set to the default language for the repository and thesecurity
field is set topublic
). - eprint_details_document_fields - The document fields that should be displayed in the Upload section of Details tab of the eprint view page. (Default:
[ "content", "format", "format_desc", "language", "security", "license", "date_embargo", "embargo_reason" ]
document_fields.pl
- fields
- document - Extra fields to add to the document data object beyond those defined by
EPrints::DataObj::Document
. (By default this configuration is commented out. I.e. no new fields will be added).
- document - Extra fields to add to the document data object beyond those defined by
document_upload.pl
- diskspace_error_threshold - The minimum amount of space left on a disk before using the next disk available if present. (Default is
64 * 1024
kilobytes, i.e. 64 MiB). - diskspace_warn_threshold - The minimum amount of space left on a disk before the administrator receives a warning email about disk space running low. (Default is
512 * 1024
kilobytes, i.e. 512 MiB). - mimemap - Additional entries can be added to the
mimemap
. (By default no additional entries are added). - archive_max_files - Maximum number of files in an archive (e.g. zip file) that can be expanded in individual documents for an eprint record. (Commented out by default but core default is
100
files).
document_validate.pl
- validate_document - A function that validates the metadata for a document data object. (This option is partially deprecated. Rather than adding extra validations, use a
EP_TRIGGER_VALIDATE
dataset trigger function for the document dataset).
The following validation tests are performed on a document data object:
formatdesc
is set if theformat
isother
.- Unless
retain_embargo_dates
config option is set true, ifsecurity
is set topublic
then thedate_embargo
field must be unset. - If the year part of
date_embargo
is set then the month and day most also be set to ensure clarity on when an embargo expires. - Unless
retain_embargo_dates
config option is set true,date_embargo
must be in the past. - If
security
is set topublic
thendate_embargo
cannot be in the future (and can only be in the past ifretain_embargo_dates
config option is set true).
dynamic_template.pl
For more information see Dynamic Pins. (This option is partially deprecated. Consider using a EP_TRIGGER_DYNAMIC_TEMPLATE
trigger function instead).
- dynamic_template
- enable - Enables dynamic template. (Default is
1
).
- enable - Enables dynamic template. (Default is
- plugins
- Screen::Login
- appears
- key_tools - Where login page link should appear in the key tools menu bar, if the user is not already logged in.
- appears
- Screen::Register
- actions
- register
- appears
- key_tools - Where the user registration page link should appear in the key tools menu bar.
- appears
- register
- actions
- Screen::Logout
- appears
- key_tools - Where logout page link should appear in the key tools menu bar, if the user is already logged in.
- appears
- Screen::Admin::Config::Edit::XPage
- actions
- edit
- appears
- key_tools - Where the edit static page (if current page is a static page) link should appear in the key tools menu bar.
- appears
- edit
- actions
- Screen::Admin::Phrases
- actions
- edit
- appears
- key_tools - Where the edit page phrases link should appear in the key tools menu bar.
- appears
- edit
- actions
- Screen::OtherTools
- appears
- key_tools - Where Other Tools page link should appear in the key tools menu bar. (
Screen::OtherTools
plugin does not exist by default so will not appear in the key tools meny bar).
- key_tools - Where Other Tools page link should appear in the key tools menu bar. (
- appears
- Screen::Login
E
element_classes.pl
These can be useful if you are trying use an existing branding template, e.g. CSS, JavaScript, etc. for your institution.
- eprint
- summary_content_class - The classes that should be used for HTML
<div>
elements around the abstract/summary page. Default is as follows:
- summary_content_class - The classes that should be used for HTML
{ ROOT => 'ep_summary_content', top => 'ep_summary_content_top', left => 'ep_summary_content_left', main => 'ep_summary_content_main', right => 'ep_summary_content_right', bottom =>'ep_summary_content_bottom', after => 'ep_summary_content_after' };
- item_list_class - The class that should be used for items in the key tools menu bar.
- toolbar_class - The class that should be used for key tools menu bar.
email.pl
- send_email - Defines a function for sending email from your repository archive. (By default this calls
EPrints::Email::send_mail_via_smtp
, which will then use whatever hostname is set forsmtp_server
underEPrints::SystemSettings
. If this islocalhost
or127.0.0.1
, you will have to set up an application on your server to relay this email. E.g. Sendmail, Postfix, etc.).
epm.pl
- datasets
- epm - Defines the dataset for Bazaar plugins / EPrints Package Manager (EPM) objects. I.e.
EPrints::DataObj::EPM
.- sqlname - Name of EPM dataset when referred to in SQL statements.
- class - The package name of the class for data objects belonging to the EPM dataset.
- virtual - Whether the EPM dataset exists in the dataset. (By default
1
is not in the database. SHOULD NOT BE CHANGED). - sources - Array reference of locations where EPMs can be installed from. Each entry contains a
name
andbase_url
. (By default one entry withname
ofEPrints Bazaar
andbase_url
ofhttps://bazaar.eprints.org
).
- epm - Defines the dataset for Bazaar plugins / EPrints Package Manager (EPM) objects. I.e.
eprint_fields_automatic.pl
- set_eprint_automatic_fields - What fields to automatically update when an eprint data object record is committed. (By default for the pub_lib flavour,
ispublished
is set topub
iftype
ispatent
. If not already set,ispublished
is set tounpub
iftype
isthesis
. Also,full_text_status
is set tonone
if there are no documents,restricted
if any documents are restricted andpublic
if all documents are unrestricted. Default configuration for zero flavour does not set any eprint fields automatically).
eprint_fields_common.pl
- fields
- eprint - Adds
contact_email
field to the eprint data object.
- eprint - Adds
eprint_fields_default.pl
- set_eprint_defaults - Sets default values for fields when eprint data object is created. (By default pub_lib flavour sets
type
toarticle
, for zero flavour its set it toother
).
eprint_fields.pl
- fields
- eprint - Adds extra fields to eprint data object. (The following fields are added by default for the pub_lib and zero flavours).
pub_lib: creators, contributors, corp_creators, title, ispublished, subjects, divisions, keywords, note, suggestions, abstract, date, date_type, publisher, official_url, id_number, data_type, opyright_holders
zero: title, subjects
eprint_fields_pub.pl
- fields
- eprint - Adds extra fields to eprint data object. (The following fields are added by default for the pub_lib flavour:
full_text_status, monograph_type, pres_type, series, publication, volume, number, article_number, place_of_pub, pagerange, pages, event_title, event_location, event_dates, event_type, patent_applicant, institution, department, thesis_type, thesis_name, refereed, isbn, issn, book_title, edition, editors, related_url, referencetext, funders, projects, output_media, num_pieces, composition_type, pedagogic_type, completion_tome, task_purpose, skills_area, learning_level, gscholar
).
- eprint - Adds extra fields to eprint data object. (The following fields are added by default for the pub_lib flavour:
eprint_locking.pl
- locking
- eprint
- enable - Enables locking of eprint data objects so they cannot be edited whilst another user is editing. (By default enabled, i.e.
1
). - timeout - Number of seconds before a lock is released if the current user does not complete or cancel editing. (Default
3600
, i.e. 1 hour).
- enable - Enables locking of eprint data objects so they cannot be edited whilst another user is editing. (By default enabled, i.e.
- eprint
eprint_render.pl
- summary_page_metadata - eprint metadata fields to include in the summary table on abstract/summary pages. (The following fields are added by default for the pub_lib and zero flavours).
pub_lib: commentary, note, keywords, subjects, divisions, sword_depositor, userid, datestamp, lastmod
zero: commentary, subjects, sword_depositor, userid, datestamp, lastmod
- eprint_render - Function that generates XHTML DOM objects for the page, title and links for the abstract/summary page.
eprint_search_advanced.pl
- search
- advanced - The configuration for the advanced search for eprint data objects.
- search_fields - Array reference of
meta_fields
to include in the advanced search form. (Default varies depending on flavour). - template - The page template to use when displaying the advanced search form. (Default:
default
). - preamble_phrase - The phrase at the top of the advanced search form. I.e. to explain how to use it. (Default:
cgi/advsearch:preamble
). - title_phrase - The phrase to use for the page title of the advanced search form. (Default:
cgi/advsearch:adv_search
). - citation - The eprint citation style to use for search results. (Default:
result
). - page_size - How many results to display per page. (Default:
20
). - order_methods - Different ways or ordering search results (Default varies depending on flavour).
- default_order - Default order for search results (Default:
byyear
for pub_lib,bytitle
for zero). - show_zero_results - Whether to go to results page with no results or say on search form page. (Default:
1
, i.e. go to search results page).
- search_fields - Array reference of
- advanced - The configuration for the advanced search for eprint data objects.
eprint_search_simple.pl
- search
- simple - The configuration for the simple search for eprint data objects.
- search_fields
- id - The name to give to the single input field for the simple search form.
- meta_fields - The eprint metadata fields that will be search over for the input in the simple search form. (Default varies on flavour.
documents, title
for zero,documents, title, abstract, creators_name, date
for pub_lib).
- template - The page template to use when displaying the simple search form. (Default:
default
). - title_phrase - The phrase to use for the page title of the dimple search form. (Default:
cgi/search:simple_search
). - citation - The eprint citation style to use for search results. (Default:
result
). - page_size - How many results to display per page. (Default:
20
). - order_methods - Different ways or ordering search results (Default varies depending on flavour).
- default_order - Default order for search results (Default:
byyear
for pub_lib,bytitle
for zero). - show_zero_results - Whether to go to results page with no results or say on search form page. (Default:
1
, i.e. go to search results page).
- search_fields
- simple - The configuration for the simple search for eprint data objects.
eprint_search_staff.pl
- datasets
- eprint
- search
- staff - The configuration for the staff (i.e. admins/editors only) search for eprint data objects.
- search_fields - Array reference of
meta_fields
to include in the staff search form. (Default varies depending on flavour. Advanced search fields plus:eprintid, userid.username, userid.name, dir
. Alsoeprint_status
for pub_lib flavour. - preamble_phrase - The phrase at the top of the staff search form. I.e. to explain how to use it. (Default:
Plugin/Screen/Staff/EPrintSearch:description
). - title_phrase - The phrase to use for the page title of the staff search form. (Default:
Plugin/Screen/Staff/EPrintSearch:titl
). - citation - The eprint citation style to use for search results. (Default:
result
). - page_size - How many results to display per page. (Default:
20
). - order_methods - Different ways or ordering search results (Default varies depending on flavour).
- default_order - Default order for search results (Default:
byyear
for pub_lib,bytitle
for zero). - show_zero_results - Whether to go to results page with no results or say on search form page. (Default:
1
, i.e. go to search results page). - staff - Whether search is only accessible to staff (Default
1
, i.e. only available to staff).
- search
- eprint
eprint_validate.pl
- validate_eprint - Defines a function that performs complex (i.e. containing multiple metadata fields) validation on
eprint
data objects and generate XHTML DOM objects describe any problems found. (Function varies depending of flavour. Zero function does no further validation. pub_lib flavour checks at least one creator or editor is set).
eprint_warnings.pl
- eprint_warnings - Defines a function that performs complex (i.e. containing multiple metadata fields) checks on
eprint
data objects and generate XHTML DOM objects describe warnings where metadata may not have been correctly completed. (Function varies depending of flavour. All flavours warn if no documents have been uploaded. pub_lib flavour also warns if notcontact_email
has been set).
executables.pl
- disable_df - Whether to disable use of Unix
df
command to check free space of disk partitions and just use the one that comes last alphanumerically. (By default0
, i.e. do usedf
, unless already defined inperl_lib/EPrints/SystemSettings.pm
). - executables - File paths to external applications or internal scripts used by EPrints. Includes the following applications/scripts:
convert, tar, rm, dvips, gunzip, sendmail, unzip, html2text, cp, latex, perl, pdftotext, wget, antiword, ffmpeg, file, doc2txt, unoconv, txt2refs, ffprobe, cal, ncal
.
exports.pl
- export
- publication_status_type_override - Allows certain export formats (BibTeX and RIS) to change the type of exported object if certain conditions are met. (e.g.
ispublished
is set tounpub
.). (Default is1
types can be changed).
- publication_status_type_override - Allows certain export formats (BibTeX and RIS) to change the type of exported object if certain conditions are met. (e.g.
F
field_property_defaults.pl
- field_defaults
- input_cols - The default number of
cols
(columns) in a<textarea>
orsize
of<input>
HTML form field. (Default60
). - input_rows - The default number of
rows
in a<textarea>
HTML form field. (Default10
). - input_name_cols - The default
size
of<input>
HTML form field for various sub-fields of aname
metadata field.- honourific - The honourific sub-field. (Default is
8
). - given - The given name sub-field. (Default is
20
). - family - The family name sub-field. (Default is
20
). - lineage - The lineage sub-field. (Default is
8
).
- honourific - The honourific sub-field. (Default is
- input_add_boxes - The number of rows to add to a metadata field that allows multiple values when clicking the
More input rows
button. (Default is2
). - input_boxes - The initial number of rows for metadata field that allows multiple values. (Default is
3
). - digits - The maximum number of digits that can be added for an
int
(integer) metadata field. (Default is9
. Any higher might exceed the biggest number the database can store). - search_cols - The default number of
cols
(columns) in a<textarea>
orsize
of<input>
HTML form field when part of a search form. (Default40
). - search_rows - The default number of
rows
in a<textarea>
HTML form field when part of a search form. (Default12
). - hide_honourific - Whether the
honourific
sub-field when renderingname
metadata field in an HTML input form (Default0
, do not hide). - hide_lineage - Whether the
lineage
sub-field when rendering aname
metadata field in an HTML input form (Default1
, do hide). - family_first - Whether the
family
name sub-field should appear before thegiven
name sub-field in an HTML input form. (Default0
, given name should come first).
- input_cols - The default number of
field_validate.pl
- validate_field - Function that validates particular metadata fields. Currently only used on
user
andeprint
data objects. Default validations include:url
fields starts with a protocol (e.g.http:
,https:
etc.).name
fields has afamily
andgiven
name set.email
fields contains only one@
, which is not at the start or end and also has no spaces.id
fields and sub-classes (e.g.text
,longtext
url
, etc.) are no longer than the specifiedmaxlength
attribute for the field.- User's
username
field is not a duplicate.
flavour_info.pl
- flavour_id - The ID of the flavour. (E.g.
zero
orpub
). - flavour_name - The name of the flavour. (E.g.
Zero
orPublication
). - flavour_version - The release version of the flavour. (Different to the EPrints release version).
- version_alias - Updates the alias for the EPrints version with a particular flavour. (I.e. not updated for
zero
flavour).
G
H
I
indexing.pl
- index - Should data objects in the repository archive be indexed. (Default
1
, should be indexed). - indexing
- freetext_min_word_size - The minimum length of a word in freetext for it to be indexed. (Default is
3
characters). - freetext_stop_words - Common words that will not be indexed from a freetext. (E.g.
the
, ,and
,are
, etc.). - freetext_always_words - Words that do not meet other criteria but still should be indexed from a freetext (e.g.
ok
because it is too short). - freetext_separator_chars - Characters other that spaces that should be treated as a separator of words. (E.g.
@
,&
,_
, etc.)
- freetext_min_word_size - The minimum length of a word in freetext for it to be indexed. (Default is
- extract_words - Function that takes a text input and extracts and returns array references for good and bad words from the text input.
invocations.pl
- invocation - Invocations (i.e. command lines) of external applications on internal scripts used by EPrints (as defined in executables.pl). Includes the following invocations:
convert_crop_white, dvips, sendmail, html2text, latex, targz, antiwordpdf, pdftotext, zip, unzzip, cpall, wget, antiword, doc2txt, rmall, ffmpeg_i, ffmpeg_video_mp4, ffmpeg_video_ogg, ffmpeg_video_webm, ffmpeg_audio_mp4, ffmpeg_audio_off, ffmpeg_cell, unoconv, txt2refs, ffprobe, cal, ncal
.
issues_search.pl
- issues_search
- search_fields - Metadata fields (from
eprint
data object) to include in issues search (Default varies depending on flavour. zero contains:item_issues_type, item_issues_timestamp, userid.username, subjects, type
. pub_lib also haseprint_status, creators_name, date
. - preamble_phrase - The phrase at the top of the issues search form. I.e. to explain how to use it. (Default:
search/issues:preamble
). - title_phrase - The phrase to use for the page title of the issues search form. (Default:
cgi/issues:title
). - citation - The
eprint
citation style to use for search results. (Default:issue
). - page_size - How many results to display per page. (Default:
100
). - staff - Whether search is only accessible to staff (Default
1
, i.e. only available to staff). - order_methods - Different ways or ordering search results (Default varies depending on flavour).
- default_order - Default order for search results (Default:
byfirstseen
). - show_zero_results - Whether to go to results page with no results or say on search form page. (Default:
0
, i.e. say on search form page).
- search_fields - Metadata fields (from
J
K
L
languages.pl
- defaultlanguage - The default language for the repository archive as a ISO-639-1 two-character code. (Default is
en
, i.e. English). - languages - The languages supported by the repository archive as ISO-639-1 two-character codes. (Default us
[ 'en' ]
, i.e. only English).
latest_tool.pl
- latest_tool_modes - The different modes supported by the "latest" tool.
- default - By default uses
result
citation. Does not specifymax
so uses/cgi/latest_tool
default of20
. - fplatest - By default uses
result
citation andmax
set to3
.
- default - By default uses
- latest_tool_feeds - The different feeds displayed on the
/cgi/latest_tool
page.- Atom - Commented out by default.
- RSS - Commented out by default.
- RSS2 - Enabled and with label
RSS 2.0
by default.
limit_names_shown.pl
- limit_names_shown - Defines function to reduce the number of creators/editors names initially shown in a citation. See Limiting names shown for instructions on how to configure relevant fields to make use of this.
log.pl
- loghandler
- enable - Whether the log handler is enabled. (By default
1
, the log handler is enabled).
- enable - Whether the log handler is enabled. (By default
- log_submission_timing - Commented out by default. If uncommented it will log the amount of time users spend during the submission process, (e.g. what pages they spend longer on).
- show_timestamps_in_log - Commented out by default. If uncommented it will also include the timestamp in the log message.
- show_ids_in_log - Commented out by default. If uncommented it will also include the repository archive ID in the log message.
- log - Defines a function for how log messages should be formatted. (By default this just outputs the message to
STDERR
).
M
make_orderkey.pl
- make_orderkey_ignore_extras - Defines a generic function for order keys that removes any not alphanumeric characters (except underscore).
- make_name_orderkey - Defines a function for an order key that order based on
family
name, thengiven
name and finallyhonourific
of aname
type metadata field. (Usesmake_orderkey_ignore_extras
to remove non-alphanumeric characters). - make_title_orderkey - Defines a function for an order key that strips out titles that start with a definite or indefinite article (i.e.
the
,a
andan
). - make_sanitised_value_orderkey - Defines a function to sanitise the value for an order key by just applying the generic
make_orderkey_ignore_extras
function.
media_info.pl
- guess_doc_type - Defines a function that tries to determine the type of document (e.g.
text
,image
,audio
,video
) by evaluating it MIME type or file extension.
Also contains four EP_TRIGGER_MEDIA_INFO
trigger functions.
- Tries to set the
mime_type
metadata field for the document, if it can be determined using GNU'sfile
- If an audio or video file tries to determine values for the following document metadata fields:
media_duration, media_audio_codec, media_video_codec, media_width, media_height, media_aspect_ratio
- Tries to set the
mime_type
metadata field for the document, if it can be determined by its file extension (and not already determined by GNUfile
trigger function. - Tries to set the
format
metadata field for the document using theguess_doc_type
function.
mime_types.pl
- mimemap - A hash reference mapping file extension to MIME type. Loaded from
EPRINTS_PATH/lib/mime.types
. Used byguess_doc_type
configuration function and aEP_TRIGGER_MEDIA_INFO
trigger function used to determine a document'smime_type
metadata field value, if cannot otherwise be determined.
misc.pl
- use_mimetex - Use the
mimetex.cgi
script rather than/cgi/latex2png
script forEPrints::Latex::render_string
. (Default is0
, do not use mimetex.cgi as it is not present by default). - cookie_auth - Whether to used cookie-based or basic authentication for maintaining user sessions. (Default is
1
use cookie-based authentication as more modern/secure than basic authentication). - skip_buffer - Whether deposited eprint items should be moved straight to the live archive or first moved to the review buffer. (Default is
0
. Items should be first moved to the review buffer). - skip_buffer_owners - Whether deposited eprint items for specific users, (based on their
userid
should be moved straight to the live archive or first moved to the review buffer. (Default is an empty array reference. No user's items should be moved straight to the live archive). - cookie_domain - The domain used for the any EPrints specific cookies, (e.g.
eprints_session
,secure_eprints_session
,eprints_lang
etc.). (By default the same ashost
and/orsecurehost
depending on which is/are set). - cookie_auth_set_user - Set user in requests to the
username
of logged in user, so this appears in Apache access logs. (By default0
, do not set user in requests). - pin_timeout - Number of hours before pin for resetting user password expires. (By default
24*7
, i.e. 7 days). - cache_timeout - Number of minutes a cache table (of search results) must be unused before it is scheduled for deletion. (By default
10
, i.e. 10 minutes). - cache_maxlife - Number of hours a cache table (of search results) can exists before it is scheduled for deletion (unused or otherwise). (By default
12
, i.e. 12 hours). - cache_max - Maximum number of persistent cache tables (of search results) that can exist in the repository archive's database. If exceeded, oldest table is deleted. (By default
100
, i.e. 100 tables).
Also commented outEP_TRIGGER_LOCAL_SITEMAP_URLS
trigger function which can be used to add extra entries to the repository archive's sitemap file, if you are NOT using the generate_sitemap
script to generate the sitemap.
N
O
oai.pl
- oai - Configuration for OAI-PMH.
- v2
- archive_id - The ID to use for this repository archive for OAI-PMH. (By default commented out, so will use primary hostname of the repository archive, i.e.
$c->{host}
otherwise$c->{securehost}
).- base_url - The base URL for accessing OAI-PMH version 2. (By default
/cgi/oai2
).
- base_url - The base URL for accessing OAI-PMH version 2. (By default
- sets - Sets to organise (live archive) items accessible over OAI-PMH. (Default varies depending on flavour. Zero only have sets for
subjects
andtype
. pub_lib also has astatus
set based on value ofispublished
. Other possible sets commented out by default). - custom_sets - More complex sets based on specific search expression. (Default varies depending on flavour. Zero has no custom sets enabled by default. pub_lib has
Open Access DRIVERset
includes all (live archive) items that havefull_text_status
set topublic
. - filters - Search expression to further filter results available through OAI-PMH, beyond being in the live archive. E.g. only since 2003. (By default no additional filters are applied).
- mime_types - Maps eprints' document types to mime types if they are not the same. (By default there are no mappings).
- content - Describes content of repository available through OAI-PMH.
- text - A text description of the content of repository. (Undefined by default).
- url - A URL that points to a page describing the content of repository. (link to
/policies.html
by default).
- metadata_policy - Describes the metadata policy of the repository.
- text - A text description of the metadata policy of the repository. (By default text explaining the metadata policy has not been defined).
- url - A URL that points at a page describing the metadata policy of the repository. (Undefined by default).
- data_policy - Describes the data policy of the repository.
- text - A text description of the data policy of the repository. (By default text explaining the data policy has not been defined).
- url - A URL that points at a page describing the data policy of the repository. (Undefined by default).
- submission_policy - Describes the submission policy of the repository.
- text - A text description of the submission policy of the repository. (By default text explaining the submission policy has not been defined).
- url - A URL that points at a page describing the submission policy of the repository. (Undefined by default).
- comments - Any additional comments to add at the end of the OAI-PMH identify page. (By default some text describing the version and origin of the EPrints software).
optional_filename_sanitise.pl
- optional_filename_sanitise - Defines a function that can further sanitise a filename (beyond
EPrints::System->sanitise
) of an uploaded file before is written to the filesystem / added to the database. (By default commented out but has example for replacing one or more of spaces, parentheses and@
s with underscores).
P
paths.pl
- documents_path - Sets the path where uploaded documents for the repository archive are stored. (By default a sub-directory of the archive's parent directory called
documents
). - config_path - Sets the path where configuration files for the repository archive are located. (By default a sub-directory of the archive's parent directory called
cfg
). - htdocs_path - Sets the path where cached HTML files for the repository archive are located. (By default a sub-directory of the archive's parent directory called
html
).
plugins.pl
- plugins - Defines various settings for EPrints plugins.
- PLUGIN::NAME - This must follow
$c->{plugins}
(e.g.$c->{plugins}->{Export::Thing}
).- params
- disable - If set to
1
disable the plugin. - visible - Who should the plugin be visble to?
public
,staff
orapi
. - advertise - Should the plugin be advertised in dropdowns or other listing. If set to
0
not advertised.
- disable - If set to
- params
- Import::DOI - Only uncommented in pub_lib flavour.
- params
- pid - The PID (username:password) for the repository archive's CrossRef account. (Placeholder by default).
- doi_field - The eprint metadata field that stores DOIs. (By default
id_number
). - use_prefix - If prefix should be added at start of DOI. (By default
1
, do use prefix).
- params
- Import::DOI_UNIXREF - Only present in pub_lib flavour.
- params - Uses
Import::DOI
params withImport::DOI_UNIXREF
.
- params - Uses
- PLUGIN::NAME - This must follow
- export_privacy - Restricts certain export plugins being available to non-logged in users where export may contain information covered by privacy laws (e.g. email addresses) and can be found in y_export_privacy.pl. (By default set to
1
enforce export privacy for pub_lib flavour. Zero flavour does not define this configuration option as none of its export plugins have privacy concerns by default). - plugin_alias_map - Allows an alternative plugin to be aliased to an existing one. Useful if you want to augment an existing plugin, without modifying the original plugin file. (E.g.
$c->{plugin_alias_map}->{"Export::DC"} = "Export::LocalDC";
uses extendedExport::LocalDC
plugin to replaceExport::DC
plugin it extends).
private_ips.pl
- ignore_x_forwarded_for_private_ip_prefixes - Lists private IP address subnets that if the X-Forwarded IP address is set and lies within then the original remote IP address is logged in the access table/file instead.
Q
R
rdf_license.pl
- rdf
- license - URL for licence for RDF data. (Commented out by default).
- attributionName - Who RDF data should be attributed to. (Commented out by default).
- attributionURL - URL for information on who the RDF data should be attributed. (Commented out by default).
rdf_triples_bibo.pl
- rdf -
- xmlns - Defines URIs for the following XML namespaces:
event, bibo, geo, doi
. - bibo_type - Defines URIs (using namespaces) for following eprint types:
article, book_section, monograph, conference_item, book, thesis, patent, composition, performance, image, video, audio
.
- xmlns - Defines URIs for the following XML namespaces:
Also includes 3 eprint EP_TRIGGER_RDF
dataset trigger functions for adding extra Bibo-related triples to the RDF.
rdf_triples_eprints.pl
- rdf -
- xmlns - Defines URIs for the following XML namespaces:
ep, eprel, cc
. - license_uri - Defines URIs for the following licences (used by
document
data object'slicense
metadata field):cc_by_nd, cc_by, cc_by_nc, cc_by_nc_nd, cc_by_nc_sa, cc_by_sa, cc_gnu_gpl, cc_gnu_lgpl, cc_public_domain, odc_odbl, odc_by
. - content_rel_dc - Defines the following Dublin Core namespaced URIs for
content
metadata field values of document data object:draft, submitted, accepted, published, updated
. - content_rel_ep - Defines the following EPrints namespaced URIs for
content
metadata field values of document data object:draft, submitted, accepted, published, updated, supplemental, presentation, coverimage, metadata, other
.
- xmlns - Defines URIs for the following XML namespaces:
Also includes an eprint
EP_TRIGGER_RDF
dataset trigger function for adding extra EPrints-related triples to the RDF.
rdf_triples_formats.pl
Just an eprint EP_TRIGGER_RDF
dataset trigger function for adding extra format-related triples to the RDF.
rdf_triples_general.pl
Just a EP_TRIGGER_BOILERPLATE_RDF
trigger function for adding generic boilerplate triples to the RDF.
rdf_triples_repository.pl
- rdf -
- xmlns - Defines URI
void
XML namespace.
- xmlns - Defines URI
Also includes a EP_TRIGGER_REPOSITORY_RDF
trigger function for adding repository-related triples to the RDF.
rdf_triples_skos.pl
- rdf -
- xmlns - Defines URI
skos
XML namespace.
- xmlns - Defines URI
Also includes an eprint EP_TRIGGER_RDF
dataset trigger function for adding extra skos-related triples to the RDF.
rdf_uris.pl
- rdf -
- event_uri - Defines function for generating an event URI. (By default using
event_title
,event_dates
andevent_location
fields). - event_location uri - Defines function for generating an event location URI. (By default using a MD5 checksum of the
event_location
field). - org_uri - Defines function for generating an organisation URI. (By default using a MD5 checksum of the provided organisation name).
- person_uri - Defines function for generating an person URI. (By default using a MD5 checksum of the provided person's name from an EPrints name metadata field. I.e. has
given
andfamily
sub-fields). - publication_uri - Defines function for generating an publication URI. (By default using either the
issn
field or a MD5 checksum of thepublication
field).
- event_uri - Defines function for generating an event URI. (By default using
registration.pl
- allow_web_signup - Whether user accounts can be requested and created via the EPrints repository's web interface / email verification. (Default is
1
, user accounts can be requested through the web interface). - allow_reset_password - Whether forgotten passwords can be reset via the EPrints repository's web interface / email verification. (Default is
1
, passwords can be reset through the web interface). - default_user_type - When a new user account is created what is its initial type. (Default is
user
). - check_registration_email - Defines a function that restricts the email addresses that can be used to register (and verify an account). Useful if you only want sign ups from people in your organisation. (Commented out by default, meaning no restriction).
- use_request_copy_pin_security - Whether to use pin based request copy security, so users approving requests don't have to login or have an account to approve requests from emails. (By default commented out so not enabled).
render_paras.pl
- render_paras - Converts text stored with new lines in the database so it still appears as paragraphs when rendered as HTML. Useful to apply to metadata fields like
abstract
. This has been superseded byEPrints::Extras::render_paras
but could be useful if tweaks are needed to this function.
request_copy.pl
- email_for_doc_request - Defines a function for determining which email address to send emails from visitors who have requested a copy of a restricted document. (By default this returns the email address set in
contact_email
metadata field if set. Otherwise, it returnsundef
, which means the a request copy link will not be added to the abstract/summary page).
restrict_paths.pl
- restrict_paths - Defines an array reference of hash references that allows paths that can be request over HTTP/HTTPS to be restricted for particular IP addresses or subnets. This is useful if a search engine bot is crawling processor-intensive pages that there is little point indexing. Each hash reference contains a
path
(e.g./cgi/exportview
) andips
, an array reference of IP addresses or class A/B/C IP subnets (e.g.[ '1.2.3.4', '5.6.7.' ]
.
rewrite_url_demo.pl
Defines a commented out a EP_TRIGGER_URL_REWRITE
trigger function that evaluates the URI of the request and rewrites it if it meets certain criteria. Can be useful if certain publications' primary hosting location is no longer this repository archive.
S
search.pl
- match_start_of_name - Whether searches should match start of family names rather than just the complete family name (e.g.
smi
rather thansmith
. (Default is0
, do not match on start of name). - latest_citation - The
eprint
citation style file to use on/cgi/latest
page for items published in the last 7 days.
search_xapian.pl
- xapian_index_restricted_fulltext - Whether to index the full text of documents not publicly accessible. As clever searches may allow users to discover certain contents of these documents. (Default is
0
, do not restrict the full texts from being indexed).
Also adds EP_TRIGGER_INDEX_FIELDS
and EP_TRIGGER_REMOVED
trigger functions to index fields in the Xapian database index or remove the Xapian database index if the eprint
data iobject is removed.
security.pl
- can_request_view_document - Defines a function to determine if a particular document can be viewed. (By default allows documents with
security
set topublic
to be viewed as well as restricted documents that include an authorised "request copy" code). - can_user_view_document - Defines a function to determine if a particular document can be viewed by a specific user. (By default allows documents with
security
set topublic
to be viewed as well asvaliduser
forsecurity
documents to be viewed by logged in user unless theirusertype
isminuser
. Also allows access tostaffonly
forsecurity
documents for users of typeeditor
oradmin
or the owner of the eprint item).
session.pl
- session_init - Defines a function to carry out any actions when a session is initialised. (No actions by default).
- session_close - Defines a function to carry out any actions when a session is closed. (No actions by default).
signposting.pl
- plugins
- Export::BibTeX
- params
- signposting - Specifies
Export::BibTeX
plugin can be used in Signposting.
- signposting - Specifies
- params
- Export::DC
- params
- signposting - Specifies
Export::DC
plugin can be used in Signposting.
- signposting - Specifies
- params
- Export::JSON
- params
- signposting - Specifies
Export::JSON
plugin can be used in Signposting.
- signposting - Specifies
- params
- Export::XML
- params
- signposting - Specifies
Export::XML
plugin can be used in Signposting.
- signposting - Specifies
- params
- Export::BibTeX
SystemSettings.pm
- version - The core version of EPrints (By default
EPrints 3.x.y
.x.y
varies dependent on version). - version_id - The core version ID of EPrints (By default
eprints-3.x.y
.x.y
varies dependent on version). - base_path - The base path for EPrints on the filesystem. (By default
/opt/eprints3
). - show_ids_in_log - Whether to show repoistory archive ID is log messages. (By default
0
do not show archive ID in log messages). - group - The Unix group to set when EPrints creates new files (By default
eprints
). - version_history - An array reference of version IDs that proceeded the current version.
- smtp_server - The SMTP server to connect to for sending emails (By default
127.0.0.1
, i.e. localhost). - user - The Unix user to set when EPrints creates new files (By default
eprints
). - file_perms The Unix permissions mask to use when EPrints creates new files. (By default
0664
). - invocation - Invocation commands for external executables and internal scripts. (By default an empty hash reference, as populated by invocations.pl).
- executables - External executable and internal script paths. (By default a hash reference with one entry for
perl
. Further populated by executables.pl). - dir_perms - The Unix permissions mask to use when EPrints creates new directories. (By default
02775
). - flavours - Flavours available for this EPrints installation. (By default
zero
plus any flavours found under theflavours/
sub-directory). - perl_module_isolation - If running multiple archives should Perl modules be isolated between each archive. (By default
0
they should not be isolated, as this can severely affect performance). - indexer_daemon
- loglevel - What level of log messages to write to the indexer log file. (By default messages of at up to level
1
). - rollcount - How many old log files to retain after the log file has been rolled/rotated (By default
5
old log files should be retained). - maxwait - How many seconds to wait after gracefully trying to kill the child indexer process before forcefully killing the child indexer process. (By default
8
seconds before the child indexer process should forcefully be killed). - interval - How many seconds to wait between checking if there are any indexer tasks ready to be run. (By default
30
seconds to wait for any indexer tasks ready to be run). - respawn - How many seconds before the child process of the indexer should respawn, prompting the indexer log to be rotated. (By default
86400
seconds, i.e. 1 day). - timeout - How many seconds the indexer should allow to complete a task before killing it. (By default
600
seconds, i.e. 10 minutes). - interrupt - Should the indexer immediately break out of loop checking for indexer tasks (By default
0
, no it should not break out of loops. This is a nonsensical setting, as1
would affectively disable the indexer whilst it kept running).
- loglevel - What level of log messages to write to the indexer log file. (By default messages of at up to level
T
template_core.pl
Just adds a EP_TRIGGER_DYNAMIC_TEMPLATE
trigger function to build the <head>
section of the dynamic template.
template_edit_phrases.pl
Just adds a EP_TRIGGER_DYNAMIC_TEMPLATE
trigger function to build the page
and title
pins of the "edit phrases" page for a particular page.
template_legacy.pl
Just adds a EP_TRIGGER_DYNAMIC_TEMPLATE
trigger function to add legacy support for the $c->{dynamic_template}->{function}
function that can be defined in configuration.
template_links.pl
Just adds a EP_TRIGGER_DYNAMIC_TEMPLATE
trigger function to add various <link>
s to the <head>
section of the dynamic template.
U
upload.pl
- max_upload_filesize - Maximum size of a file that can be uploaded to EPrints. This gets set in both Apache (HTTP and HTTPS) configuration and
99_uploadmethod_file_max_size.js
under the archive'scfg/static/javascript/auto/
directory, when thegenerate_apacheconf
is run. (By default1 * 1024 * 1024 * 1024
, i.e. 1 GiB).
user_auth_limits.pl
- max_login_attempts - The maximum number of failed login attempts before an account is temporarily locked. (Default is
10
failed login attempts). - lockout_minutes - The number of minutes an account is locked out if there have been too many failed login attempts. (Default is
10
minutes the account is locked out). - reset_request_recent_hours - How many hours between a user being able to request password reset links. (Default is
24
hours between reset password emails to avoid users being spammed incessantly, if reset password misused). - max_account_requests - The maximum number of new user accounts can be requested (through
/cgi/register
inmax_account_requests_minutes
. (Default is100
user accounts. This is quite high, as you may get a lot of people all trying to sign up at once if a mass email is sent round to an organisation asking everyone to sign up). - max_account_requests_minutes - The size of the window in minutes to check if
max_account_requests has been exceeded
. (By default60
minutes, 1 hour). - password_maxlength - Sounds counter-intuitive but really long passwords can take a long time and a lot of resources to hash. So a limit prevents such a DoS attack. (By default
200
characters).
Also adds a EP_TRIGGER_VALIDATE_FIELD
trigger function to validate that the length of the password submitted is not too long.
- login_monitoring
- enabled - Whether monitoring of logins (both failed and successful) are logged to archive's
var/login_attempts/
directory in CSV format. (By default1
, i.e. enabled). - fields - Array reference of field names to include at start of file as column headers. (Commented out by default and only needed if
function
is also defined. The commented out fields:timestamp, username, password_length,ip_address, user_agent, target, login_status, userid, securecode
are the same as those hard-coded). - function - Defines a function for generating a bespoke log message (CSV line) for a login attempt. (Commented out by default but function is the same as what is hard-coded).
- enabled - Whether monitoring of logins (both failed and successful) are logged to archive's
user_fields_automatic.pl
- set_user_automatic_fields - What fields to automatically update when an
user
data object record is committed. (By defaultfrequency
(to receive emails for editor alerts/saved searches) is set tonever
if not already set).
user_fields_default.pl
- set_user_defaults - Sets default values for fields when
user
data object is created. (By defaulthideemail
is set to the stringTRUE
,item_fields
is set to[ "lastmod", "title", "type", "eprint_status" ]
andreview_fields
is set to[ "status_changed", "title", "type", "userid" ]
.
user_fields.pl
- fields
- user - Adds the following extra fields to
user
data object:name, dept, org, address, country, hideemail, url
.
- user - Adds the following extra fields to
user_render.pl
- user_render - Defines a function that specifies how to display a user's metadata on their profile page.
user_review_scope.pl
- editor_limit_fields - Specifies an array reference of
eprint
metadata fields that are presented when anadmin
user is configuring what items aneditor
user can see to review. (By default for zero this issubjects
andtype
. For pub_lib,divisions
is also included).
user_roles.pl
- user_roles
- user - Permitted actions for a regular user, i.e
usertype
ofuser
. (By default:general, edit-own-record, saved-searches, set-password, deposit, change-email
). - editor - Permitted actions for a editor user, i.e
usertype
ofeditor
. (By default:general, edit-own-record, saved-searches, set-password, deposit, change-email, editor, view-status, staff-view
). - admin - Permitted actions for a admin user, i.e
usertype
ofeditor
. (By default:general, edit-own-record, saved-searches, set-password, deposit, change-email, editor, view-status, staff-view, admin edit-config
). - min_user - Permitted actions for a minimal user, i.e
usertype
ofminuser
. (By default:general, edit-own-record, saved-searches, set-password, lock-username-to-email
).
- user - Permitted actions for a regular user, i.e
- public_roles - Permitted actions for all users including those not logged in. (By default:
+eprint/archive/rest/get, +subject/rest/get
). - roles - Allows extra roles to be added together that collate a set of permissions. Sometimes referred to as "hats". (By default this is not defined but there is a commented out example for
approve-hat
).
user_search.pl
- search
- user - The configuration for the search for
user
data objects.- search_fields - Array reference of
meta_fields
to include in the user search form. (Defaults are:name, username, userid, dept, org, address, country, usertype, email
). - citation - The
user
citation style to use for search results. (Default:result
). - page_size - How many results to display per page. (Default:
20
). - order_methods - Different ways or ordering search results (Defaults are:
byname, byjoin, byrevjoin, bytype
). - default_order - Default order for search results (Default:
byname
). - show_zero_results - Whether to go to results page with no results or say on search form page. (Default:
1
, i.e. go to search results page).
- search_fields - Array reference of
- user - The configuration for the search for
user_validate.pl
- validate_user - Defines a function to perform complex validations the metadata for a user data object. (This option is deprecated. Rather than adding validations to this configuration option, use a
EP_TRIGGER_VALIDATE
dataset trigger function for theuser
dataset).
V
views.pl
- browse_views - An array reference of difference views for browsing the publications in the repository archive. See Adding new views for more details. The following flavours have browse views with following IDs (commented out views in brackets):
zero: subjects (year, person, people, type)
pub_lib: year, subjects, divisions, creators, (person, people, type)
views_render_items_example.pl
render_view_items_3col_boxes - Defines an example render function that can be used under browse view's variations
attribute to lay out the listing of items differently, (i.e. in three columns).
render_view_menu_3col_boxes - Defines an example render function that can be used under browse view's render_menu
attribute to lay out the menu of options differently, (i.e. in three columns).
vlit.pl
- vlit
- enable - Whether vlit is enabled. (By default
1
, vlit is enabled). - copyright_url - The URL that points to a page that describes the copyright for vlit. (By default
/vlit.html
).
- enable - Whether vlit is enabled. (By default
W
X
Y
y_export_privacy.pl
Logic which checks whether export_privacy
is enabled and if so, restricts the following export plugins (that likely could contain information that may be a privacy concern) to staff (logged in users) only: JSON, XML, RDFN3, RDFNT, RDFXML, CSV, Simple
.
Z
zz_version.pl
- version_description - Builds the version description from the final values for
version_long
,version_alias
,vendor_long
.