From dff8bde1348a2cc472e445b52f1b724084d9d7aa Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Tue, 17 Jan 2023 22:14:43 +0100 Subject: [PATCH] refs #22747 [vufind] sync finc with dev --- config/vufind/config.ini | 223 +++++++++++++++++++++++++++------- languages/CreatorRoles/de.ini | 3 +- languages/Exception/fi.ini | 5 + languages/Exception/sv.ini | 5 + languages/en.ini | 3 +- 5 files changed, 190 insertions(+), 49 deletions(-) create mode 100644 languages/Exception/fi.ini create mode 100644 languages/Exception/sv.ini diff --git a/config/vufind/config.ini b/config/vufind/config.ini index 19ceddd9bdb..39771e53ff4 100644 --- a/config/vufind/config.ini +++ b/config/vufind/config.ini @@ -718,16 +718,25 @@ database = mysql://root@localhost/vufind ; Optional: Session ID parameter for SAML2 single logout support. If omitted, single ; logout support is disabled. Note that if SLO support is enabled, Shibboleth session ; ID's are tracked in external_session table which may need to be cleaned up with the -; expire_session_mappings command line utility. See +; util/expire_external_sessions command line utility. See ; https://vufind.org/wiki/configuration:shibboleth for more information on how ; to configure the single logout support. ;session_id = Shib-Session-ID +; Check for expired session - user is automatically logged out when Shibboleth +; session is not present (default = true if unset); note that expiration check +; also requires session_id to be set above. +;checkExpiredSession = false ; Optional: you may set attribute names and values to be used as a filter; ; users will only be logged into VuFind if they match these filters. ;userattribute_1 = entitlement ;userattribute_value_1 = urn:mace:dir:entitlement:common-lib-terms ;userattribute_2 = unscoped-affiliation ;userattribute_value_2 = member +; Set to true when shibboleth attributes must be read from headers instead of +; environment variables - for example if you use proxy server and shibboleth is +; running on proxy side. In that case you should protect against header spoofing: +; see https://wiki.shibboleth.net/confluence/display/SP3/SpoofChecking for details +;use_headers = false ; Required: the attribute Shibboleth uses to uniquely identify users. ;username = persistent-id ; Required: Shibboleth login URL. @@ -749,6 +758,9 @@ database = mysql://root@localhost/vufind ;college = HTTP_COLLEGE ;major = HTTP_MAJOR ;home_library = HTTP_HOME_LIBRARY +; Enable if you want to override mapping or required attributes for specific IdP +; in Shibboleth.ini +;allow_configuration_override = true ; CAS is optional. This section only needs to exist if the ; Authentication Method is set to CAS. @@ -812,9 +824,6 @@ database = mysql://root@localhost/vufind ; External Content is Optional. ; To use multiple, separate with a comma. Priority will be given by the order listed ; Account id is separated with a colon, if no id is used then no colon is necessary -; For Amazon, use your 20-character access key in the coverimages and reviews values; -; you must also provide your 40-character secret key in the amazonsecret value and -; your associate ID in the amazonassociate value. ; ; IMPORTANT: Review content providers' terms of service before turning them on. ; Terms may change, and not all content sources are appropriate for all @@ -841,9 +850,11 @@ database = mysql://root@localhost/vufind ; coversize setting to false: ;coversize = false -; You can select Syndetics, LibraryThing, Summon, Amazon, Booksite, OpenLibrary, -; Contentcafe, Buchhandel.de, Google Books, BrowZine and/or LocalFile. +; You can select Syndetics, LibraryThing, Summon, Booksite, OpenLibrary, +; Contentcafe, Buchhandel.de, Google Books, BrowZine, ObalkyKnih and/or LocalFile. ; Note: BrowZine requires you to have BrowZine.ini configured appropriately. +; Note: ObalkyKnih could be configured in obalkyknih.ini file. You should also +; add API URLs to img-src directive in contentsecuritypolicy.ini ; Note: Summon service takes a Serials Solutions client key, NOT Summon API key! ; For LocalFile:PathToFile, you may use a combination of directory path information ; and tokens for filename and image type. If you have multiple directories @@ -862,7 +873,7 @@ database = mysql://root@localhost/vufind ; %vufind-home% - The VUFIND_HOME environment variable ; %vufind-local-dir% - The VUFIND_LOCAL_DIR environment variable ; Example: LocalFile:%vufind-local-dir%/path/to/file/%size%/issn/%issn%.%anyimage% -;coverimages = Syndetics:MySyndeticsId,Amazon:MyAccessKeyId,Booksite,LibraryThing:MyLibraryThingId,Google,OpenLibrary,Summon:MySerialsSolutionsClientKey,Contentcafe:MyContentCafeID,BrowZine,LocalFile:PathToFile +;coverimages = Syndetics:MySyndeticsId,Booksite,LibraryThing:MyLibraryThingId,Google,ObalkyKnih,OpenLibrary,Summon:MySerialsSolutionsClientKey,Contentcafe:MyContentCafeID,BrowZine,LocalFile:PathToFile ; This setting controls which services will have images cached on your local disk. ; Set to true to cache all applicable services. Set to false to disable caching. Set @@ -878,6 +889,16 @@ coverimagesCache = true ; "/.*/" to turn on caching for all proxied images. ;coverproxyCache[] = "/.*\.?mylibrary\.edu/" +; This setting controls how cover image URLs are loaded. They could be loaded as +; part of main request, or asynchronously. Asynchronous loading is disabled by +; default; to enable it, just uncomment the line below. +;ajaxcovers = true + +; When ajaxcovers is set to true, this setting controls whether the AJAX Handler +; GetRecordCover renders a fallback template (record/coverReplacement.phtml) in case +; no cover image could be loaded. +;useCoverFallbacksOnFail = false + ; These settings control the image to display when no book cover is available. ; If makeDynamicCovers is not false and the GD library is installed, VuFind will draw ; cover images on the fly. See [DynamicCovers] below for more settings. If set to @@ -889,13 +910,12 @@ coverimagesCache = true ; path relative to the base of your theme directory for a static image to display. noCoverAvailableImage = images/noCover2.gif -; You can select from Syndetics, SyndeticsPlus, Amazon Editorial, Amazon, Booksite -; and/or the Guardian +; You can select from Syndetics, SyndeticsPlus, Booksite and/or the Guardian ; Note: If the API key is omitted, e.g. "Guardian:", only the review title, byline, ; Guardian logo and a link to the full Guardian page will be displayed ; Note: The Guardian API changed in 2014; if you signed up before that date, you ; may need to obtain a new API key for continued access. -;reviews = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsID,AmazonEditorial:MyAccessKeyId,Amazon:MyAccessKeyId,Booksite,Guardian:MyGuardianKeyId +;reviews = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsID,Booksite,Guardian:MyGuardianKeyId ; You can select from Syndetics or SyndeticsPlus ;excerpts = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsId @@ -926,15 +946,6 @@ noCoverAvailableImage = images/noCover2.gif ; heap size settings. For details, see: https://vufind.org/jira/browse/VUFIND-630 authors = Wikipedia -; You can look up your secret key by logging into http://aws.amazon.com and clicking -; "Access Identifiers" under "Your Account". -;amazonsecret = MyAmazonSecretKey - -; You can sign up for an associate ID by logging into -; https://affiliate-program.amazon.com . Please make sure your instance of VuFind -; complies with Amazon's agreements before enabling this feature. -;amazonassociate = MyAmazonAssociateID - ; You can select from Google, OpenLibrary, HathiTrust. You should consult ; https://developers.google.com/books/branding before using Google Book Search. ;previews = Google,OpenLibrary,HathiTrust @@ -1158,10 +1169,17 @@ url = "https://api.booksite.com" [DOI] ; This setting controls whether or not DOI-based links are enabled, and which ; API is used to fetch the data. Currently supported options: BrowZine (requires -; credentials to be configured in BrowZine.ini), Unpaywall or false (to disable). Disabled -; by default. +; credentials to be configured in BrowZine.ini), Unpaywall or false (to disable). +; Disabled by default. You may also use a comma-separated list of resolvers if you +; want to try multiple sources. ;resolver = BrowZine +; If you use multiple values in the resolver setting above, you can determine how the +; software should behave when multiple resolvers return results for the same DOI. +; You can choose "first" (only return results from the first matching resolver -- +; the default behavior) or "merge" (merge together all results and show them all). +;multi_resolver_mode = first + ;unpaywall_api_url = "https://api.unpaywall.org/v2" ; Unpaywall needs an email adress, see https://unpaywall.org/products/api ;unpaywall_email = "your@email.org" @@ -1202,6 +1220,8 @@ window_settings = "toolbar=no,location=no,directories=no,buttons=no,status=no,me ; If you want to display a graphical link to your link resolver, uncomment the ; settings below. graphic should be a URL; graphic_width and graphic_height ; should be sizes in pixels. +; Note: You will probably will need to add URL of image to img-src setting +; in contentsecuritypolicy.ini file ;graphic = "http://myuniversity.edu/images/findIt.gif" ;graphic_width = 50 ;graphic_height = 20 @@ -1350,11 +1370,62 @@ url = https://www.myendnoteweb.com/EndNoteWeb.html ;host = your.proxy.server ;port = 8000 -; Uncomment following line to set proxy type to SOCKS 5 +; Uncomment one of the following lines to set proxy type to SOCKS 5 or SOCKS 5 with +; name resolution done by proxy. Setting either of these will make VuFind use the +; curl adapter for HTTP requests. ;type = socks5 +;type = socks5_hostname + +; If VuFind is running behind a proxy that uses X-Real-IP/X-Forwarded-For headers, +; you should configure this setting on so that VuFind reports correct user IP +; addresses, and sets permissions appropriately. CONFIGURE THIS WITH CARE! It is +; possible to spoof IP addresses, and configuring this to differentiate between +; legitimate headers from your proxy and spoofed values is critical to protecting +; your content. +; +; The setting should be an ordered, comma-separated list of headers, with optional +; colon-separated modifiers specifying behavior. +; +; Header values can be any keys in PHP's $_SERVER superglobal array; these are +; the most commonly used options: +; - HTTP_X_FORWARDED_FOR +; - HTTP_X_REAL_IP +; +; Supported behaviors (if unspecified, "single" is the default behavior): +; - first (pick the first comma-separated value; e.g. "a" in "a, b, c") +; - last (pick the last comma-separated value; e.g. "c" in "a, b, c") +; - single (enforce single values; completely ignore multi-valued headers) +; +; See also forwarded_ip_filter below for a way to filter out known IP addresses +; of internal network devices before applying first/last/single settings. +; +; When commented out or set to false, only the regular REMOTE_ADDR value will +; be used for IP detection. REMOTE_ADDR will also be used as the default value +; if none of the configured headers are populated. +; +; If you need to implement more nuanced functionality, you can extend or +; override the VuFind\Net\UserIpReader class to implement your own logic. +; +; You can use a header-modifying browser plugin to determine how your proxy +; will respond to spoofing attempts. +; +; See this wiki page for additional notes and comments: +; https://vufind.org/wiki/administration:security#proxies_and_ip_authentication +; +; The example below, if uncommented, will use X-Real-IP if found, and the +; rightmost value of X-Forwarded-For otherwise (resorting to REMOTE_ADDR only +; if no relevant X- headers are found). +;allow_forwarded_ips = "HTTP_X_REAL_IP:single,HTTP_X_FORWARDED_FOR:last" + +; This setting can be used in combination with allow_forwarded_ips to prevent +; known IP addresses of internal proxies and network devices from being reported +; as end user IP addresses. You can repeat the setting for each IP address that +; you wish to exclude. The first/last/single processing parameters used by +; allow_forwarded_ips will be applied AFTER removing addresses filtered here. +;forwarded_ip_filter[] = 1.2.3.4 ; Default HTTP settings can be loaded here. These values will be passed to -; the \Zend\Http\Client's setOptions method. +; the \Laminas\Http\Client's setOptions method. [Http] ;sslcapath = "/etc/ssl/certs" ; e.g. for Debian systems ;sslcafile = "/etc/pki/tls/cert.pem" ; e.g. for CentOS systems @@ -1363,7 +1434,13 @@ url = https://www.myendnoteweb.com/EndNoteWeb.html ; Example: Using a CURL Adapter instead of the the defaultAdapter (Socket); note ; that you may also need to install CURL and PHP/CURL packages on your server. -;adapter = 'Zend\Http\Client\Adapter\Curl' +;adapter = 'Laminas\Http\Client\Adapter\Curl' + +; Set curl options if required. See +; https://www.php.net/manual/en/function.curl-setopt.php for available options and +; https://github.com/curl/curl/blob/master/include/curl/curl.h for their numeric +; values. +;curloptions[52] = true ; Spelling Suggestions ; @@ -1437,6 +1514,18 @@ skip_numeric = true ; - Add /slack to the end of your url for Slack-compatible messages ; https://discordapp.com/developers/docs/resources/webhook#execute-slackcompatible-webhook +; You can use Office365 webhooks to send messages to a Microsoft Team channel. +; In the "Connectors" setting on a channel, you can add "Incoming Webhook." This +; will provide a URL that you can paste into the office365_url setting. +; If you are concerned about rate limits, you might also wish to set up the +; VuOwma message aggregator; see https://github.com/FalveyLibraryTechnology/VuOwma +;office365_url = "https://outlook.office.com/webhook/xxx/IncomingWebhook/yyy" +; This setting controls the error levels that will be logged to Office365; if +; commented out, Office365 logging will be disabled +;office365 = alert,error +; This setting controls the title on the messages displayed in Office365: +;office365_title = "VuFind Log" + ; This section can be used to specify a "parent configuration" from which ; the current configuration file will inherit. You can chain multiple ; configurations together if you wish. @@ -1444,7 +1533,7 @@ skip_numeric = true ; Full path to parent configuration file: ;path = /usr/local/vufind/application/config/config.ini ; Path to parent configuration file (relative to the location of this file): -;relative_path = ../masterconfig/config.ini +;relative_path = ../parentconfig/config.ini ; A comma-separated list of config sections from the parent which should be ; completely overwritten by the equivalent sections in this configuration; @@ -1519,6 +1608,10 @@ rtl_langs = "ar,he" ; have a large index! [Browse] result_limit = 100 + +; These settings can be used to turn specific browse types on or off; the order +; of the settings in the configuration below will also control the order of the +; options displayed in the web interface: tag = true ; allow browsing of Tags dewey = false ; allow browsing of Dewey Decimal call numbers lcc = true ; allow browsing of LC call numbers @@ -1527,6 +1620,7 @@ topic = true ; allow browsing of subject headings genre = true ; allow browsing of genre subdivisions region = true ; allow browsing of region subdivisions era = true ; allow browsing of era subdivisions + ; You can use this setting to change the default alphabet provided for browsing: ;alphabet_letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Uncomment to sort lists alphabetically (instead of by popularity); note that @@ -1639,6 +1733,15 @@ jump_to_single_search_result = false ; punctuation, but this can be used when ISBD punctuation is absent (e.g. ", "). ;marcPublicationInfoSeparator = " " +; If you have a custom index, you might want to change the field where the full +; MARC record is supposed to be. The field will be checked and ignored, if it is +; not a valid index field or does not exist in the record or index schema. +; If you have multiple fields with MARC content, you may add all of them +; by using a comma sepated list. The first field is the preferred one, if it does not +; exist, the next ones are taken. +; (Default = "fullrecord") +preferredMarcFields = "fullrecord" + ; When displaying publication information from 260/264, this can be set to true ; to make 264 information completely replace 260 information. Default is false, ; which will display information from 260 AND 264 when both fields are populated. @@ -1713,11 +1816,11 @@ HMACkey = mySuperSecretValue ; VUFIND_CACHE_DIR (see httpd-vufind.conf). The default location is inside the ; local settings directory. [Cache] -; Set time to live value for Zend caches (in seconds), 0 means maximum possible. +; Set time to live value for caches (in seconds), 0 means maximum possible. ;ttl = 0 ; Override umask for cache directories and files. ;umask = 022 -; Permissions for Zend-created cache directories and files, subject to umask +; Permissions for framework-created cache directories and files, subject to umask ; Default dir_permission seems to be 0700. ;dir_permission = 0700 ; Default file_permission seems to be 0600. @@ -1791,7 +1894,7 @@ treeSearchLimit = 100 ;sender_name = "VuFind Feedback" ; Note: for additional details about stats (including additional notes on Google -; Analytics and Piwik), look at the wiki page: +; Analytics and Matomo/Piwik), look at the wiki page: ; https://vufind.org/wiki/configuration:usage_stats ; Uncomment this section and provide your API key to enable Google Analytics. Be @@ -1802,18 +1905,20 @@ treeSearchLimit = 100 ;apiKey = "mykey" ;universal = false -; Uncomment this section and provide your Piwik server address and site id to -; enable Piwik analytics. Note: VuFind's Piwik integration uses several custom -; variables; to take advantage of them, you must reconfigure Piwik by switching +; The Piwik product has been renamed to Matomo, but for backward compatibility, +; the terminology has not yet been changed in VuFind. Uncomment this section and +; provide your Matomo or Piwik server address and site id to enable Matomo/Piwik +; analytics. Note: VuFind's Matomo/Piwik integration uses several custom variables; +; to take advantage of them, you must reconfigure Matomo/Piwik by switching ; to its root directory and running this command to raise a default limit: ; ./console customvariables:set-max-custom-variables 10 [Piwik] ;url = "http://server.address/piwik/" ;site_id = 1 ; Uncomment the following setting to track additional information about searches -; and displayed records with Piwik's custom variables +; and displayed records with Matomo/Piwik's custom variables ;custom_variables = true -; By default, Piwik searches are tracked using the format "Backend|Search Terms." +; By default, searches are tracked using the format "Backend|Search Terms." ; If you need to differentiate searches coming from multiple VuFind instances using ; a shared site_id, you can set the searchPrefix to add an additional prefix to ; the string, for example "SiteA|Backend|Search Terms." Most users will want to @@ -1865,22 +1970,46 @@ treeSearchLimit = 100 ;EDS = "EBSCO Discovery Service" ; Activate Captcha validation on select forms -; VuFind will use reCaptcha validation to prevent bots from using certain actions of -; your instance. See http://www.google.com/recaptcha for more information on Captcha -; and create keys for your domain. -; You will need to provide a sslcapath in the [Http] section for your Captcha to work. +; VuFind can use Captcha validation to prevent bots from using certain actions of +; your instance. ;[Captcha] -;siteKey = "get your reCaptcha key at" -;secretKey = "https://www.google.com/recaptcha/admin/create" -; Valid theme values: dark, light -;theme = light -; Valid forms values: changePassword, email, feedback, newAccount, passwordRecovery, -; sms, userComments -; Use * for all supported forms +; Valid type values: +; - figlet (generate a text-based message for the user to interpret) +; - image (generate a local image for the user to interpret) +; - recaptcha (use Google's ReCaptcha service) +; If multiple values are given, the user will be able to pick his favorite. +; See below for additional type-specific settings. +;types[] = recaptcha + +; The "forms" setting controls the contexts in which CAPTCHA will be presented. It +; can be either a comma-separated list of forms, or "*" to display CAPTCHA on all +; supported forms. Valid forms values: +; changeEmail, changePassword, email, feedback, newAccount, passwordRecovery, +; sms, userComments ; Note: when "feedback" is active, Captcha can be conditionally disabled on a ; form-by-form basis with the useCaptcha setting in FeedbackForms.yaml. -;forms = changeEmail, changePassword, email, newAccount, passwordRecovery, sms - +;forms = * + +; Figlet options, see: +; https://docs.laminas.dev/laminas-captcha/adapters/#laminascaptchafiglet +;figlet_length = 8 + +; Image options, see: +; https://docs.laminas.dev/laminas-captcha/adapters/#laminascaptchaimage +;image_length = 8 +;image_width = 200 +;image_height = 50 +;image_fontSize = 24 +;image_dotNoiseLevel = 100 +;image_lineNoiseLevel = 5 + +; See http://www.google.com/recaptcha for more information on reCAPTCHA and to +; create keys for your domain. Make sure that SSL settings are correct in the +; [Http] section, or your Captcha may not work. +;recaptcha_siteKey = "get your reCaptcha key at" +;recaptcha_secretKey = "https://www.google.com/recaptcha/admin/create" +; Valid theme values: dark, light +;recaptcha_theme = light ; This section can be used to display default text inside the search boxes, useful ; for instructions. Format: @@ -1919,6 +2048,8 @@ lists_view=full ; Tags may be "enabled" or "disabled" (default = "enabled") ; When disabling tags, don't forget to also turn off tag search in searches.ini. tags = enabled +; User list tags may be "enabled" or "disabled" (default = "disabled") +listTags = disabled ; This controls the maximum length of a single tag; it should correspond with the ; field size in the tags database table. max_tag_length = 64 diff --git a/languages/CreatorRoles/de.ini b/languages/CreatorRoles/de.ini index 8d3ce0fdf99..3da8a5216fa 100644 --- a/languages/CreatorRoles/de.ini +++ b/languages/CreatorRoles/de.ini @@ -281,6 +281,7 @@ regie = "Regie" ren = "RendererIn (Bildverarbeitung)" reporter = "Reporter" res = "ForscherIn" +resp = "Respondent" rev = "RezensentIn, GutachterIn" rpc = "HörfunkproduzentIn" rps = "Aufbewahrungsort, TreuhänderIn" @@ -288,7 +289,7 @@ rpt = "ReporterIn" rpy = "Verantwortliche Partei" rse = "AntragsgegnerIn-BerufungsbeklagteR" rsg = "RegisseurIn der Wiederaufführung" -rsp = "RespondentIn" +rsp = "BerufungsbeklagteR" rsr = "RestauratorIn" rst = "AntragsgegnerIn-BerufungsklägerIn" rth = "Leitung des Forschungsteams" diff --git a/languages/Exception/fi.ini b/languages/Exception/fi.ini new file mode 100644 index 00000000000..76e6e638d91 --- /dev/null +++ b/languages/Exception/fi.ini @@ -0,0 +1,5 @@ +access_denied_change_password = "Salasanan vaihtaminen ei ole sallittu." +access_denied_read_fines = "Maksujen näyttäminen ei ole sallittu." +access_denied_read_items = "Varausten tai lainojen näyttäminen ei ole sallittu." +access_denied_read_patron = "Käyttäjäprofiilin näyttäminen ei ole sallittu." +access_denied_write_items = "Varaaminen tai lainojen uusiminen ei ole sallittu." diff --git a/languages/Exception/sv.ini b/languages/Exception/sv.ini new file mode 100644 index 00000000000..aee38c49900 --- /dev/null +++ b/languages/Exception/sv.ini @@ -0,0 +1,5 @@ +access_denied_change_password = "Du har inte rättigheter att byta lösenordet." +access_denied_read_fines = "Du har inte rättigheter att visa avgifter." +access_denied_read_items = "Du har inte rättigheter att visa lån eller reserveringar." +access_denied_read_patron = "Du har inte rättigheter att visa din profil." +access_denied_write_items = "Du har inte rättigheter att reservera material eller förnya lån." diff --git a/languages/en.ini b/languages/en.ini index 8e17f613fb4..c2f5b029c3f 100644 --- a/languages/en.ini +++ b/languages/en.ini @@ -410,7 +410,7 @@ fav_delete_deleting = "Your favorite(s) are being deleted." fav_delete_fail = "Sorry, an error has occurred. Your favorite(s) were not deleted." fav_delete_missing = "Some data was missing. Your favorite(s) were not deleted." fav_delete_success = "Your favorite(s) were deleted." -fav_delete_warn = "You are about to delete these favorites from all your lists. If you want to delete favorites from a specific list only, please select the list before clicking delete." +fav_delete_warn = "You are about to delete these favorites from all your lists - If you want to delete favorites from a specific list only, please select the list before clicking delete." fav_email_fail = "Sorry, an error has occurred. Your favorite(s) were not emailed." fav_email_missing = "Some data was missing. Your favorite(s) were not emailed." fav_email_success = "Your favorite(s) were emailed as requested." @@ -649,7 +649,6 @@ List = "List" List Tags = "List Tags" list_access_denied = "You do not have permission to view this list." list_edit_name_required = "List name is required." -list_item_delete = "Delete item from list" load_tag_error = "Error: Could Not Load Tags" Loading = "Loading" Loan History = "Loan History" -- GitLab