diff --git a/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini new file mode 100644 index 0000000000000000000000000000000000000000..bab515629f53bda48971c9ad5da5364ed474702f --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini @@ -0,0 +1,24 @@ +[Catalog] +host = aleph.mylibrary.edu ; [your Aleph server] + +; bibliographic library +bib = LIB01 + +; user library +useradm = LIB00 + +; adm-Lib +admlib = FUB50 + +; loan librarys +loanlib = "LIB50 LIB51 LIB52 LIB53 ..." + +; WWW-X user +wwwuser = "WWW-X" +wwwpasswd = "your password" + +; adm-lib / sub-library array +; This is a list of patron home libraries and the ADM the library belongs to +[sublibadm] +ARC = ACC50 +CBR = ACC50 \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/DAIA.ini b/module/VuFind/tests/fixtures/configs/1.1/DAIA.ini new file mode 100644 index 0000000000000000000000000000000000000000..c1d828105cdb43a1add459a4646b8cfd8a2e0e07 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/DAIA.ini @@ -0,0 +1,2 @@ +[Global] +baseUrl = [your DAIA server base url] \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/Evergreen.ini b/module/VuFind/tests/fixtures/configs/1.1/Evergreen.ini new file mode 100644 index 0000000000000000000000000000000000000000..24213a351324eb4b2f4bd4729fb21a0d5b06bf55 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Evergreen.ini @@ -0,0 +1,6 @@ +[Catalog] +port = 5432 +hostname = localhost +database = evergreen +user = evergreen +password = evergreen diff --git a/module/VuFind/tests/fixtures/configs/1.1/Horizon.ini b/module/VuFind/tests/fixtures/configs/1.1/Horizon.ini new file mode 100644 index 0000000000000000000000000000000000000000..0105d059012faa682cf12cd5c4b400b690196445 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Horizon.ini @@ -0,0 +1,6 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = portnumber +username = myusername +password = mypassword +database = mydatabase diff --git a/module/VuFind/tests/fixtures/configs/1.1/Innovative.ini b/module/VuFind/tests/fixtures/configs/1.1/Innovative.ini new file mode 100644 index 0000000000000000000000000000000000000000..9f1294aef695693db8782ccdcdd4482a69790385 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Innovative.ini @@ -0,0 +1,19 @@ +[Catalog] +url = http://catalog.library.myuniversity.edu + +; The following is a set of fields to look up for +; Change them to match your HTML +[OPAC] +location_column = "Location" +call_no_column = "Call No" +status_column = "Status" +reserves_column = "Location" +reserves_key_name = "res" +status_avail = "AVAILABLE" +status_due = "DUE " + +[PATRONAPI] +; Enable III Patron API usage for patron authentication +; and profile information. +enabled = "true" +url = http://catalog.library.myuniversity.edu:4500/PATRONAPI/ \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/Koha.ini b/module/VuFind/tests/fixtures/configs/1.1/Koha.ini new file mode 100644 index 0000000000000000000000000000000000000000..100df0db9c711cc88a4a16d421cb98833a3c8a0e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Koha.ini @@ -0,0 +1,22 @@ +[Catalog] +host = localhost +port = 3306 +username = mysqlusername +password = mysqlpassword +database = koha +url = http://library.myuniversity.edu + +; This section translates Koha's internal location codes into strings for on-screen +; display. You can customize the text to your liking. +[Location_Codes] +AV = "Audio Visual" +CART = "Book Cart" +CHILD = "Children's Area" +DISPLAY = "On Display" +FIC = "Fiction" +GEN = "General Shelf" +NEW = "New Materials Shelf" +PROC = "Processing Center" +REF = "Reference Shelf" +STAFF = "Staff Office" + diff --git a/module/VuFind/tests/fixtures/configs/1.1/NewGenLib.ini b/module/VuFind/tests/fixtures/configs/1.1/NewGenLib.ini new file mode 100644 index 0000000000000000000000000000000000000000..615facc1d81fae2362d11e1e1e1c6dfd72462db2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/NewGenLib.ini @@ -0,0 +1,6 @@ +[Catalog] +port =5432 +hostname =localhost +database =newgenlib +user =newgenlib +password =newgenlib diff --git a/module/VuFind/tests/fixtures/configs/1.1/PICA.ini b/module/VuFind/tests/fixtures/configs/1.1/PICA.ini new file mode 100644 index 0000000000000000000000000000000000000000..1fa51f3b93fcf487666df7f4f506e5288aa4005a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/PICA.ini @@ -0,0 +1,3 @@ +[Catalog] +Host = "[your OPC Host]" +renewalsScript = "[URI of the script to get the number of renewals. This must be on the PICA catalog host]" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/Summon.ini b/module/VuFind/tests/fixtures/configs/1.1/Summon.ini new file mode 100644 index 0000000000000000000000000000000000000000..4e0e7485670ed63ee26f9ca8fb136abc3421befc --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Summon.ini @@ -0,0 +1,157 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +; +; Right now, VuFind is configured to use Summon database recommendations at the +; top of the search results and all facets to the side. You can reconfigure +; this by changing the default_top_recommend setting and [Facets] / [FacetsTop] +; sections below. +default_top_recommend[] = SummonDatabases +;default_top_recommend[] = TopFacets:FacetsTop:Summon +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:Summon + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results (may not apply to all fields). +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; available. +snippets = true + +; Summon has a fixed cap on how many results you can page through. Even though +; it may report more results than this number, you can't actually access results +; past the limit. This setting tells VuFind where to cut off its paging mechanism. +; You can raise this value as high as 20000, but performance suffers as page +; numbers increase. +result_limit = 2000 + +; The following two sections can be used to associate specific recommendations +; modules with specific search types defined in the [Basic_Searches] section +; below. For all the details on how these sections work, see the comments above +; the equivalent sections of searches.ini. Recommendations work the same in +; Summon as they do in the regular Search module. +[SideRecommendations] +; No search-specific settings by default -- add your own here. +[TopRecommendations] +; No search-specific settings by default -- add your own here. + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = PublicationDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +; +; NOTE: Do not create CheckboxFacets using values that also exist in the +; [Facets] section below -- this will not work correctly. +[CheckboxFacets] +IsScholarly:true = scholarly_limit +IsFullText:true = fulltext_limit +excludeNewspapers:true = exclude_newspapers +holdingsOnly:false = add_other_libraries + +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +; +; The name of the index field may optionally be followed by comma-separated +; parameters (i.e. ",or,1,15") as defined by the Summon API. Any provided +; parameters will override defaults like the facet_limit setting in +; [Facet_Settings] below. +[Facets] +Library = Location +ContentType = Format +SubjectTerms = Topic +Language = Language +PublicationDate = "adv_search_year" ; share year string w/advanced search page + +; These facets will be shown above search results if the TopFacets recommendations +; module is used, as opposed to the [Facets] section, which is shown to the side +; of search results when the SideFacets module is used. +; +; NOTE: This section is not used by default -- see default_top_recommend setting +; above for more details. +[FacetsTop] +SubjectTerms = "Suggested Topics" + +; Rows and columns for table used by top facets +[Results_Settings] +top_rows = 2 +top_cols = 3 + +; These settings affect the way the facets are displayed +[Facet_Settings] +facet_limit = 30 ; how many values should we show for each facet? + +; These settings affect the way facets are displayed on the advanced screen +[Advanced_Facet_Settings] +; Some special facets for advanced searching can be turned on by inclusion in +; the comma-separated list below, or turned off by being excluded. Currently, +; just one values is supported: "daterange" for the publication year range +; control. +special_facets = daterange + +; This section shows which search types will display in the basic search box at +; the top of Summon pages. The name of each setting below corresponds with an +; index defined in the Summon API. The value of each setting is the text to +; display on screen. All on-screen text will be run through the translator, so +; be sure to update language files if necessary. The order of these settings +; will be maintained in the drop-down list in the UI. +; +; Note: The search type of "AllFields" is a special case that searches all +; fields. All remaining values are from the list documented here: +; http://api.summon.serialssolutions.com/help/api/search/fields +[Basic_Searches] +AllFields = "All Fields" +Title = Title +Author = Author +SubjectTerms = Subject + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +PublicationTitle = adv_search_journaltitle +Author = adv_search_author +SubjectTerms = adv_search_subject +;LCCallNum = adv_search_callnumber +ISBN = ISBN +ISSN = ISSN +Publisher = adv_search_publisher +PublicationSeriesTitle = adv_search_series +PublicationYear = adv_search_year +TableOfContents = adv_search_toc + +; This section defines the sort options available on Summon search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Summon index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. Values on the right +; of the equal sign are text that will be run through the translation module and +; displayed on screen. +[Sorting] +relevance = sort_relevance +PublicationDate:desc = sort_year +PublicationDate:asc = "sort_year asc" + +; This section controls spell checking -- it can be disabled if desired. +[Spelling] +enabled = true \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/Unicorn.ini b/module/VuFind/tests/fixtures/configs/1.1/Unicorn.ini new file mode 100644 index 0000000000000000000000000000000000000000..1cc1753edd83e5c0cfad58fa9e73ebe2f81e004e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Unicorn.ini @@ -0,0 +1,4 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 80 +search_prog = \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/Virtua.ini b/module/VuFind/tests/fixtures/configs/1.1/Virtua.ini new file mode 100644 index 0000000000000000000000000000000000000000..d5ec6a38dfd2bb266d0e65de8a4d9e5321533334 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Virtua.ini @@ -0,0 +1,16 @@ +[Catalog] +; Your virtua database server +host = virtuadb.your.library.server +; Your iportal server +webhost = virtuaweb.your.library.server +; The iportal host string +host_string = virtuaweb.your.library.server+9002+DEFAULT +; The iportal patron string +patron_host = virtuaweb.your.library.server 9002 DEFAULT +; Oracle connection port +port = 1521 +; The TNS entry name for the database +service = VTLS01 +; Login details +user = username +password = password diff --git a/module/VuFind/tests/fixtures/configs/1.1/Voyager.ini b/module/VuFind/tests/fixtures/configs/1.1/Voyager.ini new file mode 100644 index 0000000000000000000000000000000000000000..285552014d5deea41128c9e3f8a7ea6e9ddf2b2a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/Voyager.ini @@ -0,0 +1,35 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 1521 +service = VGER.catalog.library.myuniversity.edu +user = myusername +password = mypassword +database = MYDB +pwebrecon = http://catalog.library.myuniversity.edu/cgi-bin/Pwebrecon.cgi + +; If this is set to false, VuFind will connect to Voyager's Oracle database with +; SERVICE_NAME in the connection string. If set to true, it will use SID. If +; you have connection problems, try changing this setting. +connect_with_sid = false + +; These settings affect the Fund list used as a limiter in the "new items" module: +[Funds] +; Uncomment this line to turn off the fund list entirely. +;disabled = true + +; If you know what values you want to allow in your fund list, include them as +; whitelist lines below. ONLY VALUES INCLUDED IN WHITELIST LINES WILL BE SHOWN. +; Leave the whitelist commented out to get all values. +;whitelist[] = "First Good Value" +;whitelist[] = "Second Good Value" + +; If you wish to exclude certain values from your fund list, include them as +; blacklist lines below. There is no point in using blacklist lines if you have +; already set a whitelist above. +;blacklist[] = "First Bad Value" +;blacklist[] = "Second Bad Value" + +; This setting can be used to limit the fund list to those that are under a specific +; fund. Set it to 0 for top-level funds only. Set it to a FUND_ID deeper in the +; fund tree to filter out unwanted values. Leave it commented out to get all funds. +;parent_fund = 0 diff --git a/module/VuFind/tests/fixtures/configs/1.1/WorldCat.ini b/module/VuFind/tests/fixtures/configs/1.1/WorldCat.ini new file mode 100644 index 0000000000000000000000000000000000000000..5342a6d59a1872667c6c5ed4daa2a5407b01cc13 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/WorldCat.ini @@ -0,0 +1,47 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; This section shows which search types will display in the basic search box at +; the top of WorldCat pages. The name of each setting below corresponds with one +; or more indices defined in the WorldCat API (multiple values are separated by +; colons). The value of each setting is the text to display on screen. All +; on-screen text will be run through the translator, so be sure to update language +; files if necessary. The order of these settings will be maintained in the +; drop-down list in the UI. +; +; For a complete list of legal values, see the SRU Explain page here: +; http://worldcat.org/webservices/catalog/ +[Basic_Searches] +srw.kw = "All Fields" +srw.ti:srw.se = Title +srw.au:srw.pn:srw.cn = Author +srw.su = Subject +srw.dd:srw.lc = "Call Number" +srw.bn:srw.in = "ISBN/ISSN" + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +srw.kw = adv_search_all +srw.ti:srw.se = adv_search_title +srw.au:srw.pn:srw.cn = adv_search_author +srw.su = adv_search_subject +srw.dd:srw.lc = adv_search_callnumber +srw.bn:srw.in = adv_search_isn +srw.pb = adv_search_publisher +srw.se = adv_search_series +srw.yr = adv_search_year + +; This section defines the sort options available on WorldCat search results. +; Values on the left of the equal sign are WorldCat API sort values. Values +; on the right of the equal sign are text that will be run through the +; translation module and displayed on screen. +[Sorting] +relevance = sort_relevance +Date,,0 = sort_year +Date = "sort_year asc" +Author = sort_author +Title = sort_title diff --git a/module/VuFind/tests/fixtures/configs/1.1/XCNCIP.ini b/module/VuFind/tests/fixtures/configs/1.1/XCNCIP.ini new file mode 100644 index 0000000000000000000000000000000000000000..b6eff762c615dca418e7480f1d041be096a53d8e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/XCNCIP.ini @@ -0,0 +1,5 @@ +[Catalog] +; Base URL for the XC NCIP Toolkit: +url = http://myuniversity.edu:8080/NCIPToolkit/ +; Your library's Agency ID (ILSDefaultAgency setting in NCIPToolkit_config.xml): +agency = "My University" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/authority.ini b/module/VuFind/tests/fixtures/configs/1.1/authority.ini new file mode 100644 index 0000000000000000000000000000000000000000..bc804a322b91956d7cd08ddddcae9015fcbcd779 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/authority.ini @@ -0,0 +1,25 @@ +; This configuration file controls the Authority module; see facets.ini and +; searches.ini for detailed comments on the meaning of all settings. +[General] +default_handler = AllFields ; Search handler to use if none is specified +default_sort = relevance +case_sensitive_bools = true +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:authority + +[Basic_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Advanced_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Sorting] +relevance = sort_relevance +heading = "Heading" + +[Facets] +source = "Authority File" +record_type = "Record Type" diff --git a/module/VuFind/tests/fixtures/configs/1.1/authsearchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.1/authsearchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..530dba769b17536d66247f09dc1155194409bbb9 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/authsearchspecs.yaml @@ -0,0 +1,62 @@ +--- +# This file contains search specifications used by the authority module; for details +# on the workings of this file, see the comments in searchspecs.yaml. +#----------------------------------------------------------------------------------- + +AllFields: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + - allfields + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + - allfields: + - [onephrase, 50] + - [and, 10] + - [or, ~] + +Heading: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + +MainHeading: + DismaxFields: + - heading_keywords^750 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] diff --git a/module/VuFind/tests/fixtures/configs/1.1/config.ini b/module/VuFind/tests/fixtures/configs/1.1/config.ini new file mode 100644 index 0000000000000000000000000000000000000000..7e1aff3ce06fd0de141232dfdbce763cfb1b2e0b --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/config.ini @@ -0,0 +1,514 @@ +; +; VuFind Configuration +; + +; No changes are necessary in the System Section +[System] +available = true +debug = false + +; This section will need to be customized for your installation +; +; Note that you may set a comma-separated list of themes, i.e. MyUniversity,default +; This will first look for templates in the MyUniversity theme, then fail over to +; default if they are not found. This makes it easier to override a few templates +; without having to clone the entire theme. See this page for important notes on +; theme customization: +; http://www.vufind.org/wiki/customization +[Site] +path = /vufind +url = http://library.myuniversity.edu/vufind +local = /usr/local/vufind/web +email = support@myuniversity.edu +title = "Library Catalog" +theme = default +; Uncomment the following line to use a different theme for mobile devices +;mobile_theme = mobile +language = en ; default -- more options available in [Languages] below. +locale = en_US +; Find valid timezone values here: +; http://www.php.net/manual/en/timezones.php +timezone = "America/New_York" +; The base VuFind URL will load the "Home" action of this module unless the user +; is logged in: +defaultModule = Search +; The base VuFind URL will load the "Home" action of this module when the user +; is logged in: +defaultLoggedInModule = MyResearch +; This tab will show by default when a record is viewed: +defaultRecordTab= Holdings +; This page will show by default when a user accesses the MyResearch module: +defaultAccountPage = Favorites +; Allow access to the Admin module? (Potentially dangerous, since it allows editing +; of configuration files and deleting of records). +admin_enabled = false + +; This section allows you to configure the mechanism used for storing user +; sessions. Available types: FileSession, MemcacheSession, MySQLSession. +; Some of the settings below only apply to specific session handlers; +; such settings are named with an obvious prefix. Non-prefixed settings +; are global to all handlers. +[Session] +type = MySQLSession +lifetime = 3600 ; Session lasts for 1 hour +;file_save_path = /tmp/vufind_sessions +;memcache_host = localhost +;memcache_port = 11211 +;memcache_connection_timeout = 1 + +; Please set the ILS that VuFind will interact with. +; +; Available drivers: Aleph, Evergreen, Horizon, Innovative, Koha, NewGenLib, +; Unicorn, Virtua, Voyager, XCNCIP (for XC NCIP Toolkit) +; Note: Unicorn users should visit the vufind-unicorn project for more details: +; http://code.google.com/p/vufind-unicorn/ +; +; If you don't have an ILS, two fake drivers are available for testing purposes. +; "Sample" is fast but does very little; "Demo" simulates more functionality of +; a real ILS but may slow down your system by performing extra searches. +[Catalog] +driver = Sample + +; This section allows you to determine how the users will authenticate. +; You can use an LDAP directory, the local ILS, the VuFind database (DB), +; Shibboleth, or some combination of these (via the MultiAuth option). +[Authentication] +method = LDAP +;method = ILS +;method = DB +;method = Shibboleth +;method = MultiAuth + +; See the comments in web/sys/authn/MultiAuthAuthentication.php for full details +; on using multiple authentication methods. +;[MultiAuth] +;method_order = ILS,LDAP +;filters = "username:trim,password:trim" + +; This section will allow you to control whether vufind should record usage +; statistics. +[Statistics] +enabled = false +solr = http://localhost:8080/solr + +; This section requires no changes for most installations +[Index] +engine = Solr +url = http://localhost:8080/solr +local = /usr/local/vufind/solr +default_core = biblio + +; This section allows sharding to be used to pull in content from additional Solr +; servers. All servers used in sharding must contain the same index fields needed +; to satisfy queries sent to them AND they must all include different ID numbers! +; Leave this commented out to disable sharding. +; To use sharding, simply fill in lines using the format: +; [display name of shard] = [URL of shard (without http://)] +;[IndexShards] +;Library Catalog = localhost:8080/solr/biblio +;Website = localhost:8080/solr/website + +; This section allows you to set preferences for shards display. You only need to +; set these if you want to use shards. See also the [StripFacets] section of +; facets.ini and the [StripFields] section of searches.ini if your shards have +; non-identical schemas. +;[ShardPreferences] +; This setting controls whether or not to display checkboxes to allow the user to +; select which shard(s) to search (default if commented out = false) +;showCheckboxes = true +; These lines determine which shards are searched by default if the user hasn't +; specified preferences using checkboxes (default if commented out = all shards): +;defaultChecked[] = "Library Catalog" +;defaultChecked[] = "Website" + +; This section requires no changes for most installations; if your SMTP server +; requires authentication, you can fill in a username and password below. +[Mail] +host = localhost +port = 25 +;username = user +;password = pass + +; This section needs to be changed to match your installation path +; and database connection information +[Database] +database = mysql://root@localhost/vufind +schema_location = /usr/local/vufind/web/conf +class_location = /usr/local/vufind/web/services/MyResearch/lib +require_prefix = +class_prefix = +quote_identifiers = 1 +debug = 0 + +; LDAP is optional. This section only needs to exist if the +; Authentication Method is set to LDAP. When LDAP is active, +; host, port, basedn and username are required. The remaining +; settings are optional, mapping fields in your LDAP schema +; to fields in VuFind's database -- the more you fill in, the more +; data will be imported from LDAP into VuFind. +[LDAP] +host = ldap.myuniversity.edu +port = 389 +basedn = "o=myuniversity.edu" +username = uid +firstname = givenname +lastname = sn +email = mail +cat_username = +cat_password = +college = studentcollege +major = studentmajor +; If you need to bind to LDAP with a particular account before +; it can be searched, you can enter the necessary credentials +; here. If this extra security measure is not needed, leave +; these settings commented out. +;bind_username = "uid=username o=myuniversity.edu" +;bind_password = password + +; SIP2 is optional. This section only needs to exist if the +; Authentication Method is set to SIP2. +;[SIP2] +;host = ils.myuniversity.edu +;port = 6002 + +; Shibboleth is optional. This section only needs to exist if the +; Authentication Method is set to Shibboleth. +;[Shibboleth] +;userattribute_1 = entitlement +;userattribute_value_1 = urn:mace:dir:entitlement:common-lib-terms +;userattribute_2 = unscoped-affiliation +;userattribute_value_2 = member +;username = persistent-id +;login = https://shib.myuniversity.edu/Shibboleth.sso/Login +;target = http://shib.myuniversity.edu/vufind/MyResearch/Home +;provider_id = https://idp.example.edu/shibboleth-idp + +; 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. +; +; IMPORTANT: Review content providers' terms of service before turning them on. +; Terms may change, and not all content sources are appropriate for all +; applications. The existence of functionality in VuFind does not imply +; suitability for any particular situation. +[Content] +; You can select from Syndetics, LibraryThing, Summon, Amazon, OpenLibrary, +; Contentcafe or Google Books. Note that the Summon service takes a Serials +; Solutions client key, NOT a Summon API key! +;coverimages = Syndetics:MySyndeticsId,Amazon:MyAccessKeyId,LibraryThing:MyLibraryThingId,Google,OpenLibrary,Summon:MySerialsSolutionsClientKey,Contentcafe:MyContentCafeID +; This setting controls the image to display when no book cover is available. +; The path is relative to web subdirectory of the VuFind install directory: +noCoverAvailableImage = images/noCover2.gif +; You can select from Syndetics, Amazon Editorial, Amazon or the Guardian +; Note: Guardian reviews contain embedded advertisements. If the API key is not +; supplied, e.g. "Guardian:", only the review title, byline, Guardian logo +; and a link to the full Guardian page will be displayed +;reviews = Syndetics:MySyndeticsId,AmazonEditorial:MyAccessKeyId,Amazon:MyAccessKeyId,Guardian:MyGuardianKeyId +; You can select from Syndetics +;excerpts = Syndetics:MySyndeticsId +; You can select from Wikipedia +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 select from Google, OpenLibrary, HathiTrust. You should consult +; http://code.google.com/apis/books/branding.html before using Google Book Search. +; previews = Google,OpenLibrary,HathiTrust + +; You can change the base Syndetics URL used by the content services here. Most +; users will not need to change this setting. +[Syndetics] +url = "http://syndetics.com" + +; You can change the base Content Cafe URL used by the content services here. Most +; users will not need to change this setting. You also need to set your password, +; "pw". Note that Content Cafe is a subscription service from Baker & Taylor. +[Contentcafe] +url = "http://contentcafe2.btol.com" +pw = "Password" + +; Web Search is Optional. The Web Search is powered by Google. +; To use enter your Google Web Search key and the domain the of your library +; website. +; The side_recommend setting is used to load recommendations modules; see +; searches.ini for a list of options (though not all will work in this context). +; You can set it to false if you do not want to display any recommendations. +;[GoogleSearch] +;key = MyGoogleSearchKey +;domain = library.myuniversity.edu +;side_recommend[] = CatalogResults:lookfor + +; Summon is Optional. See also the separate Summon.ini file. +;[Summon] +;apiId = myAccessId +;apiKey = mySecretKey + +; WorldCat is Optional. Worldcat offers extra features such as "Other Editions" +; and the WorldCat searching. +;[WorldCat] +;id = myAccount +;apiKey = ApiKey +;OCLCCode = MYCODE +;LimitCodes = Comma separated list of OCLC Codes + +; These settings affect OpenURL generation and presentation; OpenURLs are used to +; help users find resources through your link resolver and to manage citations in +; Zotero. +[OpenURL] +; If a resolver base URL is enabled, it will be used to link ISSNs to your link +; resolver and to access articles in Summon if that module is enabled. Earlier +; versions of VuFind included some parameters as part of the URL; at this point, +; any extra parameters will be ignored -- please provide only the base URL. +;url = "http://openurl.myuniversity.edu/sfx_local" + +; This string will be included as part of your OpenURL referer ID (the full string +; will be "info:sid/[your rfr_id setting]:generator"). You may be able to configure +; special behavior in your link resolver based on this ID -- for example, you may +; wish to prevent the resolver from linking to VuFind when links came from VuFind +; (to avoid putting a user in an infinite loop). +rfr_id = vufind.svn.sourceforge.net + +; By specifying your link resolver type, you can allow VuFind to optimize its +; OpenURLs for a particular platform. Current legal values: "sfx", "360link" +; or "other" (default is "other" if commented out). +;resolver = sfx + +; If you want OpenURL links to open in a new window, set this setting to the +; desired Javascript window.open parameters. If you do not want a new window +; to open, set this to false or comment it out. +window_settings = "toolbar=no,location=no,directories=no,buttons=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=600" + +; 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. +; graphic = "http://myuniversity.edu/images/findIt.gif" +; graphic_width = 50 +; graphic_height = 20 + +; The following settings control where OpenURL links are displayed: +show_in_results = true ; include in search results +show_in_record = false ; include in core record metadata +show_in_holdings = false ; include in holdings tab of record view + +; If set to true, this setting will attempt to embed results from the link +; resolver directly in search results instead of opening a new window or page. +; This will override the window_settings option if set! Embedding is currently +; supported only when the resolver setting above is set to "sfx" or "360link". +embed = false + +; When embed is true, you can set this to an absolute path on your system in order +; to cache link resolver results to disk. Be sure that the chosen directory has +; appropriate permissions set! Leave the setting commented out to skip caching. +; Note that the contents of this cache will not be expired by VuFind; you should +; set up an external process like a cron job to clear out the directory from time +; to time. +;resolver_cache = /usr/local/vufind/resolver_cache + +; This setting controls whether we should display an OpenURL link INSTEAD OF other +; URLs associated with a record (true) or IN ADDITION TO other URLs (false). +replace_other_urls = true + +; EZproxy is optional. This section only needs to exist if you +; are using EZProxy to provide off-site access to online materials. +;[EZproxy] +;host = http://proxy.myuniversity.edu + +; These settings affect RefWorks record exports. They rarely need to be changed. +[RefWorks] +vendor = VuFind +url = http://www.refworks.com + +; These settings affect your OAI server if you choose to use it. +; +; If identifier is set, its value will be used as part of the standard OAI +; identifier prefix. It should only ever be set to a domain name that you +; control! If it is not set, your ID values will not be prefixed. +; +; If admin_email is not set, the main email under [Site] will be used instead. +; +; If set_field is set, the named Solr field will be used to generate sets on +; your OAI-PMH server. If it is not set, sets will not be supported. +;[OAI] +;identifier = myuniversity.edu +;repository_name = "MyUniversity Catalog" +;admin_email = oai@myuniversity.edu +;set_field = "format" + +; Proxy Server is Optional. +[Proxy] +;host = your.proxy.server +;port = 8000 + +; Spelling Suggestions +; +; Note: These settings affect the VuFind side of spelling suggestions; you +; may also wish to adjust some Solr settings in solr/biblio/conf/schema.xml +; and solr/biblio/conf/solrconfig.xml. +[Spelling] +enabled = true +; Number of suggestions to display on screen. This list is filtered from +; the number set in solr/biblio/conf/solrconfig.xml so they can differ. +limit = 3 +; Show the full modified search phrase on screen +; rather then just the suggested word +phrase = false +; Offer expansions on terms as well as basic replacements +expand = true +; Turning on 'simple' spell checking will improve performance, +; by ignoring the more complicated 'shingle' (mini phrases) +; based dictionary. +simple = false +; This setting skips spell checking for purely numeric searches; spelling +; suggestions on searches for ISBNs and OCLC numbers are not generally very +; useful. +skip_numeric = true + +; These settings control what events are logged and where the information is +; stored. +; +; VuFind currently supports four logging levels: alert (severe fatal error), +; error (fatal error), notice (non-fatal warning) and debug (informational). +; +; Each logging level can be further broken down into five levels of verbosity. +; You can specify the desired level by adding a dash and a number after the +; level in the configuration string -- for example, alert-2 or error-5. +; The higher the number, the more detailed the logging messages. If verbosity +; is not specified, it defaults to 1 (least detailed). +; +; Several logging methods are available, and each may be configured to log any +; combination of levels. +; +; You may enable multiple logging mechanisms if you want -- in fact, it is +; recommended, since the failure of one logging mechanism (i.e. database down, +; file system full) may then be reported to another. +; +; If database is uncommented, messages will be logged to the named MySQL table. +; The table can be created with this SQL statement: +; CREATE TABLE log_table ( id INT NOT NULL, logtime TIMESTAMP NOT NULL, +; ident CHAR(16) NOT NULL, priority INT NOT NULL, message TEXT, +; PRIMARY KEY (id) ); +; +; If file is uncommented, messages will be logged to the named file. Be sure +; that Apache has permission to write to the specified file! +; +; If email is uncommented, messages will be sent to the provided email address. +; Be careful with this setting: a flood of errors can easily bog down your mail +; server! +[Logging] +;database = log_table:alert,error,notice,debug +; NOTE : Windows users should avoid drive letters (eg. c:\vufind) because +; the colon will be used in the string parsing. "/vufind" will work +;file = /usr/local/vufind/messages.log:alert,error,notice,debug +;email = alerts@myuniversity.edu:alert-5,error-5 + +; This section helps VuFind access additional configuration settings used in +; specific areas of the code. +[Extra_Config] +facets = facets.ini ; settings affecting faceting in UI +searches = searches.ini ; search definitions and preferences +Summon = Summon.ini ; extra Summon configuration details +WorldCat = WorldCat.ini ; extra WorldCat configuration details +sms = sms.ini ; SMS carriers configuration details + +; If you uncomment the following lines, any settings you create in a file +; called config.local.ini will override the defaults found in config.ini. +; This is an advanced feature; basic users should edit config.ini directly. +;local_overrides = config.local.ini + +; This section controls which language options are available to your users. +; If you offer more than one option, a control will appear in the user +; interface to allow user selection. If you only activate one language, +; the control will be hidden. +; +; The name of each setting below (i.e. en, de, fr) is a language code and +; corresponds with one of the translation files found in the web/lang +; directory. The value of each setting is the on-screen name of the language, +; and will itself be subject to translation through the language files! +; +; The order of the settings is significant -- they will be displayed on screen +; in the same order they are defined here. +; +; Be sure that this section includes the default language set in the [Site] +; section above. +[Languages] +en = "English" +de = "German" +es = "Spanish" +fr = "French" +it = "Italian" +ja = "Japanese" +nl = "Dutch" +pt-br = "Brazilian Portugese" +zh-cn = "Simplified Chinese" +zh = "Chinese" +tr = "Turkish" +he = "Hebrew" +ga = "Irish" + +; This section controls the behavior of the Browse module. The result_limit +; setting controls the maximum number of results that may display in any given +; result box on the Browse screen. You can set to -1 for no limit; however, +; setting a very high (or no) limit may result in "out of memory" errors if you +; have a large index! +[Browse] +result_limit = 100 +tag = true ; allow browsing of Tags +dewey = false ; allow browsing of Dewey Decimal call numbers +lcc = true ; allow browsing of LC call numbers +author = true ; allow browsing of authors +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 + +; This section controls which record export methods are displayed on the Record +; view screen. Note that some options may be disabled for records that do not +; support them, regardless of the setting chosen here. +[Export] +RefWorks = true +EndNote = true +MARC = false +RDF = false + +; This section controls whether or not display the bulk export options and which +; options to display. Valid methods are EndNote and MARC - The method must also +; be enabled in Export (above) or it will not be displayed. +[BulkExport] +enabled = true +options = MARC:EndNote + +;AddThis is optional. It uses the Add This tool available from www.addthis.com +; and requires the username generated when an analytics account is registered. +;[AddThis] +;key = yourUsername + +; This section controls how item status information is presented in search results. +[Item_Status] +; Usually, there is only one location or call number for each item; however, when +; multiple values are found, there are three possible behaviors: +; first = display the first value found, ignore the rest +; all = show all of the values found, separated by commas +; msg = show a message like "Multiple Call Numbers" or "Multiple Locations" +multiple_call_nos = first +multiple_locations = msg + +; This section controls the behavior of the Record module. +[Record] +; Set this to true in order to enable "next" and "previous" links to navigate +; through the current result set from within the record view. +next_prev_navigation = false + +; The following two sections control the Alphabetic Browse module. +[AlphaBrowse] +; This setting controls how many headings are displayed on each page of results: +page_size = 20 + +; This section controls the order and content of the browse type menu in the +; Alphabetic Browse module. The key is the browse index to use, the value is the +; string to display to the user (subject to translation). +[AlphaBrowse_Types] +topic = "By Topic" +author = "By Author" +title = "By Title" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/facets.ini b/module/VuFind/tests/fixtures/configs/1.1/facets.ini new file mode 100644 index 0000000000000000000000000000000000000000..54ed947d786efc2d7202a1d0aae28ab220ffe5c3 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/facets.ini @@ -0,0 +1,92 @@ +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +[Results] +institution = Institution +building = Library +format = Format + +; Use callnumber-first for LC call numbers, dewey-hundreds for Dewey Decimal: +callnumber-first = "Call Number" +;dewey-hundreds = "Call Number" + +authorStr = Author +language = Language +genre_facet = Genre +era_facet = Era +geographic_facet = Region +publishDate = "adv_search_year" ; share year string w/advanced search page + +; Facets that will appear at the top of search results when the TopFacets +; recommendations module is used. See the [TopRecommendations] section of +; searches.ini for more details. +[ResultsTop] +topic_facet = "Suggested Topics" + +; Facets must be stripped if you have a facet in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the facets to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFacets] + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = publishDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +; +; Leave the section empty if you do not need checkbox facets. +; +; NOTE: Do not create CheckboxFacets using values that also exist in the +; other facet sections above -- this will not work correctly. +[CheckboxFacets] +;edition:1st* = "First Edition" ; Contrived hypothetical example + +; These settings affect the way the [Results] facets are displayed +; If using facets at the top of search results you have more room for text. +[Results_Settings] +facet_limit = 30 ; how many values should we show for each facet? +; Rows and columns for table used by top facets +top_rows = 2 +top_cols = 3 + +; The author home screen has different facets +[Author] +topic_facet = "Related Subjects" + +; These facets will be displayed as limiters on the advanced search search screen +[Advanced] +callnumber-first = "Call Number" +language = Language +format = Format + +; These settings affect the way the [Advanced] facets are displayed +[Advanced_Settings] +facet_limit = 100 ; how many values should we show for each facet? + +; The facets listed under the [Advanced] section above will be used as limiters on +; the advanced search screen and will be displayed uniformly as multi-select boxes. +; Some facet types don't lend themselves to this format, and they can be turned on +; by inclusion in the comma-separated list below, or turned off by being excluded. +; Currently, just two values are supported: "illustrated", for the "illustrated/not +; illustrated" radio button limiter and "daterange" for the publication year range +; control. +special_facets = "illustrated,daterange" + +; Any facets named in the list below will have their values run through the +; translation code; unlisted facets will displayed as-is without translation. For +; translated facets, be sure that all of the necessary strings are included in the +; language files found in the web/lang directory. By default, no facets are +; translated -- uncomment or add lines below to turn on this feature. +;translated_facets[] = institution +;translated_facets[] = building +translated_facets[] = format \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.1/fulltext.ini b/module/VuFind/tests/fixtures/configs/1.1/fulltext.ini new file mode 100644 index 0000000000000000000000000000000000000000..c9bad66037a731c8d2fde991d9c175f02da3196b --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/fulltext.ini @@ -0,0 +1,13 @@ +; This file contains settings used for full text indexing. See the documentation +; on the XSLT import tool for more details: +; http://vufind.org/wiki/importing_records#importing_with_xslt + +; Aperture is a Java tool for extracting full text from documents. It is not +; included with VuFind by default, but it can be downloaded here: +; http://aperture.sourceforge.net/ +; VuFind's Aperture code was tested with version 1.5.0 of the package. +[Aperture] +; Once you have installed Aperture, uncomment one of the following two lines +; and fill in the appropriate path to take advantage of it. +;webcrawler = "/usr/local/aperture/bin/webcrawler.sh" ; Linux +;webcrawler = "c:\aperture\bin\webcrawler.bat" ; Windows diff --git a/module/VuFind/tests/fixtures/configs/1.1/searches.ini b/module/VuFind/tests/fixtures/configs/1.1/searches.ini new file mode 100644 index 0000000000000000000000000000000000000000..81805fd1434f9e76e5f444ad02bc3248ba6df37f --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/searches.ini @@ -0,0 +1,305 @@ +; This section contains global settings affecting search behavior. +[General] +default_handler = AllFields ; Search handler to use if none is specified + +; This setting controls the default sort order of search results if no search- +; specific setting was present in the [DefaultSortingByType] section below; the +; selected option should be one of the options present in the [Sorting] section +; below. +default_sort = relevance + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; If this setting is true, range operators in searches ([a TO b] or {a TO b}) +; will only be recognized if the word "TO" is ALL UPPERCASE. Additionally, the +; edges of the range may be treated in a case sensitive manner. If set to false, +; ranges will be recognized regardless of case -- this will allow better matching +; at the cost of a bit of extra server-side processing. +case_sensitive_ranges = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +default_top_recommend[] = TopFacets:ResultsTop +default_side_recommend[] = SideFacets:Results:CheckboxFacets + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results. +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; a keyword match is found in a field that is not normally displayed as part of +; the listing. For finer control over which fields are used for snippets, see +; the record driver code (web/RecordDrivers/IndexRecord.php). +; +; For control over snippet captions, see the [Snippet_Captions] section below. +snippets = true + +; This section shows which search types will display in the basic search box at +; the top of most pages. The name of each setting below corresponds with a +; search handler (either DisMax or from conf/searchspecs.yaml). The value of +; each setting is the text to display on screen. All on-screen text will be run +; through the translator, so be sure to update language files if necessary. The +; order of these settings will be maintained in the drop-down list in the UI. +; +; Note: The search type of "tag" is a special case that gets handled differently +; because tags are not stored in the same index as everything else. Treat +; this as a reserved word if you create your own custom search handlers. +[Basic_Searches] +AllFields = "All Fields" +Title = Title +;JournalTitle = "Journal Title" +Author = Author +Subject = Subject +CallNumber = "Call Number" +ISN = "ISBN/ISSN" +tag = Tag + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +;JournalTitle = adv_search_journaltitle +Author = adv_search_author +Subject = adv_search_subject +CallNumber = adv_search_callnumber +ISN = adv_search_isn +publisher = adv_search_publisher +Series = adv_search_series +year = adv_search_year +toc = adv_search_toc + +; This section defines the sort options available on standard search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Solr index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. To allow secondary +; sorting, you may include a comma-separated list of options (for example, +; "year desc,title asc"), but this list may NOT include the special "relevance" +; value. Values on the right of the equal sign are text that will be run +; through the translation module and displayed on screen. +; +; Note: "year", "author" and "title" are special shortcut aliases for the +; "publishDate", "authorStr" and "title_sort" Solr fields; you can use +; either form in this file. +[Sorting] +relevance = sort_relevance +year = sort_year +year asc = "sort_year asc" + +; Use the "callnumber" line for LC or the "dewey-sort" line for Dewey Decimal. +; If you want to enable both systems for sorting, you can uncomment both lines, +; but you will need to add some custom text to distinguish between the two. +callnumber = sort_callnumber +;dewey-sort = sort_callnumber + +author = sort_author +title = sort_title + +; This section allows you to specify the default sort order for specific types of +; searches. Each key in this section should correspond with a key in the +; [Basic_Searches] section above. Each value should correspond with a key in the +; [Sorting] section above. Any search type that is not listed here will be sorted +; using the default_sort setting in the [General] section above. +[DefaultSortingByType] +CallNumber = callnumber + +; Each search type defined in searchspecs.yaml can have one or more "recommendations +; modules" associated with it in the following sections. These plug-ins will cause +; boxes of suggestions to appear beside (in [SideRecommendations]) or above (in +; [TopRecommendations]) the search results. You can repeat the line to display a +; series of recommendations boxes in a particular section -- just be sure to include +; brackets ("[]") after the search type name. If you do not want recommendations +; for a particular search type, set the value to "false" in either or both sections. +; Any search types not listed here will use the default value -- see the +; default_top_recommend and default_side_recommend settings in the [General] +; section above. It is legal to set the default options to false if you want no +; default value. +; +; Available modules recommended for use in the side area: +; +; CatalogResults:[GET parameter]:[result limit] +; Display catalog search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). This is designed for use with non-catalog modules. +; ExpandFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." Rather than using +; facets to limit the existing search, this module uses them to start a new +; search showing all records matching the selected facet value. +; SideFacets:[regular facet section]:[checkbox facet section]:[ini name] +; Display the specified facets, where [ini name] is the name of an ini file +; in web/conf (defaults to "facets" if not supplied), [regular facet section] +; is the name of a section of the ini file containing standard facet settings +; (defaults to "Results" if not specified), and [checkbox facet section] is +; the name of a section of the ini file containing checkbox facet settings +; (leave blank for no checkbox facets). +; SummonDatabases:[GET parameter] +; Display Summon-generated database recommendations matching the terms found +; in the specified GET parameter. NOTE: If you are using this module with a +; Summon search, the [GET parameter] setting will be ignored and the actual +; current Summon search will be used instead. The parameter only needs to be +; specified when combining this module with a non-Summon-based search module. +; SummonResults:[GET parameter]:[result limit] +; Display Summon search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). +; +; Available modules recommended for use in the top area: +; +; AuthorFacets +; Display author names based on the search term. +; TopFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." +; WorldCatIdentities +; Use the WorldCat Identities API to find names and related subjects based +; on the current search. +; WorldCatTerms +; Use the WorldCat Terminologies API to find Library of Congress Subject +; Headings related to the current search. +; OpenLibrarySubjects:[GET parameter]:[limit]:[date filter]:[Subject types] +; Display full-text, public scans from the Open Library (OL) Subjects API. +; [GET parameter] (default = "lookfor"), [limit] (default = 5), +; [date filter] The name of a date filter (from facet settings) to apply to +; searches. Defaults to "publishDate" if blank; set to "false" to disable. +; [Subject types] (default = "topic") comma-separated list of subject types to +; test. Open Library distinguishes between the following subject types: +; topic,place,person,time +; Note: an API call will be made for each type until valid data is returned +; which will slow down the loading of the main VuFind result set, +; see OpenLibrarySubjectsDeferred +; OpenLibrarySubjectsDeferred:[GET parameter]:[limit]:[date filter]:[Subject types] +; The same as OpenLibrarySubjects but uses AJAX to make the API calls after the +; main result set has loaded +; +; You can build your own recommendations modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/building_a_recommendations_module +[SideRecommendations] +; No search-specific settings by default -- add your own here. +;Subject[] = SideFacets +;Subject[] = OpenLibrarySubjectsDeferred:lookfor:5:true:topic,place,person,time + +[TopRecommendations] +Author[] = AuthorFacets +;Author[] = WorldCatIdentities +;Subject[] = WorldCatTerms + +; These settings control the top and side recommendations within the special Author +; module (the page accessed by clicking on an author's name within the search +; results). The Author module ignores the default_top_recommend and +; default_side_recommend settings and only uses this section. +[AuthorModuleRecommendations] +;top[] = TopFacets:ResultsTop +;side[] = SideFacets:Results:CheckboxFacets +side[] = "ExpandFacets:Author" + +; This section controls the "New Items" search. +[NewItem] +; Comma-separated list of date ranges to offer to the user (i.e. 1,5,30 = one day +; old, or five days old, or thirty days old). Be careful about raising the maximum +; age too high -- searching very long date ranges may put a load on your ILS. +ranges = 1,5,30 +; This setting controls the maximum number of pages of results that will show up +; when doing a new item search. It is necessary to limit the number of results to +; avoid getting a "too many boolean clauses" error from the Solr index (see notes +; at http://vufind.org/jira/browse/VUFIND-128 for more details). However, if you +; set the value too low, you may get the same results no matter which range setting +; is selected! +result_pages = 10 +; This setting can be used to automatically apply filter queries to the New Item +; results. For example, you might want to filter out certain content types. You +; can add multiple filters by repeating the "filter[] =" line, or you can skip +; filtering entirely by leaving the line commented out. +; filter[] = "format:Book" + +; This section controls RSS feed behavior +[RSS] +; If set, this setting will override sort settings associated with RSS feeds. This +; allows you to ensure that newly added or changed items in your index appear at +; the top of the feed. Use "first_indexed desc" if you only want newly-added items +; to be listed first. Use "last_indexed desc" if you want newly-added-or-changed +; items. Comment out the whole setting if you do not want custom RSS sorting. +; IMPORTANT: In order for first_indexed and last_indexed sorting to work properly, +; you need to index record change dates; see the Wiki page at +; http://vufind.org/wiki/tracking_record_changes +sort = "last_indexed desc" + +; The following two sections control the behavior of the autocomplete drop-downs +; associated with search boxes. The [Autocomplete] section contains global default +; settings, while the [Autocomplete_Types] section allows you to associate different +; autocomplete handlers with different search handlers. +; +; The available autocomplete handlers are: +; +; NoAutocomplete +; Do not provide any suggestions. You should use this handler if you want to +; disable suggestions for one search type while still providing suggestions +; for other search types. To disable suggestions completely, it is better to +; use the "enabled" setting in the [Autocomplete] section. +; SolrAuthAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; See SolrAutocomplete below -- this handler behaves exactly the same, except +; it uses the Solr authority data index rather than the bibliographic index, +; and its default [Display Field] value is "heading". +; SolrAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; Perform a wildcarded search against [Search Handler], using the contents of +; [Display Field] (a comma-separated, priority-ordered field list) as +; suggestions and sorting by [Sort Field]. Any additional parameters at the +; end of the string are treated as an alternating sequence of field names and +; values for use as filters against the suggestion list. All parameters are +; optional. If omitted, [Search Handler] will use the default Solr field, +; [Display Field] will use "title", [Sort Field] will use relevance and no +; filters will be applied. +; SolrCNAutocomplete +; A customized version of SolrAutocomplete designed for smart handling of +; call numbers using the custom CallNumber search handler. +; TagAutocomplete +; Provide suggestions from the local database of tags. +; +; You can build your own autocomplete modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/autocomplete +[Autocomplete] +; Set this to false to disable all autocomplete behavior +enabled = true +; This handler will be used for all search types not covered by [Autocomplete_Types] +default_handler = SolrAutocomplete + +; In this section, set the key equal to a search handler from searchspecs.yaml and +; the value equal to an autocomplete handler in order to customize autocompletion +; behavior when that search type is selected. +[Autocomplete_Types] +Title = "SolrAutocomplete:Title" +JournalTitle = "SolrAutocomplete:JournalTitle" +Author = "SolrAutocomplete:Author:author,author2" +Subject = "SolrAutocomplete:Subject:topic,genre,geographic,era" +CallNumber = "SolrCNAutocomplete" +ISN = "SolrAutocomplete:ISN:isbn,issn" +tag = "TagAutocomplete" + +; When snippets are enabled, this section can be used to display captions based on +; the Solr fields from which the snippets were obtained. Keys are the names of Solr +; fields and values are strings to display to the user. Note that all displayed +; strings are subject to translation and should be accounted for in the language +; files found in web/lang if you are in a multilingual environment. Fields that are +; not listed in this section will be displayed without captions, so you can comment +; out the whole section to disable captions. +[Snippet_Captions] +author2 = "Other Authors" +contents = "Table of Contents" +topic = "Subjects" + +; Fields must be stripped if you have a field in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the fields to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFields] diff --git a/module/VuFind/tests/fixtures/configs/1.1/searchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.1/searchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9fcada5f71154247351f536778da21b0a6e2b843 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/searchspecs.yaml @@ -0,0 +1,464 @@ +--- +# Listing of search types and their component parts and weights. +# +# Format is: +# searchType: +# # CustomMunge is an optional section to define custom pre-processing of +# # user input. See below for details of munge actions. +# CustomMunge: +# MungeName1: +# - [action1, actionParams] +# - [action2, actionParams] +# - [action3, actionParams] +# MungeName2: +# - [action1, actionParams] +# # DismaxFields is optional and defines the fields sent to the Dismax handler +# # when we are able to use it. QueryFields will be used for advanced +# # searches that Dismax cannot support. QueryFields is always used if no +# # DismaxFields section is defined. +# DismaxFields: +# - field1^boost +# - field2^boost +# - field3^boost +# # DismaxParams is optional and allows you to override default Dismax settings +# # (i.e. mm / bf) on a search-by-search basis. If you want global default +# # values for these settings, you can edit the "dismax" search handler in +# # solr/biblio/conf/solrconfig.xml. +# DismaxParams: +# - [param1_name, param1_value] +# - [param2_name, param2_value] +# - [param3_name, param3_value] +# # QueryFields define the fields we are searching when not using Dismax +# QueryFields: +# - SolrField: +# - [howToMungeSearchstring, weight] +# - [differentMunge, weight] +# - DifferentSolrField: +# - [howToMunge, weight] +# # The optional FilterQuery section allows you to AND a static query to the +# # dynamic query generated using the QueryFields; see JournalTitle below +# # for an example. This is applied whether we use DismaxFields or +# # QueryFields. +# FilterQuery: (optional Lucene filter query) +# +# ...etc. +# +#----------------------------------------------------------------------------------- +# +# Within the QueryFields area, fields are OR'd together, unless they're in an +# anonymous array, in which case the first element is a two-value array that tells +# us what the type (AND or OR) and weight of the whole group should be. +# +# So, given: +# +# test: +# QueryFields: +# - A: +# - [onephrase, 500] +# - [and, 200] +# - B: +# - [and, 100] +# - [or, 50] +# # Start an anonymous array to group; first element indicates AND grouping +# # and a weight of 50 +# - +# - [AND, 50] +# - C: +# - [onephrase, 200] +# - D: +# - [onephrase, 300] +# # Note the "not" attached to the field name as a minus, and the use of ~ +# # to mean null ("no special weight") +# - -E: +# - [or, ~] +# - D: +# - [or, 100] +# +# ...and the search string +# +# test "one two" +# +# ...we'd get +# +# (A:"test one two"^500 OR +# A:(test AND "one two")^ 200 OR +# B:(test AND "one two")^100 OR +# B:(test OR "one two")^50 +# ( +# C:("test one two")^200 AND +# D:"test one two"^300 AND +# -E:(test OR "one two") +# )^50 OR +# D:(test OR "one two")^100 +# ) +# +#----------------------------------------------------------------------------------- +# +# Munge types are based on the original Solr.php code, and consist of: +# +# onephrase: eliminate all quotes and do it as a single phrase. +# testing "one two" +# ...becomes ("testing one two") +# +# and: AND the terms together +# testing "one two" +# ...becomes (testing AND "one two") +# +# or: OR the terms together +# testing "one two" +# ...becomes (testing OR "one two") +# +# Additional Munge types can be defined in the CustomMunge section. Each array +# entry under CustomMunge defines a new named munge type. Each array entry under +# the name of the munge type specifies a string manipulation operation. Operations +# will be applied in the order listed, and different operations take different +# numbers of parameters. +# +# Munge operations: +# +# [append, text] - Append text to the end of the user's search string +# [lowercase] - Convert string to lowercase +# [preg_replace, pattern, replacement] - Perform a regular expression replace +# using the preg_replace() PHP function +# [uppercase] - Convert string to uppercase +# +# See the CallNumber search below for an example of custom munging in action. +#----------------------------------------------------------------------------------- + +# These searches use Dismax when possible: +Author: + DismaxFields: + - author^100 + - author_fuller^50 + - author2 + - author_additional + QueryFields: + - author: + - [onephrase, 350] + - [and, 200] + - [or, 100] + - author_fuller: + - [onephrase, 200] + - [and, 100] + - [or, 50] + - author2: + - [onephrase, 100] + - [and, 50] + - [or, ~] + - author_additional: + - [onephrase, 100] + - [and, 50] + - [or, ~] + +ISN: + DismaxFields: + - isbn + - issn + QueryFields: + - issn: + - [and, 100] + - [or, ~] + - isbn: + - [and, 100] + - [or, ~] + +Subject: + DismaxFields: + - topic_unstemmed^150 + - topic^100 + - geographic^50 + - genre^50 + - era + QueryFields: + - topic_unstemmed: + - [onephrase, 350] + - [and, 150] + - [or, ~] + - topic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - geographic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - genre: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - era: + - [and, 100] + - [or, ~] + +JournalTitle: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + FilterQuery: "format:Journal" + +Title: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + +Series: + DismaxFields: + - series^100 + - series2 + QueryFields: + - series: + - [onephrase, 500] + - [and, 200] + - [or, 100] + - series2: + - [onephrase, 50] + - [and, 50] + - [or, ~] + +AllFields: + DismaxFields: + - title_short^750 + - title_full_unstemmed^600 + - title_full^400 + - title^500 + - title_alt^200 + - title_new^100 + - series^50 + - series2^30 + - author^300 + - author_fuller^150 + - contents^10 + - topic_unstemmed^550 + - topic^500 + - geographic^300 + - genre^300 + - allfields_unstemmed^10 + - fulltext_unstemmed^10 + - allfields + - fulltext + QueryFields: + - + - [OR, 50] + - title_short: + - [onephrase, 750] + - title_full_unstemmed: + - [onephrase, 600] + - [and, 500] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + series: + - [and, 50] + series2: + - [and, 30] + author: + - [onephrase, 300] + - [and, 250] + author_fuller: + - [onephrase, 150] + - [and, 125] + author2: + - [and, 50] + author_additional: + - [and, 50] + contents: + - [and, 10] + topic_unstemmed: + - [onephrase, 550] + - [and, 500] + topic: + - [onephrase, 500] + geographic: + - [onephrase, 300] + genre: + - [onephrase, 300] + allfields_unstemmed: + - [or, 10] + fulltext_unstemmed: + - [or, 10] + allfields: + - [or, ~] + fulltext: + - [or, ~] + +# These are advanced searches that never use Dismax: +id: + QueryFields: + - id: + - [onephrase, ~] + +# Fields for exact matches originating from alphabetic browse +ids: + QueryFields: + - id: + - [or, ~] + +TopicBrowse: + QueryFields: + - topic_browse: + - [onephrase, ~] + +AuthorBrowse: + QueryFields: + - author_browse: + - [onephrase, ~] + +TitleBrowse: + QueryFields: + - title_full: + - [onephrase, ~] + + +CallNumber: + # We use two similar munges here -- one for exact matches, which will get + # a very high boost factor, and one for left-anchored wildcard searches, + # which will return a larger number of hits at a lower boost. + CustomMunge: + callnumber_exact: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + callnumber_fuzzy: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + # Ensure we have just one trailing asterisk. The trailing space inside + # the quotes has no effect on searching; it is a workaround for a + # Horde::YAML parsing glitch -- see VUFIND-160 in JIRA for details. + - [append, "* "] + QueryFields: + - callnumber: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + - dewey-full: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + +publisher: + QueryFields: + - publisher: + - [and, 100] + - [or, ~] + +year: + QueryFields: + - publishDate: + - [and, 100] + - [or, ~] + +language: + QueryFields: + - language: + - [and, ~] + +toc: + QueryFields: + - contents: + - [and, 100] + - [or, ~] + +topic: + QueryFields: + - topic: + - [and, 50] + - topic_facet: + - [and, ~] + +geographic: + QueryFields: + - geographic: + - [and, 50] + - geographic_facet: + - [and ~] + +genre: + QueryFields: + - genre: + - [and, 50] + - genre_facet: + - [and, ~] + +era: + QueryFields: + - era: + - [and, ~] + +oclc_num: + CustomMunge: + oclc_num: + - [preg_replace, "/[^0-9]/", ""] + # trim leading zeroes: + - [preg_replace, "/^0*/", ""] + QueryFields: + - oclc_num: + - [oclc_num, ~] diff --git a/module/VuFind/tests/fixtures/configs/1.1/sitemap.ini b/module/VuFind/tests/fixtures/configs/1.1/sitemap.ini new file mode 100644 index 0000000000000000000000000000000000000000..68b542cef29a921965e9f2ed5fb75b8c24dbf4cf --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/sitemap.ini @@ -0,0 +1,63 @@ +; This file contains global settings affecting sitemap generation behavior. +; Currently, this is accessed by the sitemap.php script in the +; vufind/util folder. +; Note: For full details on the sitemaps protocol, see http://sitemaps.org + +; The Sitemap Section contains settings affecting the generation of +; individual sitemap files +[Sitemap] + +; Frequency tells the site indexer (aka Google, etc) how frequently you +; expect the content of the given URL entry to be updated. The options are: +; always, hourly, daily, weekly, monthly, yearly and never +frequency = weekly + +; countPerPage indicates how many URL entries will appear in each outputted sitemap +; This is useful in case your repository is huge (as many search engines cap +; the number of urls in a sitemap to around 50000) or if you're indexing formats +; that severly reduce the amount of items that can go into a sitemap (aka +; images indexed in google max at 1000 per sitemap). +countPerPage = 10000 + +; fileName dictates what base name each sitemap will get. If multiple sitemaps +; are generated (via the index size being larger than the countPerPage above) +; the subsequent name files will have a number appended to the base name. +; So, for example, if the code generates three sitemap files, and the basename +; is "sitemap", the three files will be named sitemap.xml, sitemap-2.xml and +; sitemap-3.xml +fileName = sitemap + +; fileLocation dictates where the generated sitemaps will initially be saved. +; Note: To make sitemaps available to a site indexer, they will need to be +; somewhere under the /web folder of your VuFind installation. Furthermore, +; sitemaps.org sets limitations on the paths that can be covered by a given +; sitemap. See http://sitemaps.org/protocol.php#location for details. +fileLocation = /tmp + +; The SitemapIndex Section contains settings affecting the generation of +; a sitemap index file which groups multiple sitemap files. The sitemap +; index file will contain absolute URLs to the individual sitemap files. +[SitemapIndex] + +; This setting indicates the base URL at which your sitemaps are generated. Note +; that in most cases it should correspond with the value of fileLocation above! +; It is "strongly recommended" by sitemaps.org that this location should be the +; root of your website! If this is set to false or commented out, the base +; VuFind URL from config.ini will be used. +baseSitemapUrl = false + +; indexFileName dictates the base name of the sitemap index file, +; e.g. sitemapIndex will result in sitemapIndex.xml +; You can comment out this setting to skip index file generation. +indexFileName = sitemapIndex + +; In addition to the generated sitemap files which contain the URLs for each +; record, the sitemap index file can reference a static sitemap file for other +; pages in your catalogue interface such as the Advanced Search, Browse, etc. +; In creating this sitemap, you can avail of the <priority /> element to indicate +; the priority of these URLs relative to the record URLs which have the default +; priority of 0.5. baseSitemapFileName dictates the base name of this sitemap +; file. Note that this file must actually exist in fileLocation in order for it +; to be added to the sitemap index! +; You can comment out this setting if you do not want to use a base sitemap. +baseSitemapFileName = baseSitemap diff --git a/module/VuFind/tests/fixtures/configs/1.1/sms.ini b/module/VuFind/tests/fixtures/configs/1.1/sms.ini new file mode 100644 index 0000000000000000000000000000000000000000..9676917a86132725e956a36754b7bfc98d3b6cc2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/sms.ini @@ -0,0 +1,23 @@ +; This file defines the list of carriers and their domain names for the SMS service +; The format is: unique_identifier = carrier.domain.name:Display Name +; +;For additional carriers, you may find it useful to refer to http://www.txt2day.com +[Carriers] +; Carriers in the US +virgin = vmobl.com:"Virgin Mobile" +att = txt.att.net:"AT&T" +verizon = vtext.com:"Verizon" +nextel = messaging.nextel.com:"Nextel" +sprint = messaging.sprintpcs.com:"Sprint" +tmobile = tmomail.net:"T Mobile" +alltel = message.alltel.com:"Alltel" +Cricket = mms.mycricket.com:"Cricket" + +; Carriers in Canada +;bell.ca = txt.bell.ca:"Bell" +;rogers.com = pcs.rogers.com:"Rogers" +;fido.ca = fido.ca:"Fido" +;telus.com = msg.telus.com:"Telus" +;vmobile.ca = vmobile.ca:"Virgin Mobile (Canada)" +;mobiletxt.ca = mobiletxt.ca:"PC Mobile" +;koodomobile.com = msg.koodomobile.com:"Koodo" diff --git a/module/VuFind/tests/fixtures/configs/1.1/vufind.ini b/module/VuFind/tests/fixtures/configs/1.1/vufind.ini new file mode 100644 index 0000000000000000000000000000000000000000..05235066d96a9d74a0278153ab1ee595d342fa28 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.1/vufind.ini @@ -0,0 +1,119 @@ + +[change_tracker] +core = 130 +id = 130 +first_indexed = 14 +last_indexed = 14 +last_record_change = 14 +deleted = 14 + +[change_tracker__keys] +core = K +id = K + +[comments] +id = 129 +user_id = 129 +resource_id = 129 +comment = 194 +created = 142 + +[comments__keys] +id = N + +[oai_resumption] +id = 129 +params = 66 +expires = 142 + +[oai_resumption__keys] +id = N + +[resource] +id = 129 +record_id = 130 +title = 130 +source = 130 + +[resource__keys] +id = N + +[resource_tags] +id = 129 +resource_id = 129 +tag_id = 129 +user_id = 129 +list_id = 129 +posted = 384 + +[resource_tags__keys] +id = N + +[search] +id = 129 +user_id = 129 +folder_id = 1 +created = 134 +title = 2 +saved = 145 +search_object = 66 +session_id = 2 + +[search__keys] +id = N + +[tags] +id = 129 +tag = 130 + +[tags__keys] +id = N + +[user] +id = 129 +username = 130 +password = 130 +firstname = 130 +lastname = 130 +email = 130 +cat_username = 2 +cat_password = 2 +college = 130 +major = 130 +created = 142 + +[user__keys] +id = N + +[user_resource] +id = 129 +user_id = 129 +resource_id = 129 +list_id = 129 +notes = 66 +saved = 384 + +[user_resource__keys] +id = N + +[user_list] +id = 129 +user_id = 129 +title = 2 +description = 66 +created = 142 +public = 129 + +[user_list__keys] +id = N + +[session] +id = 129 +session_id = 2 +data = 66 +last_used = 129 +created = 142 + +[session__keys] +id = N + diff --git a/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini new file mode 100644 index 0000000000000000000000000000000000000000..9a28cecf67a0cc7547dcbc8c71bb0105e6a6d4cd --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini @@ -0,0 +1,30 @@ +[Catalog] +host = aleph.mylibrary.edu ; [your Aleph server] + +; bibliographic library -- the library that your bibs are in - normally XXX01 +; where XXX is a prefix that you have configured. It's the library you would +; search in your cataloging client. +bib = LIB01 + +; user library -- this is where your patrons are stored. It is the usr_library +; setting in your aleph_start configuration file. +useradm = LIB00 + +; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is +; your a prefix that you have defined. This is the library you connect to with +; your circ client. You'll also see it in your cataloging client because the +; items will be hanging from it. +admlib = FUB50 + +; loan libraries +loanlib = "LIB50 LIB51 LIB52 LIB53 ..." + +; WWW-X user +wwwuser = "WWW-X" +wwwpasswd = "your password" + +; adm-lib / sub-library array +; This is a list of patron home libraries and the ADM the library belongs to +[sublibadm] +ARC = ACC50 +CBR = ACC50 \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/Amicus.ini b/module/VuFind/tests/fixtures/configs/1.2/Amicus.ini new file mode 100644 index 0000000000000000000000000000000000000000..e913d5d5c2fdee41e6ab9d3ada3c2f4fb6d86d4a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Amicus.ini @@ -0,0 +1,9 @@ +[Catalog] +host = host_name +port = port_number +service = service_name +user = oracle_username +password = oracle_password +hold = http://url_for_holds + + diff --git a/module/VuFind/tests/fixtures/configs/1.2/DAIA.ini b/module/VuFind/tests/fixtures/configs/1.2/DAIA.ini new file mode 100644 index 0000000000000000000000000000000000000000..c1d828105cdb43a1add459a4646b8cfd8a2e0e07 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/DAIA.ini @@ -0,0 +1,2 @@ +[Global] +baseUrl = [your DAIA server base url] \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/Evergreen.ini b/module/VuFind/tests/fixtures/configs/1.2/Evergreen.ini new file mode 100644 index 0000000000000000000000000000000000000000..24213a351324eb4b2f4bd4729fb21a0d5b06bf55 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Evergreen.ini @@ -0,0 +1,6 @@ +[Catalog] +port = 5432 +hostname = localhost +database = evergreen +user = evergreen +password = evergreen diff --git a/module/VuFind/tests/fixtures/configs/1.2/Horizon.ini b/module/VuFind/tests/fixtures/configs/1.2/Horizon.ini new file mode 100644 index 0000000000000000000000000000000000000000..0105d059012faa682cf12cd5c4b400b690196445 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Horizon.ini @@ -0,0 +1,6 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = portnumber +username = myusername +password = mypassword +database = mydatabase diff --git a/module/VuFind/tests/fixtures/configs/1.2/HorizonXMLAPI.ini b/module/VuFind/tests/fixtures/configs/1.2/HorizonXMLAPI.ini new file mode 100644 index 0000000000000000000000000000000000000000..bd19379e9b2369f0156b45d5d5a5e9569fc24aa0 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/HorizonXMLAPI.ini @@ -0,0 +1,42 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = portnumber +username = myusername +password = mypassword +database = mydatabase + +[Webservices] +profile = "xxx--1" +HIPurl = http://hip.myuniversity.edu/ipac20/ipac.jsp + +[pickUpLocations] +; This setting is used to define library codes and named values which are used by the +; system to indicate the library at which a hold is to be collected. Horizon uses +; the descriptive name to place the hold, not the code (which can be assigned +; arbitrarily) +locationID = "locationDisplay" + +;Holds are optional. +[Holds] +; HMACKeys - A list of hold form element names that will be analyzed for consistency +; during hold form processing. Most users should not need to change this setting. +HMACKeys = item_id + +; notify - The method by which users are notified when their hold / request is +; available. Must correspond with a Horizon system setting. +notify = "e-mail" + +; defaultRequiredDate - A colon-separated list used to set the default "not required +; after" date for holds in the format days:months:years +; e.g. 0:1:0 will set a "not required after" date of 1 month from the current date +defaultRequiredDate = 0:1:0 + +; Horizon appears to rely on text values rather than codes for determining the pickup +; location. This sets the default pickup location and MUST match one of the locations +; listed in pickUpLocations +defaultPickUpLocation = "locationID" + +; extraHoldFields - A colon-separated list used to display extra visible fields in +; the place holds form. Supported values are "comments", "requiredByDate" and +; "pickUpLocation" +extraHoldFields = pickUpLocation diff --git a/module/VuFind/tests/fixtures/configs/1.2/Innovative.ini b/module/VuFind/tests/fixtures/configs/1.2/Innovative.ini new file mode 100644 index 0000000000000000000000000000000000000000..9f1294aef695693db8782ccdcdd4482a69790385 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Innovative.ini @@ -0,0 +1,19 @@ +[Catalog] +url = http://catalog.library.myuniversity.edu + +; The following is a set of fields to look up for +; Change them to match your HTML +[OPAC] +location_column = "Location" +call_no_column = "Call No" +status_column = "Status" +reserves_column = "Location" +reserves_key_name = "res" +status_avail = "AVAILABLE" +status_due = "DUE " + +[PATRONAPI] +; Enable III Patron API usage for patron authentication +; and profile information. +enabled = "true" +url = http://catalog.library.myuniversity.edu:4500/PATRONAPI/ \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/Koha.ini b/module/VuFind/tests/fixtures/configs/1.2/Koha.ini new file mode 100644 index 0000000000000000000000000000000000000000..100df0db9c711cc88a4a16d421cb98833a3c8a0e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Koha.ini @@ -0,0 +1,22 @@ +[Catalog] +host = localhost +port = 3306 +username = mysqlusername +password = mysqlpassword +database = koha +url = http://library.myuniversity.edu + +; This section translates Koha's internal location codes into strings for on-screen +; display. You can customize the text to your liking. +[Location_Codes] +AV = "Audio Visual" +CART = "Book Cart" +CHILD = "Children's Area" +DISPLAY = "On Display" +FIC = "Fiction" +GEN = "General Shelf" +NEW = "New Materials Shelf" +PROC = "Processing Center" +REF = "Reference Shelf" +STAFF = "Staff Office" + diff --git a/module/VuFind/tests/fixtures/configs/1.2/NewGenLib.ini b/module/VuFind/tests/fixtures/configs/1.2/NewGenLib.ini new file mode 100644 index 0000000000000000000000000000000000000000..615facc1d81fae2362d11e1e1e1c6dfd72462db2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/NewGenLib.ini @@ -0,0 +1,6 @@ +[Catalog] +port =5432 +hostname =localhost +database =newgenlib +user =newgenlib +password =newgenlib diff --git a/module/VuFind/tests/fixtures/configs/1.2/PICA.ini b/module/VuFind/tests/fixtures/configs/1.2/PICA.ini new file mode 100644 index 0000000000000000000000000000000000000000..1fa51f3b93fcf487666df7f4f506e5288aa4005a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/PICA.ini @@ -0,0 +1,3 @@ +[Catalog] +Host = "[your OPC Host]" +renewalsScript = "[URI of the script to get the number of renewals. This must be on the PICA catalog host]" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/Summon.ini b/module/VuFind/tests/fixtures/configs/1.2/Summon.ini new file mode 100644 index 0000000000000000000000000000000000000000..4e0e7485670ed63ee26f9ca8fb136abc3421befc --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Summon.ini @@ -0,0 +1,157 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +; +; Right now, VuFind is configured to use Summon database recommendations at the +; top of the search results and all facets to the side. You can reconfigure +; this by changing the default_top_recommend setting and [Facets] / [FacetsTop] +; sections below. +default_top_recommend[] = SummonDatabases +;default_top_recommend[] = TopFacets:FacetsTop:Summon +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:Summon + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results (may not apply to all fields). +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; available. +snippets = true + +; Summon has a fixed cap on how many results you can page through. Even though +; it may report more results than this number, you can't actually access results +; past the limit. This setting tells VuFind where to cut off its paging mechanism. +; You can raise this value as high as 20000, but performance suffers as page +; numbers increase. +result_limit = 2000 + +; The following two sections can be used to associate specific recommendations +; modules with specific search types defined in the [Basic_Searches] section +; below. For all the details on how these sections work, see the comments above +; the equivalent sections of searches.ini. Recommendations work the same in +; Summon as they do in the regular Search module. +[SideRecommendations] +; No search-specific settings by default -- add your own here. +[TopRecommendations] +; No search-specific settings by default -- add your own here. + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = PublicationDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +; +; NOTE: Do not create CheckboxFacets using values that also exist in the +; [Facets] section below -- this will not work correctly. +[CheckboxFacets] +IsScholarly:true = scholarly_limit +IsFullText:true = fulltext_limit +excludeNewspapers:true = exclude_newspapers +holdingsOnly:false = add_other_libraries + +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +; +; The name of the index field may optionally be followed by comma-separated +; parameters (i.e. ",or,1,15") as defined by the Summon API. Any provided +; parameters will override defaults like the facet_limit setting in +; [Facet_Settings] below. +[Facets] +Library = Location +ContentType = Format +SubjectTerms = Topic +Language = Language +PublicationDate = "adv_search_year" ; share year string w/advanced search page + +; These facets will be shown above search results if the TopFacets recommendations +; module is used, as opposed to the [Facets] section, which is shown to the side +; of search results when the SideFacets module is used. +; +; NOTE: This section is not used by default -- see default_top_recommend setting +; above for more details. +[FacetsTop] +SubjectTerms = "Suggested Topics" + +; Rows and columns for table used by top facets +[Results_Settings] +top_rows = 2 +top_cols = 3 + +; These settings affect the way the facets are displayed +[Facet_Settings] +facet_limit = 30 ; how many values should we show for each facet? + +; These settings affect the way facets are displayed on the advanced screen +[Advanced_Facet_Settings] +; Some special facets for advanced searching can be turned on by inclusion in +; the comma-separated list below, or turned off by being excluded. Currently, +; just one values is supported: "daterange" for the publication year range +; control. +special_facets = daterange + +; This section shows which search types will display in the basic search box at +; the top of Summon pages. The name of each setting below corresponds with an +; index defined in the Summon API. The value of each setting is the text to +; display on screen. All on-screen text will be run through the translator, so +; be sure to update language files if necessary. The order of these settings +; will be maintained in the drop-down list in the UI. +; +; Note: The search type of "AllFields" is a special case that searches all +; fields. All remaining values are from the list documented here: +; http://api.summon.serialssolutions.com/help/api/search/fields +[Basic_Searches] +AllFields = "All Fields" +Title = Title +Author = Author +SubjectTerms = Subject + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +PublicationTitle = adv_search_journaltitle +Author = adv_search_author +SubjectTerms = adv_search_subject +;LCCallNum = adv_search_callnumber +ISBN = ISBN +ISSN = ISSN +Publisher = adv_search_publisher +PublicationSeriesTitle = adv_search_series +PublicationYear = adv_search_year +TableOfContents = adv_search_toc + +; This section defines the sort options available on Summon search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Summon index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. Values on the right +; of the equal sign are text that will be run through the translation module and +; displayed on screen. +[Sorting] +relevance = sort_relevance +PublicationDate:desc = sort_year +PublicationDate:asc = "sort_year asc" + +; This section controls spell checking -- it can be disabled if desired. +[Spelling] +enabled = true \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/Unicorn.ini b/module/VuFind/tests/fixtures/configs/1.2/Unicorn.ini new file mode 100644 index 0000000000000000000000000000000000000000..c82a06eafa40c961d7f7c4c112070d2865dce380 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Unicorn.ini @@ -0,0 +1,74 @@ +[Catalog] +; specify the url to the SIRSI side perl script - the old way +;host = your-sirsi-web-server +;port = 80 +;search_prog = /pathto/driver.pl +; specifying url this way is more convenient +url = http://your-sirsi-web-server/pathto/driver.pl +; Unicorn/Symphony returns the fines amounts in cents, +; set this parameter to "true" to leave the fines +; amounts in cents instead of dollars, or to "false" +; to convert the amounts to dollars +leaveFinesAmountsInCents = true + +[CirculationPolicies] +; specify how many days a checked out item is due after a recalled has been initiated +recall_due_period = 15 + +[DateTimeFormats] +default = "%m/%d/%Y %H:%M" + +[ApiMessages] +105 = "This item has been recalled" +141 = "Renewal limit exceeded" +218 = "Your library account has been BLOCKED" +252 = "This item has holds" +722 = "You already have a hold on this item" +753 = "You already have this item checked out" +447 = "This item may not be available for circulation" +444 = "You have exceeded the limit for number of holds per user" + +; +; Location codes to libraries/buildings mapping +; +[Libraries] +BINDERY = "Bindery" +CHECKEDOUT = "Checked out" +LOST = "Lost" +MISSING = "Missing" +ON-ORDER = "On Order" +INTERNET = "World Wide Web" + +; +; Location codes to location names mapping +; +[Locations] +BINDERY = "Bindery" +CHECKEDOUT = "Checked out" +LOST = "Lost" +MISSING = "Missing" +ON-ORDER = "On Order" +INTERNET = "World Wide Web" + +; +: The following are lists of Location Codes and Item Types +; for items that are NOT AVAILABLE even if they are NOT checked out. +; The values on the right side of "=" is the status message to display. +; +[UnavailableLocations] +CLASSROOM = "Unavailable" +OFF-CAMPUS = "Unavailable" +BINDERY = "Unavailable" +CANCELLED = "Unavailable" +DISCARD = "Unavailable" +INTRANSIT = "Unavailable" +ON-ORDER = "Unavailable" +LOST = "Unavailable" +MISSING = "Unavailable" +HOLDS = "On Hold" +STORAGE = "In Storage" + +[UnavailableItemTypes] +IN-PROCESS = "In Process" +ON-ORDER = "Unavailable" + diff --git a/module/VuFind/tests/fixtures/configs/1.2/Virtua.ini b/module/VuFind/tests/fixtures/configs/1.2/Virtua.ini new file mode 100644 index 0000000000000000000000000000000000000000..d5ec6a38dfd2bb266d0e65de8a4d9e5321533334 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Virtua.ini @@ -0,0 +1,16 @@ +[Catalog] +; Your virtua database server +host = virtuadb.your.library.server +; Your iportal server +webhost = virtuaweb.your.library.server +; The iportal host string +host_string = virtuaweb.your.library.server+9002+DEFAULT +; The iportal patron string +patron_host = virtuaweb.your.library.server 9002 DEFAULT +; Oracle connection port +port = 1521 +; The TNS entry name for the database +service = VTLS01 +; Login details +user = username +password = password diff --git a/module/VuFind/tests/fixtures/configs/1.2/Voyager.ini b/module/VuFind/tests/fixtures/configs/1.2/Voyager.ini new file mode 100644 index 0000000000000000000000000000000000000000..285552014d5deea41128c9e3f8a7ea6e9ddf2b2a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/Voyager.ini @@ -0,0 +1,35 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 1521 +service = VGER.catalog.library.myuniversity.edu +user = myusername +password = mypassword +database = MYDB +pwebrecon = http://catalog.library.myuniversity.edu/cgi-bin/Pwebrecon.cgi + +; If this is set to false, VuFind will connect to Voyager's Oracle database with +; SERVICE_NAME in the connection string. If set to true, it will use SID. If +; you have connection problems, try changing this setting. +connect_with_sid = false + +; These settings affect the Fund list used as a limiter in the "new items" module: +[Funds] +; Uncomment this line to turn off the fund list entirely. +;disabled = true + +; If you know what values you want to allow in your fund list, include them as +; whitelist lines below. ONLY VALUES INCLUDED IN WHITELIST LINES WILL BE SHOWN. +; Leave the whitelist commented out to get all values. +;whitelist[] = "First Good Value" +;whitelist[] = "Second Good Value" + +; If you wish to exclude certain values from your fund list, include them as +; blacklist lines below. There is no point in using blacklist lines if you have +; already set a whitelist above. +;blacklist[] = "First Bad Value" +;blacklist[] = "Second Bad Value" + +; This setting can be used to limit the fund list to those that are under a specific +; fund. Set it to 0 for top-level funds only. Set it to a FUND_ID deeper in the +; fund tree to filter out unwanted values. Leave it commented out to get all funds. +;parent_fund = 0 diff --git a/module/VuFind/tests/fixtures/configs/1.2/VoyagerRestful.ini b/module/VuFind/tests/fixtures/configs/1.2/VoyagerRestful.ini new file mode 100644 index 0000000000000000000000000000000000000000..2a222ea36e842a75c00acfb29e4a199eb1bc28a8 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/VoyagerRestful.ini @@ -0,0 +1,90 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 1521 +service = VGER.catalog.library.myuniversity.edu +user = myusername +password = mypassword +database = MYDB +pwebrecon = http://catalog.library.myuniversity.edu/cgi-bin/Pwebrecon.cgi + +; If this is set to false, VuFind will connect to Voyager's Oracle database with +; SERVICE_NAME in the connection string. If set to true, it will use SID. If +; you have connection problems, try changing this setting. +connect_with_sid = false + +; These settings affect the Fund list used as a limiter in the "new items" module: +[Funds] +; Uncomment this line to turn off the fund list entirely. +;disabled = true + +; If you know what values you want to allow in your fund list, include them as +; whitelist lines below. ONLY VALUES INCLUDED IN WHITELIST LINES WILL BE SHOWN. +; Leave the whitelist commented out to get all values. +;whitelist[] = "First Good Value" +;whitelist[] = "Second Good Value" + +; If you wish to exclude certain values from your fund list, include them as +; blacklist lines below. There is no point in using blacklist lines if you have +; already set a whitelist above. +;blacklist[] = "First Bad Value" +;blacklist[] = "Second Bad Value" + +; This setting can be used to limit the fund list to those that are under a specific +; fund. Set it to 0 for top-level funds only. Set it to a FUND_ID deeper in the +; fund tree to filter out unwanted values. Leave it commented out to get all funds. +;parent_fund = 0 + +; These settings are used by the Voyager Restful Services - details at +; http://www.exlibrisgroup.org/display/VoyagerOI/Introduction+to+Voyager+RESTful+APIs +[WebServices] +host = 1.2.3.4 +port = 7014 +app = vxws + +; Patron and site information -- these two settings can often be set to the same value. To +; find your possible values, use the GetUBSitesService service as documented here: +; http://www.exlibrisgroup.org/display/VoyagerOI/GetUBSitesService +patronHomeUbId = "1@XXXXX" +dbKey = "1@XXXXX" + +; This section is used to define library codes and named values which are used by the +; system to indicate the location at which a hold is to be collected. If you leave it +; commented out, a list will automatically be generated using the getPickUpLocations +; method. Your system will perform better if you fill this in, since it will reduce +; the number of database lookups necessary when presenting the hold form. +;[pickUpLocations] +;1 = "Library One" +;2 = "Library Two" +;3 = "Library Three" + +; This section controls hold behavior; note that you must also ensure that Holds are +; enabled in the [Catalog] section of config.ini in order to take advantage of these +; settings. +[Holds] +; If a colon separated list of item statuses is provided here, only matching items +; will show hold / recall links. Skip this setting to allow all statuses. +;valid_hold_statuses = Charged:Renewed:Overdue + +; non_borrowable - If a colon-separated list of ids from the ITEM_TYPES table is +; provided, matching items will be excluded from holds / recalls. Skip this setting +; to allow links for all item types. +;non_borrowable = 2:4:23:10 + +; HMACKeys - A list of hold form element names that will be analyzed for consistency +; during hold form processing. Most users should not need to change this setting. +HMACKeys = item_id:holdtype + +; defaultRequiredDate - A colon-separated list used to set the default "not required +; after" date for holds in the format days:months:years +; e.g. 0:1:0 will set a "not required after" date of 1 month from the current date +defaultRequiredDate = 0:1:0 + +; extraHoldFields - A colon-separated list used to display extra visible fields in the +; place holds form. Supported values are "comments", "requiredByDate" and +; "pickUpLocation" +extraHoldFields = comments:requiredByDate:pickUpLocation + +; A Pick Up Location Code used to pre-select the pick up location drop down list and +; provide a default option if others are not available. Must correspond with one of +; the Location IDs returned by getPickUpLocations() +defaultPickUpLocation = "1" diff --git a/module/VuFind/tests/fixtures/configs/1.2/WorldCat.ini b/module/VuFind/tests/fixtures/configs/1.2/WorldCat.ini new file mode 100644 index 0000000000000000000000000000000000000000..5342a6d59a1872667c6c5ed4daa2a5407b01cc13 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/WorldCat.ini @@ -0,0 +1,47 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; This section shows which search types will display in the basic search box at +; the top of WorldCat pages. The name of each setting below corresponds with one +; or more indices defined in the WorldCat API (multiple values are separated by +; colons). The value of each setting is the text to display on screen. All +; on-screen text will be run through the translator, so be sure to update language +; files if necessary. The order of these settings will be maintained in the +; drop-down list in the UI. +; +; For a complete list of legal values, see the SRU Explain page here: +; http://worldcat.org/webservices/catalog/ +[Basic_Searches] +srw.kw = "All Fields" +srw.ti:srw.se = Title +srw.au:srw.pn:srw.cn = Author +srw.su = Subject +srw.dd:srw.lc = "Call Number" +srw.bn:srw.in = "ISBN/ISSN" + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +srw.kw = adv_search_all +srw.ti:srw.se = adv_search_title +srw.au:srw.pn:srw.cn = adv_search_author +srw.su = adv_search_subject +srw.dd:srw.lc = adv_search_callnumber +srw.bn:srw.in = adv_search_isn +srw.pb = adv_search_publisher +srw.se = adv_search_series +srw.yr = adv_search_year + +; This section defines the sort options available on WorldCat search results. +; Values on the left of the equal sign are WorldCat API sort values. Values +; on the right of the equal sign are text that will be run through the +; translation module and displayed on screen. +[Sorting] +relevance = sort_relevance +Date,,0 = sort_year +Date = "sort_year asc" +Author = sort_author +Title = sort_title diff --git a/module/VuFind/tests/fixtures/configs/1.2/XCNCIP.ini b/module/VuFind/tests/fixtures/configs/1.2/XCNCIP.ini new file mode 100644 index 0000000000000000000000000000000000000000..b6eff762c615dca418e7480f1d041be096a53d8e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/XCNCIP.ini @@ -0,0 +1,5 @@ +[Catalog] +; Base URL for the XC NCIP Toolkit: +url = http://myuniversity.edu:8080/NCIPToolkit/ +; Your library's Agency ID (ILSDefaultAgency setting in NCIPToolkit_config.xml): +agency = "My University" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/XCNCIP2.ini b/module/VuFind/tests/fixtures/configs/1.2/XCNCIP2.ini new file mode 100644 index 0000000000000000000000000000000000000000..20e177adab7ae078f76a4d499c4a53a8ede48a31 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/XCNCIP2.ini @@ -0,0 +1,5 @@ +[Catalog] +; Base URL for the XC NCIP Toolkit's NCIP responder: +url = http://myuniversity.edu:8080/ncipv2/NCIPResponder +; Your library's Agency ID (ILSDefaultAgency setting in driver_config.properties): +agency = "My University" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/authority.ini b/module/VuFind/tests/fixtures/configs/1.2/authority.ini new file mode 100644 index 0000000000000000000000000000000000000000..bc804a322b91956d7cd08ddddcae9015fcbcd779 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/authority.ini @@ -0,0 +1,25 @@ +; This configuration file controls the Authority module; see facets.ini and +; searches.ini for detailed comments on the meaning of all settings. +[General] +default_handler = AllFields ; Search handler to use if none is specified +default_sort = relevance +case_sensitive_bools = true +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:authority + +[Basic_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Advanced_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Sorting] +relevance = sort_relevance +heading = "Heading" + +[Facets] +source = "Authority File" +record_type = "Record Type" diff --git a/module/VuFind/tests/fixtures/configs/1.2/authsearchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.2/authsearchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..530dba769b17536d66247f09dc1155194409bbb9 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/authsearchspecs.yaml @@ -0,0 +1,62 @@ +--- +# This file contains search specifications used by the authority module; for details +# on the workings of this file, see the comments in searchspecs.yaml. +#----------------------------------------------------------------------------------- + +AllFields: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + - allfields + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + - allfields: + - [onephrase, 50] + - [and, 10] + - [or, ~] + +Heading: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + +MainHeading: + DismaxFields: + - heading_keywords^750 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] diff --git a/module/VuFind/tests/fixtures/configs/1.2/config.ini b/module/VuFind/tests/fixtures/configs/1.2/config.ini new file mode 100644 index 0000000000000000000000000000000000000000..ee9c8cb5f3c42db3905571190c2bd298bdbd729b --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/config.ini @@ -0,0 +1,577 @@ +; +; VuFind Configuration +; + +; No changes are necessary in the System Section +[System] +available = true +debug = false + +; This section will need to be customized for your installation +; +; Note that you may set a comma-separated list of themes, i.e. MyUniversity,default +; This will first look for templates in the MyUniversity theme, then fail over to +; default if they are not found. This makes it easier to override a few templates +; without having to clone the entire theme. See this page for important notes on +; theme customization: +; http://www.vufind.org/wiki/customization +[Site] +path = /vufind +url = http://library.myuniversity.edu/vufind +local = /usr/local/vufind/web +email = support@myuniversity.edu +title = "Library Catalog" +theme = default +; Uncomment the following line to use a different theme for mobile devices +;mobile_theme = mobile +language = en ; default -- more options available in [Languages] below. +locale = en_US +; Find valid timezone values here: +; http://www.php.net/manual/en/timezones.php +timezone = "America/New_York" +; A string used to format user interface date strings using the PHP date() function +; default is m-d-Y (MM-DD-YYYY 01-01-2010) +displayDateFormat = "m-d-Y" +; A string used to format user interface time strings using the PHP date() function +; default is H:i (HH:MM 23:01) +displayTimeFormat = "H:i" +; The base VuFind URL will load the "Home" action of this module unless the user +; is logged in: +defaultModule = Search +; The base VuFind URL will load the "Home" action of this module when the user +; is logged in: +defaultLoggedInModule = MyResearch +; This tab will show by default when a record is viewed: +defaultRecordTab= Holdings +; This page will show by default when a user accesses the MyResearch module: +defaultAccountPage = Favorites +; Allow access to the Admin module? (Potentially dangerous, since it allows editing +; of configuration files and deleting of records). +admin_enabled = false + +; This section allows you to configure the mechanism used for storing user +; sessions. Available types: FileSession, MemcacheSession, MySQLSession. +; Some of the settings below only apply to specific session handlers; +; such settings are named with an obvious prefix. Non-prefixed settings +; are global to all handlers. +[Session] +type = MySQLSession +lifetime = 3600 ; Session lasts for 1 hour +;file_save_path = /tmp/vufind_sessions +;memcache_host = localhost +;memcache_port = 11211 +;memcache_connection_timeout = 1 + +; Please set the ILS that VuFind will interact with. +; +; Available drivers: Aleph, Amicus, Evergreen, Horizon (basic database access only), +; HorizonXMLAPI (more features via API), Innovative, Koha, NewGenLib, Unicorn, +; Virtua, Voyager (for Voyager 6+), VoyagerRestful (for Voyager 7+ w/ RESTful +; web services), XCNCIP (for XC NCIP Toolkit v1.x), XCNCIP2 (for XC NCIP Tookit +; v2.x) +; Note: Unicorn users should visit the vufind-unicorn project for more details: +; http://code.google.com/p/vufind-unicorn/ +; +; If you don't have an ILS, two fake drivers are available for testing purposes. +; "Sample" is fast but does very little; "Demo" simulates more functionality of +; a real ILS but may slow down your system by performing extra searches. +; +; Note: Enabling most of the features in this section will only work if you use an +; ILS driver that supports them; not all drivers support holds/renewals. +[Catalog] +driver = Sample + +; This setting determines how and when hold / recall links are displayed. +; Legal values: +; - all (Show links for all items - Place Hold for Available Items and Place Recall +; for unavailable items) +; - availability (Only show recall links if ALL items on bib are currently +; unavailable) +; - disabled (Never show hold/recall links) +; - driver (Use ILS driver to determine which items may be held/recalled; best option +; if available, but not supported by all drivers) +; - holds (Only show links for available items) +; - recalls (Only show links for unavailable items) +; default is "all" +holds_mode = "all" + +; Determines if holds can be cancelled or not. Options are true or false. +; default is false +cancel_holds_enabled = false + +; Determines if item can be renewed or not. Options are true or false. +; default is false +renewals_enabled = false + +; This section allows you to determine how the users will authenticate. +; You can use an LDAP directory, the local ILS, the VuFind database (DB), +; Shibboleth, or some combination of these (via the MultiAuth option). +[Authentication] +method = LDAP +;method = ILS +;method = DB +;method = Shibboleth +;method = MultiAuth + +; See the comments in web/sys/authn/MultiAuthAuthentication.php for full details +; on using multiple authentication methods. +;[MultiAuth] +;method_order = ILS,LDAP +;filters = "username:trim,password:trim" + +; This section will allow you to control whether vufind should record usage +; statistics. +[Statistics] +enabled = false +solr = http://localhost:8080/solr + +; This section requires no changes for most installations +[Index] +engine = Solr +url = http://localhost:8080/solr +local = /usr/local/vufind/solr +default_core = biblio + +; This section allows sharding to be used to pull in content from additional Solr +; servers. All servers used in sharding must contain the same index fields needed +; to satisfy queries sent to them AND they must all include different ID numbers! +; Leave this commented out to disable sharding. +; To use sharding, simply fill in lines using the format: +; [display name of shard] = [URL of shard (without http://)] +;[IndexShards] +;Library Catalog = localhost:8080/solr/biblio +;Website = localhost:8080/solr/website + +; This section allows you to set preferences for shards display. You only need to +; set these if you want to use shards. See also the [StripFacets] section of +; facets.ini and the [StripFields] section of searches.ini if your shards have +; non-identical schemas. +;[ShardPreferences] +; This setting controls whether or not to display checkboxes to allow the user to +; select which shard(s) to search (default if commented out = false) +;showCheckboxes = true +; These lines determine which shards are searched by default if the user hasn't +; specified preferences using checkboxes (default if commented out = all shards): +;defaultChecked[] = "Library Catalog" +;defaultChecked[] = "Website" + +; This section requires no changes for most installations; if your SMTP server +; requires authentication, you can fill in a username and password below. +[Mail] +host = localhost +port = 25 +;username = user +;password = pass + +; This section needs to be changed to match your installation path +; and database connection information +[Database] +database = mysql://root@localhost/vufind +schema_location = /usr/local/vufind/web/conf +class_location = /usr/local/vufind/web/services/MyResearch/lib +require_prefix = +class_prefix = +quote_identifiers = 1 +debug = 0 + +; LDAP is optional. This section only needs to exist if the +; Authentication Method is set to LDAP. When LDAP is active, +; host, port, basedn and username are required. The remaining +; settings are optional, mapping fields in your LDAP schema +; to fields in VuFind's database -- the more you fill in, the more +; data will be imported from LDAP into VuFind. +[LDAP] +host = ldap.myuniversity.edu +port = 389 +basedn = "o=myuniversity.edu" +username = uid +firstname = givenname +lastname = sn +email = mail +cat_username = +cat_password = +college = studentcollege +major = studentmajor +; If you need to bind to LDAP with a particular account before +; it can be searched, you can enter the necessary credentials +; here. If this extra security measure is not needed, leave +; these settings commented out. +;bind_username = "uid=username o=myuniversity.edu" +;bind_password = password + +; SIP2 is optional. This section only needs to exist if the +; Authentication Method is set to SIP2. +;[SIP2] +;host = ils.myuniversity.edu +;port = 6002 + +; Shibboleth is optional. This section only needs to exist if the +; Authentication Method is set to Shibboleth. +;[Shibboleth] +;userattribute_1 = entitlement +;userattribute_value_1 = urn:mace:dir:entitlement:common-lib-terms +;userattribute_2 = unscoped-affiliation +;userattribute_value_2 = member +;username = persistent-id +;login = https://shib.myuniversity.edu/Shibboleth.sso/Login +;target = http://shib.myuniversity.edu/vufind/MyResearch/Home +;provider_id = https://idp.example.edu/shibboleth-idp + +; 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. +; +; IMPORTANT: Review content providers' terms of service before turning them on. +; Terms may change, and not all content sources are appropriate for all +; applications. The existence of functionality in VuFind does not imply +; suitability for any particular situation. +[Content] +; You can select from Syndetics, LibraryThing, Summon, Amazon, OpenLibrary, +; Contentcafe or Google Books. Note that the Summon service takes a Serials +; Solutions client key, NOT a Summon API key! +;coverimages = Syndetics:MySyndeticsId,Amazon:MyAccessKeyId,LibraryThing:MyLibraryThingId,Google,OpenLibrary,Summon:MySerialsSolutionsClientKey,Contentcafe:MyContentCafeID +; This setting controls the image to display when no book cover is available. +; The path is relative to web subdirectory of the VuFind install directory: +noCoverAvailableImage = images/noCover2.gif +; You can select from Syndetics, Amazon Editorial, Amazon or the Guardian +; Note: Guardian reviews contain embedded advertisements. If the API key is not +; supplied, e.g. "Guardian:", only the review title, byline, Guardian logo +; and a link to the full Guardian page will be displayed +;reviews = Syndetics:MySyndeticsId,AmazonEditorial:MyAccessKeyId,Amazon:MyAccessKeyId,Guardian:MyGuardianKeyId +; You can select from Syndetics +;excerpts = Syndetics:MySyndeticsId +; You can select from Wikipedia +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 select from Google, OpenLibrary, HathiTrust. You should consult +; http://code.google.com/apis/books/branding.html before using Google Book Search. +; previews = Google,OpenLibrary,HathiTrust + +; You can change the base Syndetics URL used by the content services here. Most +; users will not need to change this setting. +[Syndetics] +url = "http://syndetics.com" + +; You can change the base Content Cafe URL used by the content services here. Most +; users will not need to change this setting. You also need to set your password, +; "pw". Note that Content Cafe is a subscription service from Baker & Taylor. +[Contentcafe] +url = "http://contentcafe2.btol.com" +pw = "Password" + +; Web Search is Optional. The Web Search is powered by Google. +; To use enter your Google Web Search key and the domain the of your library +; website. +; The side_recommend setting is used to load recommendations modules; see +; searches.ini for a list of options (though not all will work in this context). +; You can set it to false if you do not want to display any recommendations. +;[GoogleSearch] +;key = MyGoogleSearchKey +;domain = library.myuniversity.edu +;side_recommend[] = CatalogResults:lookfor + +; Summon is Optional. See also the separate Summon.ini file. +;[Summon] +;apiId = myAccessId +;apiKey = mySecretKey + +; WorldCat is Optional. Worldcat offers extra features such as "Other Editions" +; and the WorldCat searching. +;[WorldCat] +;id = myAccount +;apiKey = ApiKey +;OCLCCode = MYCODE +;LimitCodes = Comma separated list of OCLC Codes + +; These settings affect OpenURL generation and presentation; OpenURLs are used to +; help users find resources through your link resolver and to manage citations in +; Zotero. +[OpenURL] +; If a resolver base URL is enabled, it will be used to link ISSNs to your link +; resolver and to access articles in Summon if that module is enabled. Earlier +; versions of VuFind included some parameters as part of the URL; at this point, +; any extra parameters will be ignored -- please provide only the base URL. +;url = "http://openurl.myuniversity.edu/sfx_local" + +; This string will be included as part of your OpenURL referer ID (the full string +; will be "info:sid/[your rfr_id setting]:generator"). You may be able to configure +; special behavior in your link resolver based on this ID -- for example, you may +; wish to prevent the resolver from linking to VuFind when links came from VuFind +; (to avoid putting a user in an infinite loop). +rfr_id = vufind.svn.sourceforge.net + +; By specifying your link resolver type, you can allow VuFind to optimize its +; OpenURLs for a particular platform. Current legal values: "sfx", "360link", +; "EZB" or "other" (default is "other" if commented out). +;resolver = sfx + +; If you want OpenURL links to open in a new window, set this setting to the +; desired Javascript window.open parameters. If you do not want a new window +; to open, set this to false or comment it out. +window_settings = "toolbar=no,location=no,directories=no,buttons=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=600" + +; 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. +; graphic = "http://myuniversity.edu/images/findIt.gif" +; graphic_width = 50 +; graphic_height = 20 + +; The following settings control where OpenURL links are displayed: +show_in_results = true ; include in search results +show_in_record = false ; include in core record metadata +show_in_holdings = false ; include in holdings tab of record view + +; If set to true, this setting will attempt to embed results from the link +; resolver directly in search results instead of opening a new window or page. +; This will override the window_settings option if set! Embedding is currently +; supported only when the resolver setting above is set to "sfx" or "360link". +embed = false + +; When embed is true, you can set this to an absolute path on your system in order +; to cache link resolver results to disk. Be sure that the chosen directory has +; appropriate permissions set! Leave the setting commented out to skip caching. +; Note that the contents of this cache will not be expired by VuFind; you should +; set up an external process like a cron job to clear out the directory from time +; to time. +;resolver_cache = /usr/local/vufind/resolver_cache + +; This setting controls whether we should display an OpenURL link INSTEAD OF other +; URLs associated with a record (true) or IN ADDITION TO other URLs (false). +replace_other_urls = true + +; EZproxy is optional. This section only needs to exist if you +; are using EZProxy to provide off-site access to online materials. +;[EZproxy] +;host = http://proxy.myuniversity.edu + +; These settings affect RefWorks record exports. They rarely need to be changed. +[RefWorks] +vendor = VuFind +url = http://www.refworks.com + +; These settings affect your OAI server if you choose to use it. +; +; If identifier is set, its value will be used as part of the standard OAI +; identifier prefix. It should only ever be set to a domain name that you +; control! If it is not set, your ID values will not be prefixed. +; +; If admin_email is not set, the main email under [Site] will be used instead. +; +; If set_field is set, the named Solr field will be used to generate sets on +; your OAI-PMH server. If it is not set, sets will not be supported. +;[OAI] +;identifier = myuniversity.edu +;repository_name = "MyUniversity Catalog" +;admin_email = oai@myuniversity.edu +;set_field = "format" + +; Proxy Server is Optional. +[Proxy] +;host = your.proxy.server +;port = 8000 + +; Spelling Suggestions +; +; Note: These settings affect the VuFind side of spelling suggestions; you +; may also wish to adjust some Solr settings in solr/biblio/conf/schema.xml +; and solr/biblio/conf/solrconfig.xml. +[Spelling] +enabled = true +; Number of suggestions to display on screen. This list is filtered from +; the number set in solr/biblio/conf/solrconfig.xml so they can differ. +limit = 3 +; Show the full modified search phrase on screen +; rather then just the suggested word +phrase = false +; Offer expansions on terms as well as basic replacements +expand = true +; Turning on 'simple' spell checking will improve performance, +; by ignoring the more complicated 'shingle' (mini phrases) +; based dictionary. +simple = false +; This setting skips spell checking for purely numeric searches; spelling +; suggestions on searches for ISBNs and OCLC numbers are not generally very +; useful. +skip_numeric = true + +; These settings control what events are logged and where the information is +; stored. +; +; VuFind currently supports four logging levels: alert (severe fatal error), +; error (fatal error), notice (non-fatal warning) and debug (informational). +; +; Each logging level can be further broken down into five levels of verbosity. +; You can specify the desired level by adding a dash and a number after the +; level in the configuration string -- for example, alert-2 or error-5. +; The higher the number, the more detailed the logging messages. If verbosity +; is not specified, it defaults to 1 (least detailed). +; +; Several logging methods are available, and each may be configured to log any +; combination of levels. +; +; You may enable multiple logging mechanisms if you want -- in fact, it is +; recommended, since the failure of one logging mechanism (i.e. database down, +; file system full) may then be reported to another. +; +; If database is uncommented, messages will be logged to the named MySQL table. +; The table can be created with this SQL statement: +; CREATE TABLE log_table ( id INT NOT NULL, logtime TIMESTAMP NOT NULL, +; ident CHAR(16) NOT NULL, priority INT NOT NULL, message TEXT, +; PRIMARY KEY (id) ); +; +; If file is uncommented, messages will be logged to the named file. Be sure +; that Apache has permission to write to the specified file! +; +; If email is uncommented, messages will be sent to the provided email address. +; Be careful with this setting: a flood of errors can easily bog down your mail +; server! +[Logging] +;database = log_table:alert,error,notice,debug +; NOTE : Windows users should avoid drive letters (eg. c:\vufind) because +; the colon will be used in the string parsing. "/vufind" will work +;file = /usr/local/vufind/messages.log:alert,error,notice,debug +;email = alerts@myuniversity.edu:alert-5,error-5 + +; This section helps VuFind access additional configuration settings used in +; specific areas of the code. +[Extra_Config] +facets = facets.ini ; settings affecting faceting in UI +searches = searches.ini ; search definitions and preferences +Summon = Summon.ini ; extra Summon configuration details +WorldCat = WorldCat.ini ; extra WorldCat configuration details +sms = sms.ini ; SMS carriers configuration details + +; If you uncomment the following lines, any settings you create in a file +; called config.local.ini will override the defaults found in config.ini. +; This is an advanced feature; basic users should edit config.ini directly. +;local_overrides = config.local.ini + +; This section controls which language options are available to your users. +; If you offer more than one option, a control will appear in the user +; interface to allow user selection. If you only activate one language, +; the control will be hidden. +; +; The name of each setting below (i.e. en, de, fr) is a language code and +; corresponds with one of the translation files found in the web/lang +; directory. The value of each setting is the on-screen name of the language, +; and will itself be subject to translation through the language files! +; +; The order of the settings is significant -- they will be displayed on screen +; in the same order they are defined here. +; +; Be sure that this section includes the default language set in the [Site] +; section above. +[Languages] +en = "English" ; American spellings +;en-gb = "English" ; British spellings +de = "German" +es = "Spanish" +fr = "French" +it = "Italian" +ja = "Japanese" +nl = "Dutch" +pt = "Portuguese" +;pt-br = "Brazilian Portugese" ; disabled due to very incomplete translation +zh-cn = "Simplified Chinese" +zh = "Chinese" +tr = "Turkish" +he = "Hebrew" +ga = "Irish" +cy = "Welsh" +el = "Greek" + +; This section controls the behavior of the Browse module. The result_limit +; setting controls the maximum number of results that may display in any given +; result box on the Browse screen. You can set to -1 for no limit; however, +; setting a very high (or no) limit may result in "out of memory" errors if you +; have a large index! +[Browse] +result_limit = 100 +tag = true ; allow browsing of Tags +dewey = false ; allow browsing of Dewey Decimal call numbers +lcc = true ; allow browsing of LC call numbers +author = true ; allow browsing of authors +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 + +; This section controls which record export methods are displayed on the Record +; view screen. Note that some options may be disabled for records that do not +; support them, regardless of the setting chosen here. +[Export] +RefWorks = true +EndNote = true +MARC = false +RDF = false +BibTeX = false + +; This section controls whether or not display the bulk export options and which +; options to display. Valid methods are EndNote and MARC - The method must also +; be enabled in Export (above) or it will not be displayed. +[BulkExport] +enabled = true +options = MARC:EndNote:BibTeX + +;AddThis is optional. It uses the Add This tool available from www.addthis.com +; and requires the username generated when an analytics account is registered. +;[AddThis] +;key = yourUsername + +; This section controls how item status information is presented in search results. +[Item_Status] +; Usually, there is only one location or call number for each item; however, when +; multiple values are found, there are several possible behaviors: +; first = display the first value found, ignore the rest +; all = show all of the values found, separated by commas +; msg = show a message like "Multiple Call Numbers" or "Multiple Locations" +; group = show availability statuses for each location on a separate line, +; followed by callnumber information (valid for multiple_locations only) +multiple_call_nos = first +multiple_locations = msg + +; This section controls the behavior of the Record module. +[Record] +; Set this to true in order to enable "next" and "previous" links to navigate +; through the current result set from within the record view. +next_prev_navigation = false + +; You can enable this setting to show links to related MARC records using certain +; 7XX fields. Just enter a comma-separated list of the MARC fields that you wish +; to make use of. This relies on subfield w containing either a reference to a bib +; number or an OCLC number prefixed by (OCoLC). Do not enable this option if your +; data is unable to support it! Also note that turning on the 780 and 785 fields +; may result in redundant information in the display, since the Solr title_old and +; title_new fields are likely to contain the same information. +;marc_links = "760,765,770,772,774,773,775,777,780,785" + +; You can use this setting to hide holdings information for particular named locations +; as returned by the catalog. +hide_holdings[] = "World Wide Web" + +; The following two sections control the Alphabetic Browse module. +[AlphaBrowse] +; This setting controls how many headings are displayed on each page of results: +page_size = 20 + +; This section controls the order and content of the browse type menu in the +; Alphabetic Browse module. The key is the browse index to use, the value is the +; string to display to the user (subject to translation). +[AlphaBrowse_Types] +topic = "By Topic" +author = "By Author" +title = "By Title" +lcc = "By Call Number" +;dewey = "By Call Number" + +; This section allows you to configure the values used for Cryptography; the +; HMACkey can be set to any value you like and should never be shared. It is used +; to prevent users from tampering with certain URLs (for example, "place hold" form +; submissions) +[Security] +HMACkey = mySuperSecretValue \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/facets.ini b/module/VuFind/tests/fixtures/configs/1.2/facets.ini new file mode 100644 index 0000000000000000000000000000000000000000..54ed947d786efc2d7202a1d0aae28ab220ffe5c3 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/facets.ini @@ -0,0 +1,92 @@ +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +[Results] +institution = Institution +building = Library +format = Format + +; Use callnumber-first for LC call numbers, dewey-hundreds for Dewey Decimal: +callnumber-first = "Call Number" +;dewey-hundreds = "Call Number" + +authorStr = Author +language = Language +genre_facet = Genre +era_facet = Era +geographic_facet = Region +publishDate = "adv_search_year" ; share year string w/advanced search page + +; Facets that will appear at the top of search results when the TopFacets +; recommendations module is used. See the [TopRecommendations] section of +; searches.ini for more details. +[ResultsTop] +topic_facet = "Suggested Topics" + +; Facets must be stripped if you have a facet in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the facets to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFacets] + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = publishDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +; +; Leave the section empty if you do not need checkbox facets. +; +; NOTE: Do not create CheckboxFacets using values that also exist in the +; other facet sections above -- this will not work correctly. +[CheckboxFacets] +;edition:1st* = "First Edition" ; Contrived hypothetical example + +; These settings affect the way the [Results] facets are displayed +; If using facets at the top of search results you have more room for text. +[Results_Settings] +facet_limit = 30 ; how many values should we show for each facet? +; Rows and columns for table used by top facets +top_rows = 2 +top_cols = 3 + +; The author home screen has different facets +[Author] +topic_facet = "Related Subjects" + +; These facets will be displayed as limiters on the advanced search search screen +[Advanced] +callnumber-first = "Call Number" +language = Language +format = Format + +; These settings affect the way the [Advanced] facets are displayed +[Advanced_Settings] +facet_limit = 100 ; how many values should we show for each facet? + +; The facets listed under the [Advanced] section above will be used as limiters on +; the advanced search screen and will be displayed uniformly as multi-select boxes. +; Some facet types don't lend themselves to this format, and they can be turned on +; by inclusion in the comma-separated list below, or turned off by being excluded. +; Currently, just two values are supported: "illustrated", for the "illustrated/not +; illustrated" radio button limiter and "daterange" for the publication year range +; control. +special_facets = "illustrated,daterange" + +; Any facets named in the list below will have their values run through the +; translation code; unlisted facets will displayed as-is without translation. For +; translated facets, be sure that all of the necessary strings are included in the +; language files found in the web/lang directory. By default, no facets are +; translated -- uncomment or add lines below to turn on this feature. +;translated_facets[] = institution +;translated_facets[] = building +translated_facets[] = format \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.2/fulltext.ini b/module/VuFind/tests/fixtures/configs/1.2/fulltext.ini new file mode 100644 index 0000000000000000000000000000000000000000..c9bad66037a731c8d2fde991d9c175f02da3196b --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/fulltext.ini @@ -0,0 +1,13 @@ +; This file contains settings used for full text indexing. See the documentation +; on the XSLT import tool for more details: +; http://vufind.org/wiki/importing_records#importing_with_xslt + +; Aperture is a Java tool for extracting full text from documents. It is not +; included with VuFind by default, but it can be downloaded here: +; http://aperture.sourceforge.net/ +; VuFind's Aperture code was tested with version 1.5.0 of the package. +[Aperture] +; Once you have installed Aperture, uncomment one of the following two lines +; and fill in the appropriate path to take advantage of it. +;webcrawler = "/usr/local/aperture/bin/webcrawler.sh" ; Linux +;webcrawler = "c:\aperture\bin\webcrawler.bat" ; Windows diff --git a/module/VuFind/tests/fixtures/configs/1.2/searches.ini b/module/VuFind/tests/fixtures/configs/1.2/searches.ini new file mode 100644 index 0000000000000000000000000000000000000000..6d98be8adb94b8dee16bba0c07be0a8d54ada9b0 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/searches.ini @@ -0,0 +1,347 @@ +; This section contains global settings affecting search behavior. +[General] +default_handler = AllFields ; Search handler to use if none is specified + +; This setting controls the default sort order of search results if no search- +; specific setting was present in the [DefaultSortingByType] section below; the +; selected option should be one of the options present in the [Sorting] section +; below. +default_sort = relevance + +; This setting controls the default view for search results; the selected option +; should be one of the options present in the [Views] section below. +default_view = list + +; This section controls the result limit options for search results. default_limit +; sets the default number of results per page. limit_options is a comma-separated +; list of numbers to be presented to the end-user. If only one limit is required, +; set default_limit and leave limit_options commented out. +; WARNING: using large limits (i.e. greater than 20) may interfere with some book +; preview options (i.e. HathiTrust) and may require you to raise your PHP memory +; limits to avoid errors. +default_limit = 20 +;limit_options = 10,20,40,60,80,100 + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; If this setting is true, range operators in searches ([a TO b] or {a TO b}) +; will only be recognized if the word "TO" is ALL UPPERCASE. Additionally, the +; edges of the range may be treated in a case sensitive manner. If set to false, +; ranges will be recognized regardless of case -- this will allow better matching +; at the cost of a bit of extra server-side processing. +case_sensitive_ranges = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +default_top_recommend[] = TopFacets:ResultsTop +default_side_recommend[] = SideFacets:Results:CheckboxFacets + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results. +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; a keyword match is found in a field that is not normally displayed as part of +; the listing. For finer control over which fields are used for snippets, see +; the record driver code (web/RecordDrivers/IndexRecord.php). +; +; For control over snippet captions, see the [Snippet_Captions] section below. +snippets = true + +; When you filter a search using facets, VuFind will present a checkbox that can +; be used to apply those filters to the next search you perform. This setting +; controls its default state: on (true) or off (false). +retain_filters_by_default = true + +[Cache] +; This controls whether the parsed searchspecs.yaml file will be stored to +; improve search performance; legal options are APC (use APC cache), File (store +; on disk) or false (do not cache). +type = File + +; This section shows which search types will display in the basic search box at +; the top of most pages. The name of each setting below corresponds with a +; search handler (either DisMax or from conf/searchspecs.yaml). The value of +; each setting is the text to display on screen. All on-screen text will be run +; through the translator, so be sure to update language files if necessary. The +; order of these settings will be maintained in the drop-down list in the UI. +; +; Note: The search type of "tag" is a special case that gets handled differently +; because tags are not stored in the same index as everything else. Treat +; this as a reserved word if you create your own custom search handlers. +[Basic_Searches] +AllFields = "All Fields" +Title = Title +;JournalTitle = "Journal Title" +Author = Author +Subject = Subject +CallNumber = "Call Number" +ISN = "ISBN/ISSN" +tag = Tag + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +;JournalTitle = adv_search_journaltitle +Author = adv_search_author +Subject = adv_search_subject +CallNumber = adv_search_callnumber +ISN = adv_search_isn +publisher = adv_search_publisher +Series = adv_search_series +year = adv_search_year +toc = adv_search_toc + +; This section defines the sort options available on standard search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Solr index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. To allow secondary +; sorting, you may include a comma-separated list of options (for example, +; "year desc,title asc"), but this list may NOT include the special "relevance" +; value. Values on the right of the equal sign are text that will be run +; through the translation module and displayed on screen. +; +; Note: "year", "author" and "title" are special shortcut aliases for the +; "publishDate", "authorStr" and "title_sort" Solr fields; you can use +; either form in this file. +[Sorting] +relevance = sort_relevance +year = sort_year +year asc = "sort_year asc" + +; Use the "callnumber" line for LC or the "dewey-sort" line for Dewey Decimal. +; If you want to enable both systems for sorting, you can uncomment both lines, +; but you will need to add some custom text to distinguish between the two. +callnumber = sort_callnumber +;dewey-sort = sort_callnumber + +author = sort_author +title = sort_title + +; This section allows you to specify the default sort order for specific types of +; searches. Each key in this section should correspond with a key in the +; [Basic_Searches] section above. Each value should correspond with a key in the +; [Sorting] section above. Any search type that is not listed here will be sorted +; using the default_sort setting in the [General] section above. +[DefaultSortingByType] +CallNumber = callnumber + +; Each search type defined in searchspecs.yaml can have one or more "recommendations +; modules" associated with it in the following sections. These plug-ins will cause +; boxes of suggestions to appear beside (in [SideRecommendations]) or above (in +; [TopRecommendations]) the search results. You can repeat the line to display a +; series of recommendations boxes in a particular section -- just be sure to include +; brackets ("[]") after the search type name. If you do not want recommendations +; for a particular search type, set the value to "false" in either or both sections. +; Any search types not listed here will use the default value -- see the +; default_top_recommend and default_side_recommend settings in the [General] +; section above. It is legal to set the default options to false if you want no +; default value. +; +; Available modules recommended for use in the side area: +; +; CatalogResults:[GET parameter]:[result limit] +; Display catalog search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). This is designed for use with non-catalog modules. +; ExpandFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." Rather than using +; facets to limit the existing search, this module uses them to start a new +; search showing all records matching the selected facet value. +; SideFacets:[regular facet section]:[checkbox facet section]:[ini name] +; Display the specified facets, where [ini name] is the name of an ini file +; in web/conf (defaults to "facets" if not supplied), [regular facet section] +; is the name of a section of the ini file containing standard facet settings +; (defaults to "Results" if not specified), and [checkbox facet section] is +; the name of a section of the ini file containing checkbox facet settings +; (leave blank for no checkbox facets). +; SummonDatabases:[GET parameter] +; Display Summon-generated database recommendations matching the terms found +; in the specified GET parameter. NOTE: If you are using this module with a +; Summon search, the [GET parameter] setting will be ignored and the actual +; current Summon search will be used instead. The parameter only needs to be +; specified when combining this module with a non-Summon-based search module. +; SummonResults:[GET parameter]:[result limit] +; Display Summon search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). +; +; Available modules recommended for use in the top area: +; +; AuthorFacets +; Display author names based on the search term. +; TopFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." +; WorldCatIdentities +; Use the WorldCat Identities API to find names and related subjects based +; on the current search. +; WorldCatTerms:[vocabulary] +; Use the WorldCat Terminologies API to find Library of Congress Subject +; Headings related to the current search. [vocabulary] is the vocabulary to +; use for recommendations; default is "lcsh" but other options include "fast", +; "mesh", etc. See http://tspilot.oclc.org/resources/ for details. +; OpenLibrarySubjects:[GET parameter]:[limit]:[date filter]:[Subject types] +; Display full-text, public scans from the Open Library (OL) Subjects API. +; [GET parameter] (default = "lookfor"), [limit] (default = 5), +; [date filter] The name of a date filter (from facet settings) to apply to +; searches. Defaults to "publishDate" if blank; set to "false" to disable. +; [Subject types] (default = "topic") comma-separated list of subject types to +; test. Open Library distinguishes between the following subject types: +; topic,place,person,time +; Note: an API call will be made for each type until valid data is returned +; which will slow down the loading of the main VuFind result set, +; see OpenLibrarySubjectsDeferred +; OpenLibrarySubjectsDeferred:[GET parameter]:[limit]:[date filter]:[Subject types] +; The same as OpenLibrarySubjects but uses AJAX to make the API calls after the +; main result set has loaded +; +; You can build your own recommendations modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/building_a_recommendations_module +[SideRecommendations] +; No search-specific settings by default -- add your own here. +;Subject[] = SideFacets +;Subject[] = OpenLibrarySubjectsDeferred:lookfor:5:true:topic,place,person,time + +[TopRecommendations] +Author[] = AuthorFacets +;Author[] = WorldCatIdentities +;Subject[] = WorldCatTerms + +; These settings control the top and side recommendations within the special Author +; module (the page accessed by clicking on an author's name within the search +; results). The Author module ignores the default_top_recommend and +; default_side_recommend settings and only uses this section. +[AuthorModuleRecommendations] +;top[] = TopFacets:ResultsTop +;side[] = SideFacets:Results:CheckboxFacets +side[] = "ExpandFacets:Author" + +; This section controls the "New Items" search. +[NewItem] +; Comma-separated list of date ranges to offer to the user (i.e. 1,5,30 = one day +; old, or five days old, or thirty days old). Be careful about raising the maximum +; age too high -- searching very long date ranges may put a load on your ILS. +ranges = 1,5,30 +; This setting controls the maximum number of pages of results that will show up +; when doing a new item search. It is necessary to limit the number of results to +; avoid getting a "too many boolean clauses" error from the Solr index (see notes +; at http://vufind.org/jira/browse/VUFIND-128 for more details). However, if you +; set the value too low, you may get the same results no matter which range setting +; is selected! +result_pages = 10 +; This setting can be used to automatically apply filter queries to the New Item +; results. For example, you might want to filter out certain content types. You +; can add multiple filters by repeating the "filter[] =" line, or you can skip +; filtering entirely by leaving the line commented out. +; filter[] = "format:Book" + +; This section controls RSS feed behavior +[RSS] +; If set, this setting will override sort settings associated with RSS feeds. This +; allows you to ensure that newly added or changed items in your index appear at +; the top of the feed. Use "first_indexed desc" if you only want newly-added items +; to be listed first. Use "last_indexed desc" if you want newly-added-or-changed +; items. Comment out the whole setting if you do not want custom RSS sorting. +; IMPORTANT: In order for first_indexed and last_indexed sorting to work properly, +; you need to index record change dates; see the Wiki page at +; http://vufind.org/wiki/tracking_record_changes +sort = "last_indexed desc" + +; The following two sections control the behavior of the autocomplete drop-downs +; associated with search boxes. The [Autocomplete] section contains global default +; settings, while the [Autocomplete_Types] section allows you to associate different +; autocomplete handlers with different search handlers. +; +; The available autocomplete handlers are: +; +; NoAutocomplete +; Do not provide any suggestions. You should use this handler if you want to +; disable suggestions for one search type while still providing suggestions +; for other search types. To disable suggestions completely, it is better to +; use the "enabled" setting in the [Autocomplete] section. +; SolrAuthAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; See SolrAutocomplete below -- this handler behaves exactly the same, except +; it uses the Solr authority data index rather than the bibliographic index, +; and its default [Display Field] value is "heading". +; SolrAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; Perform a wildcarded search against [Search Handler], using the contents of +; [Display Field] (a comma-separated, priority-ordered field list) as +; suggestions and sorting by [Sort Field]. Any additional parameters at the +; end of the string are treated as an alternating sequence of field names and +; values for use as filters against the suggestion list. All parameters are +; optional. If omitted, [Search Handler] will use the default Solr field, +; [Display Field] will use "title", [Sort Field] will use relevance and no +; filters will be applied. +; SolrCNAutocomplete +; A customized version of SolrAutocomplete designed for smart handling of +; call numbers using the custom CallNumber search handler. +; TagAutocomplete +; Provide suggestions from the local database of tags. +; +; You can build your own autocomplete modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/autocomplete +[Autocomplete] +; Set this to false to disable all autocomplete behavior +enabled = true +; This handler will be used for all search types not covered by [Autocomplete_Types] +default_handler = SolrAutocomplete + +; In this section, set the key equal to a search handler from searchspecs.yaml and +; the value equal to an autocomplete handler in order to customize autocompletion +; behavior when that search type is selected. +[Autocomplete_Types] +Title = "SolrAutocomplete:Title" +JournalTitle = "SolrAutocomplete:JournalTitle" +Author = "SolrAutocomplete:Author:author,author2" +Subject = "SolrAutocomplete:Subject:topic,genre,geographic,era" +CallNumber = "SolrCNAutocomplete" +ISN = "SolrAutocomplete:ISN:isbn,issn" +tag = "TagAutocomplete" + +; When snippets are enabled, this section can be used to display captions based on +; the Solr fields from which the snippets were obtained. Keys are the names of Solr +; fields and values are strings to display to the user. Note that all displayed +; strings are subject to translation and should be accounted for in the language +; files found in web/lang if you are in a multilingual environment. Fields that are +; not listed in this section will be displayed without captions, so you can comment +; out the whole section to disable captions. +[Snippet_Captions] +author2 = "Other Authors" +contents = "Table of Contents" +topic = "Subjects" + +; Fields must be stripped if you have a field in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the fields to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFields] + +; This section defines the view options available on standard search results. +; If only one view is required, set default_view under [General] above, and +; leave this section commented out. +;[Views] +;list = List +;grid = Grid + +; This section allows for adding hidden filters. Each filter will be translated +; to format 'key:"value"' and added by Solr.php as a hidden filter (a facet that +; is always applied but is not seen by the user). This is useful if you use a +; shared Solr index and need to display different subsets in different contexts +; (for example, a union catalog with separate VuFind instances each member). +[HiddenFilters] +;institution = "MyInstitution" diff --git a/module/VuFind/tests/fixtures/configs/1.2/searchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.2/searchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dfa0ad7b6553fd27876b468e0ac39f880dead0b9 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/searchspecs.yaml @@ -0,0 +1,473 @@ +--- +# Listing of search types and their component parts and weights. +# +# Format is: +# searchType: +# # CustomMunge is an optional section to define custom pre-processing of +# # user input. See below for details of munge actions. +# CustomMunge: +# MungeName1: +# - [action1, actionParams] +# - [action2, actionParams] +# - [action3, actionParams] +# MungeName2: +# - [action1, actionParams] +# # DismaxFields is optional and defines the fields sent to the Dismax handler +# # when we are able to use it. QueryFields will be used for advanced +# # searches that Dismax cannot support. QueryFields is always used if no +# # DismaxFields section is defined. +# DismaxFields: +# - field1^boost +# - field2^boost +# - field3^boost +# # DismaxParams is optional and allows you to override default Dismax settings +# # (i.e. mm / bf) on a search-by-search basis. If you want global default +# # values for these settings, you can edit the "dismax" search handler in +# # solr/biblio/conf/solrconfig.xml. +# DismaxParams: +# - [param1_name, param1_value] +# - [param2_name, param2_value] +# - [param3_name, param3_value] +# # QueryFields define the fields we are searching when not using Dismax +# QueryFields: +# - SolrField: +# - [howToMungeSearchstring, weight] +# - [differentMunge, weight] +# - DifferentSolrField: +# - [howToMunge, weight] +# # The optional FilterQuery section allows you to AND a static query to the +# # dynamic query generated using the QueryFields; see JournalTitle below +# # for an example. This is applied whether we use DismaxFields or +# # QueryFields. +# FilterQuery: (optional Lucene filter query) +# +# ...etc. +# +#----------------------------------------------------------------------------------- +# +# Within the QueryFields area, fields are OR'd together, unless they're in an +# anonymous array, in which case the first element is a two-value array that tells +# us what the type (AND or OR) and weight of the whole group should be. +# +# So, given: +# +# test: +# QueryFields: +# - A: +# - [onephrase, 500] +# - [and, 200] +# - B: +# - [and, 100] +# - [or, 50] +# # Start an anonymous array to group; first element indicates AND grouping +# # and a weight of 50 +# - +# - [AND, 50] +# - C: +# - [onephrase, 200] +# - D: +# - [onephrase, 300] +# # Note the "not" attached to the field name as a minus, and the use of ~ +# # to mean null ("no special weight") +# - -E: +# - [or, ~] +# - D: +# - [or, 100] +# +# ...and the search string +# +# test "one two" +# +# ...we'd get +# +# (A:"test one two"^500 OR +# A:(test AND "one two")^ 200 OR +# B:(test AND "one two")^100 OR +# B:(test OR "one two")^50 +# ( +# C:("test one two")^200 AND +# D:"test one two"^300 AND +# -E:(test OR "one two") +# )^50 OR +# D:(test OR "one two")^100 +# ) +# +#----------------------------------------------------------------------------------- +# +# Munge types are based on the original Solr.php code, and consist of: +# +# onephrase: eliminate all quotes and do it as a single phrase. +# testing "one two" +# ...becomes ("testing one two") +# +# and: AND the terms together +# testing "one two" +# ...becomes (testing AND "one two") +# +# or: OR the terms together +# testing "one two" +# ...becomes (testing OR "one two") +# +# Additional Munge types can be defined in the CustomMunge section. Each array +# entry under CustomMunge defines a new named munge type. Each array entry under +# the name of the munge type specifies a string manipulation operation. Operations +# will be applied in the order listed, and different operations take different +# numbers of parameters. +# +# Munge operations: +# +# [append, text] - Append text to the end of the user's search string +# [lowercase] - Convert string to lowercase +# [preg_replace, pattern, replacement] - Perform a regular expression replace +# using the preg_replace() PHP function +# [uppercase] - Convert string to uppercase +# +# See the CallNumber search below for an example of custom munging in action. +#----------------------------------------------------------------------------------- + +# These searches use Dismax when possible: +Author: + DismaxFields: + - author^100 + - author_fuller^50 + - author2 + - author_additional + QueryFields: + - author: + - [onephrase, 350] + - [and, 200] + - [or, 100] + - author_fuller: + - [onephrase, 200] + - [and, 100] + - [or, 50] + - author2: + - [onephrase, 100] + - [and, 50] + - [or, ~] + - author_additional: + - [onephrase, 100] + - [and, 50] + - [or, ~] + +ISN: + DismaxFields: + - isbn + - issn + QueryFields: + - issn: + - [and, 100] + - [or, ~] + - isbn: + - [and, 100] + - [or, ~] + +Subject: + DismaxFields: + - topic_unstemmed^150 + - topic^100 + - geographic^50 + - genre^50 + - era + QueryFields: + - topic_unstemmed: + - [onephrase, 350] + - [and, 150] + - [or, ~] + - topic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - geographic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - genre: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - era: + - [and, 100] + - [or, ~] + +JournalTitle: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + FilterQuery: "format:Journal" + +Title: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + +Series: + DismaxFields: + - series^100 + - series2 + QueryFields: + - series: + - [onephrase, 500] + - [and, 200] + - [or, 100] + - series2: + - [onephrase, 50] + - [and, 50] + - [or, ~] + +AllFields: + DismaxFields: + - title_short^750 + - title_full_unstemmed^600 + - title_full^400 + - title^500 + - title_alt^200 + - title_new^100 + - series^50 + - series2^30 + - author^300 + - author_fuller^150 + - contents^10 + - topic_unstemmed^550 + - topic^500 + - geographic^300 + - genre^300 + - allfields_unstemmed^10 + - fulltext_unstemmed^10 + - allfields + - fulltext + QueryFields: + - + - [OR, 50] + - title_short: + - [onephrase, 750] + - title_full_unstemmed: + - [onephrase, 600] + - [and, 500] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + series: + - [and, 50] + series2: + - [and, 30] + author: + - [onephrase, 300] + - [and, 250] + author_fuller: + - [onephrase, 150] + - [and, 125] + author2: + - [and, 50] + author_additional: + - [and, 50] + contents: + - [and, 10] + topic_unstemmed: + - [onephrase, 550] + - [and, 500] + topic: + - [onephrase, 500] + geographic: + - [onephrase, 300] + genre: + - [onephrase, 300] + allfields_unstemmed: + - [or, 10] + fulltext_unstemmed: + - [or, 10] + allfields: + - [or, ~] + fulltext: + - [or, ~] + +# These are advanced searches that never use Dismax: +id: + QueryFields: + - id: + - [onephrase, ~] + +# Fields for exact matches originating from alphabetic browse +ids: + QueryFields: + - id: + - [or, ~] + +TopicBrowse: + QueryFields: + - topic_browse: + - [onephrase, ~] + +AuthorBrowse: + QueryFields: + - author_browse: + - [onephrase, ~] + +TitleBrowse: + QueryFields: + - title_full: + - [onephrase, ~] + +DeweyBrowse: + QueryFields: + - dewey-raw: + - [onephrase, ~] + +LccBrowse: + QueryFields: + - callnumber-a: + - [onephrase, ~] + +CallNumber: + # We use two similar munges here -- one for exact matches, which will get + # a very high boost factor, and one for left-anchored wildcard searches, + # which will return a larger number of hits at a lower boost. + CustomMunge: + callnumber_exact: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + callnumber_fuzzy: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + # Ensure we have just one trailing asterisk. The trailing space inside + # the quotes has no effect on searching; it is a workaround for a + # Horde::YAML parsing glitch -- see VUFIND-160 in JIRA for details. + - [append, "* "] + QueryFields: + - callnumber: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + - dewey-full: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + +publisher: + QueryFields: + - publisher: + - [and, 100] + - [or, ~] + +year: + QueryFields: + - publishDate: + - [and, 100] + - [or, ~] + +language: + QueryFields: + - language: + - [and, ~] + +toc: + QueryFields: + - contents: + - [and, 100] + - [or, ~] + +topic: + QueryFields: + - topic: + - [and, 50] + - topic_facet: + - [and, ~] + +geographic: + QueryFields: + - geographic: + - [and, 50] + - geographic_facet: + - [and ~] + +genre: + QueryFields: + - genre: + - [and, 50] + - genre_facet: + - [and, ~] + +era: + QueryFields: + - era: + - [and, ~] + +oclc_num: + CustomMunge: + oclc_num: + - [preg_replace, "/[^0-9]/", ""] + # trim leading zeroes: + - [preg_replace, "/^0*/", ""] + QueryFields: + - oclc_num: + - [oclc_num, ~] diff --git a/module/VuFind/tests/fixtures/configs/1.2/sitemap.ini b/module/VuFind/tests/fixtures/configs/1.2/sitemap.ini new file mode 100644 index 0000000000000000000000000000000000000000..68b542cef29a921965e9f2ed5fb75b8c24dbf4cf --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/sitemap.ini @@ -0,0 +1,63 @@ +; This file contains global settings affecting sitemap generation behavior. +; Currently, this is accessed by the sitemap.php script in the +; vufind/util folder. +; Note: For full details on the sitemaps protocol, see http://sitemaps.org + +; The Sitemap Section contains settings affecting the generation of +; individual sitemap files +[Sitemap] + +; Frequency tells the site indexer (aka Google, etc) how frequently you +; expect the content of the given URL entry to be updated. The options are: +; always, hourly, daily, weekly, monthly, yearly and never +frequency = weekly + +; countPerPage indicates how many URL entries will appear in each outputted sitemap +; This is useful in case your repository is huge (as many search engines cap +; the number of urls in a sitemap to around 50000) or if you're indexing formats +; that severly reduce the amount of items that can go into a sitemap (aka +; images indexed in google max at 1000 per sitemap). +countPerPage = 10000 + +; fileName dictates what base name each sitemap will get. If multiple sitemaps +; are generated (via the index size being larger than the countPerPage above) +; the subsequent name files will have a number appended to the base name. +; So, for example, if the code generates three sitemap files, and the basename +; is "sitemap", the three files will be named sitemap.xml, sitemap-2.xml and +; sitemap-3.xml +fileName = sitemap + +; fileLocation dictates where the generated sitemaps will initially be saved. +; Note: To make sitemaps available to a site indexer, they will need to be +; somewhere under the /web folder of your VuFind installation. Furthermore, +; sitemaps.org sets limitations on the paths that can be covered by a given +; sitemap. See http://sitemaps.org/protocol.php#location for details. +fileLocation = /tmp + +; The SitemapIndex Section contains settings affecting the generation of +; a sitemap index file which groups multiple sitemap files. The sitemap +; index file will contain absolute URLs to the individual sitemap files. +[SitemapIndex] + +; This setting indicates the base URL at which your sitemaps are generated. Note +; that in most cases it should correspond with the value of fileLocation above! +; It is "strongly recommended" by sitemaps.org that this location should be the +; root of your website! If this is set to false or commented out, the base +; VuFind URL from config.ini will be used. +baseSitemapUrl = false + +; indexFileName dictates the base name of the sitemap index file, +; e.g. sitemapIndex will result in sitemapIndex.xml +; You can comment out this setting to skip index file generation. +indexFileName = sitemapIndex + +; In addition to the generated sitemap files which contain the URLs for each +; record, the sitemap index file can reference a static sitemap file for other +; pages in your catalogue interface such as the Advanced Search, Browse, etc. +; In creating this sitemap, you can avail of the <priority /> element to indicate +; the priority of these URLs relative to the record URLs which have the default +; priority of 0.5. baseSitemapFileName dictates the base name of this sitemap +; file. Note that this file must actually exist in fileLocation in order for it +; to be added to the sitemap index! +; You can comment out this setting if you do not want to use a base sitemap. +baseSitemapFileName = baseSitemap diff --git a/module/VuFind/tests/fixtures/configs/1.2/sms.ini b/module/VuFind/tests/fixtures/configs/1.2/sms.ini new file mode 100644 index 0000000000000000000000000000000000000000..9676917a86132725e956a36754b7bfc98d3b6cc2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/sms.ini @@ -0,0 +1,23 @@ +; This file defines the list of carriers and their domain names for the SMS service +; The format is: unique_identifier = carrier.domain.name:Display Name +; +;For additional carriers, you may find it useful to refer to http://www.txt2day.com +[Carriers] +; Carriers in the US +virgin = vmobl.com:"Virgin Mobile" +att = txt.att.net:"AT&T" +verizon = vtext.com:"Verizon" +nextel = messaging.nextel.com:"Nextel" +sprint = messaging.sprintpcs.com:"Sprint" +tmobile = tmomail.net:"T Mobile" +alltel = message.alltel.com:"Alltel" +Cricket = mms.mycricket.com:"Cricket" + +; Carriers in Canada +;bell.ca = txt.bell.ca:"Bell" +;rogers.com = pcs.rogers.com:"Rogers" +;fido.ca = fido.ca:"Fido" +;telus.com = msg.telus.com:"Telus" +;vmobile.ca = vmobile.ca:"Virgin Mobile (Canada)" +;mobiletxt.ca = mobiletxt.ca:"PC Mobile" +;koodomobile.com = msg.koodomobile.com:"Koodo" diff --git a/module/VuFind/tests/fixtures/configs/1.2/vufind.ini b/module/VuFind/tests/fixtures/configs/1.2/vufind.ini new file mode 100644 index 0000000000000000000000000000000000000000..d56e3fa2878ad62e64e8030c4ed9ccbe47fb48cd --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.2/vufind.ini @@ -0,0 +1,120 @@ + +[change_tracker] +core = 130 +id = 130 +first_indexed = 14 +last_indexed = 14 +last_record_change = 14 +deleted = 14 + +[change_tracker__keys] +core = K +id = K + +[comments] +id = 129 +user_id = 129 +resource_id = 129 +comment = 194 +created = 142 + +[comments__keys] +id = N + +[oai_resumption] +id = 129 +params = 66 +expires = 142 + +[oai_resumption__keys] +id = N + +[resource] +id = 129 +record_id = 130 +title = 130 +source = 130 + +[resource__keys] +id = N + +[resource_tags] +id = 129 +resource_id = 129 +tag_id = 129 +user_id = 129 +list_id = 129 +posted = 384 + +[resource_tags__keys] +id = N + +[search] +id = 129 +user_id = 129 +folder_id = 1 +created = 134 +title = 2 +saved = 145 +search_object = 66 +session_id = 2 + +[search__keys] +id = N + +[tags] +id = 129 +tag = 130 + +[tags__keys] +id = N + +[user] +id = 129 +username = 130 +password = 130 +firstname = 130 +lastname = 130 +email = 130 +cat_username = 2 +cat_password = 2 +college = 130 +home_library = 130 +major = 130 +created = 142 + +[user__keys] +id = N + +[user_resource] +id = 129 +user_id = 129 +resource_id = 129 +list_id = 129 +notes = 66 +saved = 384 + +[user_resource__keys] +id = N + +[user_list] +id = 129 +user_id = 129 +title = 2 +description = 66 +created = 142 +public = 129 + +[user_list__keys] +id = N + +[session] +id = 129 +session_id = 2 +data = 66 +last_used = 129 +created = 142 + +[session__keys] +id = N + diff --git a/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini new file mode 100644 index 0000000000000000000000000000000000000000..9a28cecf67a0cc7547dcbc8c71bb0105e6a6d4cd --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini @@ -0,0 +1,30 @@ +[Catalog] +host = aleph.mylibrary.edu ; [your Aleph server] + +; bibliographic library -- the library that your bibs are in - normally XXX01 +; where XXX is a prefix that you have configured. It's the library you would +; search in your cataloging client. +bib = LIB01 + +; user library -- this is where your patrons are stored. It is the usr_library +; setting in your aleph_start configuration file. +useradm = LIB00 + +; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is +; your a prefix that you have defined. This is the library you connect to with +; your circ client. You'll also see it in your cataloging client because the +; items will be hanging from it. +admlib = FUB50 + +; loan libraries +loanlib = "LIB50 LIB51 LIB52 LIB53 ..." + +; WWW-X user +wwwuser = "WWW-X" +wwwpasswd = "your password" + +; adm-lib / sub-library array +; This is a list of patron home libraries and the ADM the library belongs to +[sublibadm] +ARC = ACC50 +CBR = ACC50 \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/Amicus.ini b/module/VuFind/tests/fixtures/configs/1.3/Amicus.ini new file mode 100644 index 0000000000000000000000000000000000000000..e913d5d5c2fdee41e6ab9d3ada3c2f4fb6d86d4a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Amicus.ini @@ -0,0 +1,9 @@ +[Catalog] +host = host_name +port = port_number +service = service_name +user = oracle_username +password = oracle_password +hold = http://url_for_holds + + diff --git a/module/VuFind/tests/fixtures/configs/1.3/DAIA.ini b/module/VuFind/tests/fixtures/configs/1.3/DAIA.ini new file mode 100644 index 0000000000000000000000000000000000000000..c1d828105cdb43a1add459a4646b8cfd8a2e0e07 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/DAIA.ini @@ -0,0 +1,2 @@ +[Global] +baseUrl = [your DAIA server base url] \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/Evergreen.ini b/module/VuFind/tests/fixtures/configs/1.3/Evergreen.ini new file mode 100644 index 0000000000000000000000000000000000000000..24213a351324eb4b2f4bd4729fb21a0d5b06bf55 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Evergreen.ini @@ -0,0 +1,6 @@ +[Catalog] +port = 5432 +hostname = localhost +database = evergreen +user = evergreen +password = evergreen diff --git a/module/VuFind/tests/fixtures/configs/1.3/Horizon.ini b/module/VuFind/tests/fixtures/configs/1.3/Horizon.ini new file mode 100644 index 0000000000000000000000000000000000000000..0105d059012faa682cf12cd5c4b400b690196445 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Horizon.ini @@ -0,0 +1,6 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = portnumber +username = myusername +password = mypassword +database = mydatabase diff --git a/module/VuFind/tests/fixtures/configs/1.3/HorizonXMLAPI.ini b/module/VuFind/tests/fixtures/configs/1.3/HorizonXMLAPI.ini new file mode 100644 index 0000000000000000000000000000000000000000..bd19379e9b2369f0156b45d5d5a5e9569fc24aa0 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/HorizonXMLAPI.ini @@ -0,0 +1,42 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = portnumber +username = myusername +password = mypassword +database = mydatabase + +[Webservices] +profile = "xxx--1" +HIPurl = http://hip.myuniversity.edu/ipac20/ipac.jsp + +[pickUpLocations] +; This setting is used to define library codes and named values which are used by the +; system to indicate the library at which a hold is to be collected. Horizon uses +; the descriptive name to place the hold, not the code (which can be assigned +; arbitrarily) +locationID = "locationDisplay" + +;Holds are optional. +[Holds] +; HMACKeys - A list of hold form element names that will be analyzed for consistency +; during hold form processing. Most users should not need to change this setting. +HMACKeys = item_id + +; notify - The method by which users are notified when their hold / request is +; available. Must correspond with a Horizon system setting. +notify = "e-mail" + +; defaultRequiredDate - A colon-separated list used to set the default "not required +; after" date for holds in the format days:months:years +; e.g. 0:1:0 will set a "not required after" date of 1 month from the current date +defaultRequiredDate = 0:1:0 + +; Horizon appears to rely on text values rather than codes for determining the pickup +; location. This sets the default pickup location and MUST match one of the locations +; listed in pickUpLocations +defaultPickUpLocation = "locationID" + +; extraHoldFields - A colon-separated list used to display extra visible fields in +; the place holds form. Supported values are "comments", "requiredByDate" and +; "pickUpLocation" +extraHoldFields = pickUpLocation diff --git a/module/VuFind/tests/fixtures/configs/1.3/Innovative.ini b/module/VuFind/tests/fixtures/configs/1.3/Innovative.ini new file mode 100644 index 0000000000000000000000000000000000000000..88dcc77b30bc1dac9afc378ae5c9deff39c37448 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Innovative.ini @@ -0,0 +1,30 @@ +[Catalog] +url = http://catalog.library.myuniversity.edu + +; The following is a set of fields to look up for +; Change them to match your HTML +[OPAC] +location_column = "Location" +call_no_column = "Call No" +status_column = "Status" +reserves_column = "Location" +reserves_key_name = "res" +status_avail = "AVAILABLE" +status_due = "DUE " + +[PATRONAPI] +; Enable III Patron API usage for patron authentication +; and profile information. +enabled = "true" +url = http://catalog.library.myuniversity.edu:4500/PATRONAPI/ + +; Do not change unless you have changed your indexing routine to +; strip the leading '.' and trailing check digit in your III record numbers. +; E.g. .b1000167x - set to true +; b1000167 - set to false +; +; You can perform the strip operation by adding a line similar to this in +; import/marc_local.properties: +; id = 907a[1-8] +[RecordID] +use_full_id = true \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/Koha.ini b/module/VuFind/tests/fixtures/configs/1.3/Koha.ini new file mode 100644 index 0000000000000000000000000000000000000000..100df0db9c711cc88a4a16d421cb98833a3c8a0e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Koha.ini @@ -0,0 +1,22 @@ +[Catalog] +host = localhost +port = 3306 +username = mysqlusername +password = mysqlpassword +database = koha +url = http://library.myuniversity.edu + +; This section translates Koha's internal location codes into strings for on-screen +; display. You can customize the text to your liking. +[Location_Codes] +AV = "Audio Visual" +CART = "Book Cart" +CHILD = "Children's Area" +DISPLAY = "On Display" +FIC = "Fiction" +GEN = "General Shelf" +NEW = "New Materials Shelf" +PROC = "Processing Center" +REF = "Reference Shelf" +STAFF = "Staff Office" + diff --git a/module/VuFind/tests/fixtures/configs/1.3/NewGenLib.ini b/module/VuFind/tests/fixtures/configs/1.3/NewGenLib.ini new file mode 100644 index 0000000000000000000000000000000000000000..615facc1d81fae2362d11e1e1e1c6dfd72462db2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/NewGenLib.ini @@ -0,0 +1,6 @@ +[Catalog] +port =5432 +hostname =localhost +database =newgenlib +user =newgenlib +password =newgenlib diff --git a/module/VuFind/tests/fixtures/configs/1.3/PICA.ini b/module/VuFind/tests/fixtures/configs/1.3/PICA.ini new file mode 100644 index 0000000000000000000000000000000000000000..1fa51f3b93fcf487666df7f4f506e5288aa4005a --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/PICA.ini @@ -0,0 +1,3 @@ +[Catalog] +Host = "[your OPC Host]" +renewalsScript = "[URI of the script to get the number of renewals. This must be on the PICA catalog host]" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/Summon.ini b/module/VuFind/tests/fixtures/configs/1.3/Summon.ini new file mode 100644 index 0000000000000000000000000000000000000000..59c9a45aaa2333830ecc8b0cb85c86aa72f3592d --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Summon.ini @@ -0,0 +1,155 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +; +; Right now, VuFind is configured to use Summon database recommendations at the +; top of the search results and all facets to the side. You can reconfigure +; this by changing the default_top_recommend setting and [Facets] / [FacetsTop] +; sections below. +default_top_recommend[] = SummonDatabases +;default_top_recommend[] = TopFacets:FacetsTop:Summon +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:Summon + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results (may not apply to all fields). +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; available. +snippets = true + +; Summon has a fixed cap on how many results you can page through. Even though +; it may report more results than this number, you can't actually access results +; past the limit. This setting tells VuFind where to cut off its paging mechanism. +; You can raise this value as high as 20000, but performance suffers as page +; numbers increase. +result_limit = 2000 + +; The following two sections can be used to associate specific recommendations +; modules with specific search types defined in the [Basic_Searches] section +; below. For all the details on how these sections work, see the comments above +; the equivalent sections of searches.ini. Recommendations work the same in +; Summon as they do in the regular Search module. +[SideRecommendations] +; No search-specific settings by default -- add your own here. +[TopRecommendations] +; No search-specific settings by default -- add your own here. + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = PublicationDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +[CheckboxFacets] +;IsPeerReviewed:true = peer_reviewed_limit +IsScholarly:true = scholarly_limit +IsFullText:true = fulltext_limit +excludeNewspapers:true = exclude_newspapers +holdingsOnly:false = add_other_libraries + +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +; +; The name of the index field may optionally be followed by comma-separated +; parameters (i.e. ",or,1,15") as defined by the Summon API. Any provided +; parameters will override defaults like the facet_limit setting in +; [Facet_Settings] below. +[Facets] +Library = Location +ContentType = Format +SubjectTerms = Topic +Language = Language +PublicationDate = "adv_search_year" ; share year string w/advanced search page + +; These facets will be shown above search results if the TopFacets recommendations +; module is used, as opposed to the [Facets] section, which is shown to the side +; of search results when the SideFacets module is used. +; +; NOTE: This section is not used by default -- see default_top_recommend setting +; above for more details. +[FacetsTop] +SubjectTerms = "Suggested Topics" + +; Rows and columns for table used by top facets +[Results_Settings] +top_rows = 2 +top_cols = 3 + +; These settings affect the way the facets are displayed +[Facet_Settings] +facet_limit = 30 ; how many values should we show for each facet? + +; These settings affect the way facets are displayed on the advanced screen +[Advanced_Facet_Settings] +; Some special facets for advanced searching can be turned on by inclusion in +; the comma-separated list below, or turned off by being excluded. Currently, +; just one values is supported: "daterange" for the publication year range +; control. +special_facets = daterange + +; This section shows which search types will display in the basic search box at +; the top of Summon pages. The name of each setting below corresponds with an +; index defined in the Summon API. The value of each setting is the text to +; display on screen. All on-screen text will be run through the translator, so +; be sure to update language files if necessary. The order of these settings +; will be maintained in the drop-down list in the UI. +; +; Note: The search type of "AllFields" is a special case that searches all +; fields. All remaining values are from the list documented here: +; http://api.summon.serialssolutions.com/help/api/search/fields +[Basic_Searches] +AllFields = "All Fields" +Title = Title +Author = Author +SubjectTerms = Subject + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +PublicationTitle = adv_search_journaltitle +Author = adv_search_author +SubjectTerms = adv_search_subject +;LCCallNum = adv_search_callnumber +ISBN = ISBN +ISSN = ISSN +Publisher = adv_search_publisher +PublicationSeriesTitle = adv_search_series +PublicationYear = adv_search_year +TableOfContents = adv_search_toc + +; This section defines the sort options available on Summon search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Summon index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. Values on the right +; of the equal sign are text that will be run through the translation module and +; displayed on screen. +[Sorting] +relevance = sort_relevance +PublicationDate:desc = sort_year +PublicationDate:asc = "sort_year asc" + +; This section controls spell checking -- it can be disabled if desired. +[Spelling] +enabled = true \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/Unicorn.ini b/module/VuFind/tests/fixtures/configs/1.3/Unicorn.ini new file mode 100644 index 0000000000000000000000000000000000000000..284681b5e7f21a80bb7328e2dc573b271e6f4e26 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Unicorn.ini @@ -0,0 +1,63 @@ +[Catalog] +; specify the url to the SIRSI side perl script - the old way +;host = your-sirsi-web-server +;port = 80 +;search_prog = /pathto/driver.pl +; specifying url this way is more convenient +url = http://your-sirsi-web-server/pathto/driver.pl +; Unicorn/Symphony returns the fines amounts in cents, +; set this parameter to "true" to leave the fines +; amounts in cents instead of dollars, or to "false" +; to convert the amounts to dollars +leaveFinesAmountsInCents = true + +[ApiMessages] +105 = "This item has been recalled" +141 = "Renewal limit exceeded" +218 = "Your library account has been BLOCKED" +252 = "This item has holds" +722 = "You already have a hold on this item" +753 = "You already have this item checked out" +447 = "This item may not be available for circulation" +444 = "You have exceeded the limit for number of holds per user" + +; This section controls hold behavior; note that you must also ensure that Holds are +; enabled in the [Catalog] section of config.ini in order to take advantage of these +; settings. +[Holds] +; HMACKeys - A list of hold form element names that will be analyzed for consistency +; during hold form processing. Most users should not need to change this setting. +HMACKeys = item_id + +; defaultRequiredDate - A colon-separated list used to set the default "not required +; after" date for holds in the format days:months:years +; e.g. 0:1:0 will set a "not required after" date of 1 month from the current date +defaultRequiredDate = 0:1:0 + +; extraHoldFields - A colon-separated list used to display extra visible fields in the +; place holds form. Supported values are "comments", "requiredByDate" and +; "pickUpLocation" +extraHoldFields = requiredByDate:pickUpLocation:comments +; +: The following are lists of Location Codes and Item Types +; for items that are NOT AVAILABLE even if they are NOT checked out. +; The values on the right side of "=" is the status message to display. +; +[UnavailableLocations] +CLASSROOM = "Unavailable" +OFF-CAMPUS = "Unavailable" +BINDERY = "Unavailable" +CANCELLED = "Unavailable" +DISCARD = "Unavailable" +INTRANSIT = "Unavailable" +ON-ORDER = "Unavailable" +LOST = "Unavailable" +MISSING = "Unavailable" +HOLDS = "On Hold" +STORAGE = "In Storage" +WITHDRAWN = "Withdrawn" + +[UnavailableItemTypes] +IN-PROCESS = "In Process" +ON-ORDER = "Unavailable" + diff --git a/module/VuFind/tests/fixtures/configs/1.3/Virtua.ini b/module/VuFind/tests/fixtures/configs/1.3/Virtua.ini new file mode 100644 index 0000000000000000000000000000000000000000..d5ec6a38dfd2bb266d0e65de8a4d9e5321533334 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Virtua.ini @@ -0,0 +1,16 @@ +[Catalog] +; Your virtua database server +host = virtuadb.your.library.server +; Your iportal server +webhost = virtuaweb.your.library.server +; The iportal host string +host_string = virtuaweb.your.library.server+9002+DEFAULT +; The iportal patron string +patron_host = virtuaweb.your.library.server 9002 DEFAULT +; Oracle connection port +port = 1521 +; The TNS entry name for the database +service = VTLS01 +; Login details +user = username +password = password diff --git a/module/VuFind/tests/fixtures/configs/1.3/Voyager.ini b/module/VuFind/tests/fixtures/configs/1.3/Voyager.ini new file mode 100644 index 0000000000000000000000000000000000000000..f2b4d6c2258e50561f82ca24009f9af2d63bc631 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/Voyager.ini @@ -0,0 +1,39 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 1521 +service = VGER.catalog.library.myuniversity.edu +user = myusername +password = mypassword +database = MYDB +pwebrecon = http://catalog.library.myuniversity.edu/cgi-bin/Pwebrecon.cgi + +; If this is set to false, VuFind will connect to Voyager's Oracle database with +; SERVICE_NAME in the connection string. If set to true, it will use SID. If +; you have connection problems, try changing this setting. +connect_with_sid = false + +; The field in the PATRON table to use as a password when authenticating users; +; recommended values are LAST_NAME or PATRON_PIN (LAST_NAME is default) +login_field = LAST_NAME + +; These settings affect the Fund list used as a limiter in the "new items" module: +[Funds] +; Uncomment this line to turn off the fund list entirely. +;disabled = true + +; If you know what values you want to allow in your fund list, include them as +; whitelist lines below. ONLY VALUES INCLUDED IN WHITELIST LINES WILL BE SHOWN. +; Leave the whitelist commented out to get all values. +;whitelist[] = "First Good Value" +;whitelist[] = "Second Good Value" + +; If you wish to exclude certain values from your fund list, include them as +; blacklist lines below. There is no point in using blacklist lines if you have +; already set a whitelist above. +;blacklist[] = "First Bad Value" +;blacklist[] = "Second Bad Value" + +; This setting can be used to limit the fund list to those that are under a specific +; fund. Set it to 0 for top-level funds only. Set it to a FUND_ID deeper in the +; fund tree to filter out unwanted values. Leave it commented out to get all funds. +;parent_fund = 0 diff --git a/module/VuFind/tests/fixtures/configs/1.3/VoyagerRestful.ini b/module/VuFind/tests/fixtures/configs/1.3/VoyagerRestful.ini new file mode 100644 index 0000000000000000000000000000000000000000..15363c97a03a6ef84f8e1329a5d42133fe766599 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/VoyagerRestful.ini @@ -0,0 +1,100 @@ +[Catalog] +host = catalog.library.myuniversity.edu +port = 1521 +service = VGER.catalog.library.myuniversity.edu +user = myusername +password = mypassword +database = MYDB +pwebrecon = http://catalog.library.myuniversity.edu/cgi-bin/Pwebrecon.cgi + +; If this is set to false, VuFind will connect to Voyager's Oracle database with +; SERVICE_NAME in the connection string. If set to true, it will use SID. If +; you have connection problems, try changing this setting. +connect_with_sid = false + +; The field in the PATRON table to use as a password when authenticating users; +; recommended values are LAST_NAME or PATRON_PIN (LAST_NAME is default) +login_field = LAST_NAME + +; These settings affect the Fund list used as a limiter in the "new items" module: +[Funds] +; Uncomment this line to turn off the fund list entirely. +;disabled = true + +; If you know what values you want to allow in your fund list, include them as +; whitelist lines below. ONLY VALUES INCLUDED IN WHITELIST LINES WILL BE SHOWN. +; Leave the whitelist commented out to get all values. +;whitelist[] = "First Good Value" +;whitelist[] = "Second Good Value" + +; If you wish to exclude certain values from your fund list, include them as +; blacklist lines below. There is no point in using blacklist lines if you have +; already set a whitelist above. +;blacklist[] = "First Bad Value" +;blacklist[] = "Second Bad Value" + +; This setting can be used to limit the fund list to those that are under a specific +; fund. Set it to 0 for top-level funds only. Set it to a FUND_ID deeper in the +; fund tree to filter out unwanted values. Leave it commented out to get all funds. +;parent_fund = 0 + +; These settings are used by the Voyager Restful Services - details at +; http://www.exlibrisgroup.org/display/VoyagerOI/Introduction+to+Voyager+RESTful+APIs +[WebServices] +host = 1.2.3.4 +port = 7014 +app = vxws + +; Patron and site information -- these two settings can often be set to the same value. To +; find your possible values, use the GetUBSitesService service as documented here: +; http://www.exlibrisgroup.org/display/VoyagerOI/GetUBSitesService +patronHomeUbId = "1@XXXXX" +dbKey = "1@XXXXX" + +; This section is used to define library codes and named values which are used by the +; system to indicate the location at which a hold is to be collected. If you leave it +; commented out, a list will automatically be generated using the getPickUpLocations +; method. Your system will perform better if you fill this in, since it will reduce +; the number of database lookups necessary when presenting the hold form. +;[pickUpLocations] +;1 = "Library One" +;2 = "Library Two" +;3 = "Library Three" + +; This section controls hold behavior; note that you must also ensure that Holds are +; enabled in the [Catalog] section of config.ini in order to take advantage of these +; settings. +[Holds] +; If a colon separated list of item statuses is provided here, only matching items +; will show hold / recall links. Skip this setting to allow all statuses. +;valid_hold_statuses = Charged:Renewed:Overdue + +; non_borrowable - If a colon-separated list of ids from the ITEM_TYPES table is +; provided, matching items will be excluded from holds / recalls. Skip this setting +; to allow links for all item types. +;non_borrowable = 2:4:23:10 + +; HMACKeys - A list of hold form element names that will be analyzed for consistency +; during hold form processing. Most users should not need to change this setting. +HMACKeys = item_id:holdtype + +; defaultRequiredDate - A colon-separated list used to set the default "not required +; after" date for holds in the format days:months:years +; e.g. 0:1:0 will set a "not required after" date of 1 month from the current date +defaultRequiredDate = 0:1:0 + +; extraHoldFields - A colon-separated list used to display extra visible fields in the +; place holds form. Supported values are "comments", "requiredByDate" and +; "pickUpLocation" +extraHoldFields = comments:requiredByDate:pickUpLocation + +; A Pick Up Location Code used to pre-select the pick up location drop down list and +; provide a default option if others are not available. Must correspond with one of +; the Location IDs returned by getPickUpLocations() +defaultPickUpLocation = "1" + +; The maximum number of holding items to generate request links for. The process of +; checking the API for a valid hold is intensive. Any hold items above this this +; limit will have their hold status checked via ajax or when a user clicks on the +; link. Use "0" to check all items via ajax. Default is 15. +holdCheckLimit = 15 diff --git a/module/VuFind/tests/fixtures/configs/1.3/WorldCat.ini b/module/VuFind/tests/fixtures/configs/1.3/WorldCat.ini new file mode 100644 index 0000000000000000000000000000000000000000..5342a6d59a1872667c6c5ed4daa2a5407b01cc13 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/WorldCat.ini @@ -0,0 +1,47 @@ +; This section contains global settings affecting search behavior. +[General] +; This setting controls the default sort order of search results; the selected +; option should be one of the options present in the [Sorting] section below. +default_sort = relevance + +; This section shows which search types will display in the basic search box at +; the top of WorldCat pages. The name of each setting below corresponds with one +; or more indices defined in the WorldCat API (multiple values are separated by +; colons). The value of each setting is the text to display on screen. All +; on-screen text will be run through the translator, so be sure to update language +; files if necessary. The order of these settings will be maintained in the +; drop-down list in the UI. +; +; For a complete list of legal values, see the SRU Explain page here: +; http://worldcat.org/webservices/catalog/ +[Basic_Searches] +srw.kw = "All Fields" +srw.ti:srw.se = Title +srw.au:srw.pn:srw.cn = Author +srw.su = Subject +srw.dd:srw.lc = "Call Number" +srw.bn:srw.in = "ISBN/ISSN" + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +srw.kw = adv_search_all +srw.ti:srw.se = adv_search_title +srw.au:srw.pn:srw.cn = adv_search_author +srw.su = adv_search_subject +srw.dd:srw.lc = adv_search_callnumber +srw.bn:srw.in = adv_search_isn +srw.pb = adv_search_publisher +srw.se = adv_search_series +srw.yr = adv_search_year + +; This section defines the sort options available on WorldCat search results. +; Values on the left of the equal sign are WorldCat API sort values. Values +; on the right of the equal sign are text that will be run through the +; translation module and displayed on screen. +[Sorting] +relevance = sort_relevance +Date,,0 = sort_year +Date = "sort_year asc" +Author = sort_author +Title = sort_title diff --git a/module/VuFind/tests/fixtures/configs/1.3/XCNCIP.ini b/module/VuFind/tests/fixtures/configs/1.3/XCNCIP.ini new file mode 100644 index 0000000000000000000000000000000000000000..b6eff762c615dca418e7480f1d041be096a53d8e --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/XCNCIP.ini @@ -0,0 +1,5 @@ +[Catalog] +; Base URL for the XC NCIP Toolkit: +url = http://myuniversity.edu:8080/NCIPToolkit/ +; Your library's Agency ID (ILSDefaultAgency setting in NCIPToolkit_config.xml): +agency = "My University" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/XCNCIP2.ini b/module/VuFind/tests/fixtures/configs/1.3/XCNCIP2.ini new file mode 100644 index 0000000000000000000000000000000000000000..20e177adab7ae078f76a4d499c4a53a8ede48a31 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/XCNCIP2.ini @@ -0,0 +1,5 @@ +[Catalog] +; Base URL for the XC NCIP Toolkit's NCIP responder: +url = http://myuniversity.edu:8080/ncipv2/NCIPResponder +; Your library's Agency ID (ILSDefaultAgency setting in driver_config.properties): +agency = "My University" \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/authority.ini b/module/VuFind/tests/fixtures/configs/1.3/authority.ini new file mode 100644 index 0000000000000000000000000000000000000000..bc804a322b91956d7cd08ddddcae9015fcbcd779 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/authority.ini @@ -0,0 +1,25 @@ +; This configuration file controls the Authority module; see facets.ini and +; searches.ini for detailed comments on the meaning of all settings. +[General] +default_handler = AllFields ; Search handler to use if none is specified +default_sort = relevance +case_sensitive_bools = true +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:authority + +[Basic_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Advanced_Searches] +AllFields = "All Fields" +MainHeading = "Main Heading" +Heading = "Any Heading" + +[Sorting] +relevance = sort_relevance +heading = "Heading" + +[Facets] +source = "Authority File" +record_type = "Record Type" diff --git a/module/VuFind/tests/fixtures/configs/1.3/authsearchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.3/authsearchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..530dba769b17536d66247f09dc1155194409bbb9 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/authsearchspecs.yaml @@ -0,0 +1,62 @@ +--- +# This file contains search specifications used by the authority module; for details +# on the workings of this file, see the comments in searchspecs.yaml. +#----------------------------------------------------------------------------------- + +AllFields: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + - allfields + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + - allfields: + - [onephrase, 50] + - [and, 10] + - [or, ~] + +Heading: + DismaxFields: + - heading_keywords^750 + - use_for_keywords^400 + - see_also_keywords^100 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - use_for_keywords: + - [onephrase, 500] + - [and, 400] + - [or, 5] + - see_also_keywords: + - [onephrase, 130] + - [and, 100] + - [or, 2] + +MainHeading: + DismaxFields: + - heading_keywords^750 + DismaxParams: + - [bq, (record_type:"Personal Name" OR record_type:"Corporate Name")^500] + QueryFields: + - heading_keywords: + - [onephrase, 1000] + - [and, 750] + - [or, 10] diff --git a/module/VuFind/tests/fixtures/configs/1.3/config.ini b/module/VuFind/tests/fixtures/configs/1.3/config.ini new file mode 100644 index 0000000000000000000000000000000000000000..da980b0ef6cd3465dd93d4ba5d4039553069ad47 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/config.ini @@ -0,0 +1,643 @@ +; +; VuFind Configuration +; + +; No changes are necessary in the System Section +[System] +available = true +debug = false + +; This section will need to be customized for your installation +; +; Note that you may set a comma-separated list of themes, i.e. MyUniversity,default +; This will first look for templates in the MyUniversity theme, then fail over to +; default if they are not found. This makes it easier to override a few templates +; without having to clone the entire theme. See this page for important notes on +; theme customization: +; http://www.vufind.org/wiki/customization +[Site] +path = /vufind +; URL is optional; VuFind will attempt to auto-detect if omitted: +url = http://library.myuniversity.edu/vufind +local = /usr/local/vufind/web +email = support@myuniversity.edu +title = "Library Catalog" +theme = blueprint +; Uncomment the following line to use a different theme for mobile devices +;mobile_theme = mobile +language = en ; default -- more options available in [Languages] below. +locale = en_US +; Find valid timezone values here: +; http://www.php.net/manual/en/timezones.php +timezone = "America/New_York" +; A string used to format user interface date strings using the PHP date() function +; default is m-d-Y (MM-DD-YYYY 01-01-2010) +displayDateFormat = "m-d-Y" +; A string used to format user interface time strings using the PHP date() function +; default is H:i (HH:MM 23:01) +displayTimeFormat = "H:i" +; The base VuFind URL will load the "Home" action of this module unless the user +; is logged in: +defaultModule = Search +; The base VuFind URL will load the "Home" action of this module when the user +; is logged in: +defaultLoggedInModule = MyResearch +; This tab will show by default when a record is viewed: +defaultRecordTab= Holdings +; This page will show by default when a user accesses the MyResearch module: +defaultAccountPage = Favorites +; Allow access to the Admin module? (Potentially dangerous, since it allows editing +; of configuration files and deleting of records). +admin_enabled = false +; Show sidebar on the left side instead of right +sidebarOnLeft = false +; Show (true) / Hide (false) Book Bag - Default is Hide. The Book Bag is currently +; only supported by the blueprint theme; other themes will ignore this setting. +showBookBag = false +; Set the maximum amount of items allowed in the Book Bag - Default is 100 +bookBagMaxSize = 100 + +; This section allows you to configure the mechanism used for storing user +; sessions. Available types: FileSession, MemcacheSession, MySQLSession. +; Some of the settings below only apply to specific session handlers; +; such settings are named with an obvious prefix. Non-prefixed settings +; are global to all handlers. +[Session] +type = MySQLSession +lifetime = 3600 ; Session lasts for 1 hour +;file_save_path = /tmp/vufind_sessions +;memcache_host = localhost +;memcache_port = 11211 +;memcache_connection_timeout = 1 + +; Please set the ILS that VuFind will interact with. +; +; Available drivers: Aleph, Amicus, Evergreen, Horizon (basic database access only), +; HorizonXMLAPI (more features via API), Innovative, Koha, NewGenLib, Unicorn, +; Virtua, Voyager (for Voyager 6+), VoyagerRestful (for Voyager 7+ w/ RESTful +; web services), XCNCIP (for XC NCIP Toolkit v1.x), XCNCIP2 (for XC NCIP Tookit +; v2.x) +; Note: Unicorn users should visit the vufind-unicorn project for more details: +; http://code.google.com/p/vufind-unicorn/ +; +; If you don't have an ILS, two fake drivers are available for testing purposes. +; "Sample" is fast but does very little; "Demo" simulates more functionality of +; a real ILS but may slow down your system by performing extra searches. +; +; Note: Enabling most of the features in this section will only work if you use an +; ILS driver that supports them; not all drivers support holds/renewals. +[Catalog] +driver = Sample + +; This setting determines how and when hold / recall links are displayed. +; Legal values: +; - all (Show links for all items - Place Hold for Available Items and Place Recall +; for unavailable items) +; - availability (Only show recall links if ALL items on bib are currently +; unavailable) +; - disabled (Never show hold/recall links) +; - driver (Use ILS driver to determine which items may be held/recalled; best option +; if available, but not supported by all drivers) +; - holds (Only show links for available items) +; - recalls (Only show links for unavailable items) +; default is "all" +holds_mode = "all" + +; Set this to true if you want to allow your ILS driver to override your holds_mode +; setting on a record-by-record basis; this may be useful for local customizations, +; but in most cases you should leave this setting unchanged. +allow_holds_override = false + +; Determines if holds can be cancelled or not. Options are true or false. +; default is false +cancel_holds_enabled = false + +; Determines if item can be renewed or not. Options are true or false. +; default is false +renewals_enabled = false + +; This section allows you to determine how the users will authenticate. +; You can use an LDAP directory, the local ILS, the VuFind database (DB), +; Shibboleth, or some combination of these (via the MultiAuth option). +[Authentication] +method = LDAP +;method = ILS +;method = DB +;method = Shibboleth +;method = MultiAuth + +; See the comments in web/sys/authn/MultiAuthAuthentication.php for full details +; on using multiple authentication methods. +;[MultiAuth] +;method_order = ILS,LDAP +;filters = "username:trim,password:trim" + +; This section will allow you to control whether vufind should record usage +; statistics. +[Statistics] +enabled = false +solr = http://localhost:8080/solr + +; This section requires no changes for most installations +[Index] +engine = Solr +url = http://localhost:8080/solr +local = /usr/local/vufind/solr +default_core = biblio +; This setting needs to match the <maxBooleanClauses> setting in your solrconfig.xml +; file; when VuFind has to look up large numbers of records using ID values, it may +; have to restrict the size of its result set based on this limitation. +maxBooleanClauses = 1024 + +; Enable/Disable searching reserves using the "reserves" Solr core. When enabling +; this feature, you also need to uncomment the relevant line in solr/solr.xml and +; restart Solr to enable the reserves core, and you need to run the +; util/index_reserves.php script to populate the new index. +[Reserves] +search_enabled = false + +; This section allows sharding to be used to pull in content from additional Solr +; servers. All servers used in sharding must contain the same index fields needed +; to satisfy queries sent to them AND they must all include different ID numbers! +; Leave this commented out to disable sharding. +; To use sharding, simply fill in lines using the format: +; [display name of shard] = [URL of shard (without http://)] +;[IndexShards] +;Library Catalog = localhost:8080/solr/biblio +;Website = localhost:8080/solr/website + +; This section allows you to set preferences for shards display. You only need to +; set these if you want to use shards. See also the [StripFacets] section of +; facets.ini and the [StripFields] section of searches.ini if your shards have +; non-identical schemas. +;[ShardPreferences] +; This setting controls whether or not to display checkboxes to allow the user to +; select which shard(s) to search (default if commented out = false) +;showCheckboxes = true +; These lines determine which shards are searched by default if the user hasn't +; specified preferences using checkboxes (default if commented out = all shards): +;defaultChecked[] = "Library Catalog" +;defaultChecked[] = "Website" + +; This section requires no changes for most installations; if your SMTP server +; requires authentication, you can fill in a username and password below. +[Mail] +host = localhost +port = 25 +;username = user +;password = pass + +; This section needs to be changed to match your installation path +; and database connection information +[Database] +database = mysql://root@localhost/vufind +schema_location = /usr/local/vufind/web/conf +class_location = /usr/local/vufind/web/services/MyResearch/lib +require_prefix = +class_prefix = +quote_identifiers = 1 +debug = 0 + +; LDAP is optional. This section only needs to exist if the +; Authentication Method is set to LDAP. When LDAP is active, +; host, port, basedn and username are required. The remaining +; settings are optional, mapping fields in your LDAP schema +; to fields in VuFind's database -- the more you fill in, the more +; data will be imported from LDAP into VuFind. +[LDAP] +host = ldap.myuniversity.edu +port = 389 +basedn = "o=myuniversity.edu" +username = uid +firstname = givenname +lastname = sn +email = mail +cat_username = +cat_password = +college = studentcollege +major = studentmajor +; If you need to bind to LDAP with a particular account before +; it can be searched, you can enter the necessary credentials +; here. If this extra security measure is not needed, leave +; these settings commented out. +;bind_username = "uid=username o=myuniversity.edu" +;bind_password = password + +; SIP2 is optional. This section only needs to exist if the +; Authentication Method is set to SIP2. +;[SIP2] +;host = ils.myuniversity.edu +;port = 6002 + +; Shibboleth is optional. This section only needs to exist if the +; Authentication Method is set to Shibboleth. +;[Shibboleth] +;userattribute_1 = entitlement +;userattribute_value_1 = urn:mace:dir:entitlement:common-lib-terms +;userattribute_2 = unscoped-affiliation +;userattribute_value_2 = member +;username = persistent-id +;login = https://shib.myuniversity.edu/Shibboleth.sso/Login +;target = http://shib.myuniversity.edu/vufind/MyResearch/Home +;provider_id = https://idp.example.edu/shibboleth-idp + +; 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 +; applications. The existence of functionality in VuFind does not imply +; suitability for any particular situation. +[Content] +; You can select from Syndetics, LibraryThing, Summon, Amazon, OpenLibrary, +; Contentcafe or Google Books. Note that the Summon service takes a Serials +; Solutions client key, NOT a Summon API key! +;coverimages = Syndetics:MySyndeticsId,Amazon:MyAccessKeyId,LibraryThing:MyLibraryThingId,Google,OpenLibrary,Summon:MySerialsSolutionsClientKey,Contentcafe:MyContentCafeID + +; This setting controls the image to display when no book cover is available. +; The path is relative to web subdirectory of the VuFind install directory: +noCoverAvailableImage = images/noCover2.gif + +; You can select from Syndetics, SyndeticsPlus, Amazon Editorial, Amazon or the +; Guardian +; Note: Guardian reviews contain embedded advertisements. If the API key is not +; supplied, e.g. "Guardian:", only the review title, byline, Guardian logo +; and a link to the full Guardian page will be displayed +;reviews = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsID,AmazonEditorial:MyAccessKeyId,Amazon:MyAccessKeyId,Guardian:MyGuardianKeyId + +; You can select from Syndetics or SyndeticsPlus +;excerpts = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsId + +; You can select from Syndetics or SyndeticsPlus +;authorNotes = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsId + +; You can select from Syndetics or SyndeticsPlus +;videoClips = Syndetics:MySyndeticsId,SyndeticsPlus:MySyndeticsId + +; You can select from Wikipedia +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 +; http://code.google.com/apis/books/branding.html before using Google Book Search. +; previews = Google,OpenLibrary,HathiTrust + +; An API key is needed to interact with the Europeana API (see the EuropeanaResults +; recommendation module in searches.ini for more information) +;europeanaAPI = INSERTKEY + +; If this is set, a new map tab will show on the record page for records which +; have long_lat data (see import/marc_local.properties for more information). +; The setting specifies the type of map; currently, the only supported value is +; "google" +;recordMap = google + +; If you are using Syndetics Plus for *any* content, set plus = true +; and set plus_id to your syndetics ID. This loads the javascript file. +; Syndetics vs. SyndeticsPlus: SyndeticsPlus has nice formatting, but loads slower +; and requires javascript to be enabled in users' browsers. +; You can change the base Syndetics URL used by the content services here. +; Most users will not need to change this setting. It does not affect +; Syndetics Plus at all. (FYI: Syndetics Plus is currently not available +; through SSL.) +[Syndetics] +plus = false +;plus_id = "MySyndeticsId" +;url = "https://secure.syndetics.com" +url = "http://syndetics.com" + +; You can change the base Content Cafe URL used by the content services here. Most +; users will not need to change this setting. You also need to set your password, +; "pw". Note that Content Cafe is a subscription service from Baker & Taylor. +[Contentcafe] +url = "http://contentcafe2.btol.com" +pw = "Password" + +; Web Search is Optional. The Web Search is powered by Google. +; To use enter your Google Web Search key and the domain the of your library +; website. +; The side_recommend setting is used to load recommendations modules; see +; searches.ini for a list of options (though not all will work in this context). +; You can set it to false if you do not want to display any recommendations. +;[GoogleSearch] +;key = MyGoogleSearchKey +;domain = library.myuniversity.edu +;side_recommend[] = CatalogResults:lookfor + +; Summon is Optional. See also the separate Summon.ini file. +;[Summon] +;apiId = myAccessId +;apiKey = mySecretKey + +; WorldCat is Optional. Worldcat offers extra features such as "Other Editions" +; and the WorldCat searching. +;[WorldCat] +;id = myAccount +;apiKey = ApiKey +;OCLCCode = MYCODE +;LimitCodes = Comma separated list of OCLC Codes + +; These settings affect OpenURL generation and presentation; OpenURLs are used to +; help users find resources through your link resolver and to manage citations in +; Zotero. +[OpenURL] +; If a resolver base URL is enabled, it will be used to link ISSNs to your link +; resolver and to access articles in Summon if that module is enabled. Earlier +; versions of VuFind included some parameters as part of the URL; at this point, +; any extra parameters will be ignored -- please provide only the base URL. +;url = "http://openurl.myuniversity.edu/sfx_local" + +; This string will be included as part of your OpenURL referer ID (the full string +; will be "info:sid/[your rfr_id setting]:generator"). You may be able to configure +; special behavior in your link resolver based on this ID -- for example, you may +; wish to prevent the resolver from linking to VuFind when links came from VuFind +; (to avoid putting a user in an infinite loop). +rfr_id = vufind.svn.sourceforge.net + +; By specifying your link resolver type, you can allow VuFind to optimize its +; OpenURLs for a particular platform. Current legal values: "sfx", "360link", +; "EZB" or "other" (default is "other" if commented out). +;resolver = sfx + +; If you want OpenURL links to open in a new window, set this setting to the +; desired Javascript window.open parameters. If you do not want a new window +; to open, set this to false or comment it out. +window_settings = "toolbar=no,location=no,directories=no,buttons=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=600" + +; 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. +; graphic = "http://myuniversity.edu/images/findIt.gif" +; graphic_width = 50 +; graphic_height = 20 + +; The following settings control where OpenURL links are displayed: +show_in_results = true ; include in search results +show_in_record = false ; include in core record metadata +show_in_holdings = false ; include in holdings tab of record view + +; If set to true, this setting will attempt to embed results from the link +; resolver directly in search results instead of opening a new window or page. +; This will override the window_settings option if set! Embedding is currently +; supported only when the resolver setting above is set to "sfx" or "360link". +embed = false + +; When embed is true, you can set this to an absolute path on your system in order +; to cache link resolver results to disk. Be sure that the chosen directory has +; appropriate permissions set! Leave the setting commented out to skip caching. +; Note that the contents of this cache will not be expired by VuFind; you should +; set up an external process like a cron job to clear out the directory from time +; to time. +;resolver_cache = /usr/local/vufind/resolver_cache + +; This setting controls whether we should display an OpenURL link INSTEAD OF other +; URLs associated with a record (true) or IN ADDITION TO other URLs (false). +replace_other_urls = true + +; EZproxy is optional. This section only needs to exist if you +; are using EZProxy to provide off-site access to online materials. +;[EZproxy] +;host = http://proxy.myuniversity.edu + +; These settings affect RefWorks record exports. They rarely need to be changed. +[RefWorks] +vendor = VuFind +url = http://www.refworks.com + +; These settings affect your OAI server if you choose to use it. +; +; If identifier is set, its value will be used as part of the standard OAI +; identifier prefix. It should only ever be set to a domain name that you +; control! If it is not set, your ID values will not be prefixed. +; +; If admin_email is not set, the main email under [Site] will be used instead. +; +; If set_field is set, the named Solr field will be used to generate sets on +; your OAI-PMH server. If it is not set, sets will not be supported. +;[OAI] +;identifier = myuniversity.edu +;repository_name = "MyUniversity Catalog" +;admin_email = oai@myuniversity.edu +;set_field = "format" + +; Proxy Server is Optional. +[Proxy] +;host = your.proxy.server +;port = 8000 + +; Spelling Suggestions +; +; Note: These settings affect the VuFind side of spelling suggestions; you +; may also wish to adjust some Solr settings in solr/biblio/conf/schema.xml +; and solr/biblio/conf/solrconfig.xml. +[Spelling] +enabled = true +; Number of suggestions to display on screen. This list is filtered from +; the number set in solr/biblio/conf/solrconfig.xml so they can differ. +limit = 3 +; Show the full modified search phrase on screen +; rather then just the suggested word +phrase = false +; Offer expansions on terms as well as basic replacements +expand = true +; Turning on 'simple' spell checking will improve performance, +; by ignoring the more complicated 'shingle' (mini phrases) +; based dictionary. +simple = false +; This setting skips spell checking for purely numeric searches; spelling +; suggestions on searches for ISBNs and OCLC numbers are not generally very +; useful. +skip_numeric = true + +; These settings control what events are logged and where the information is +; stored. +; +; VuFind currently supports four logging levels: alert (severe fatal error), +; error (fatal error), notice (non-fatal warning) and debug (informational). +; +; Each logging level can be further broken down into five levels of verbosity. +; You can specify the desired level by adding a dash and a number after the +; level in the configuration string -- for example, alert-2 or error-5. +; The higher the number, the more detailed the logging messages. If verbosity +; is not specified, it defaults to 1 (least detailed). +; +; Several logging methods are available, and each may be configured to log any +; combination of levels. +; +; You may enable multiple logging mechanisms if you want -- in fact, it is +; recommended, since the failure of one logging mechanism (i.e. database down, +; file system full) may then be reported to another. +; +; If database is uncommented, messages will be logged to the named MySQL table. +; The table can be created with this SQL statement: +; CREATE TABLE log_table ( id INT NOT NULL, logtime TIMESTAMP NOT NULL, +; ident CHAR(16) NOT NULL, priority INT NOT NULL, message TEXT, +; PRIMARY KEY (id) ); +; +; If file is uncommented, messages will be logged to the named file. Be sure +; that Apache has permission to write to the specified file! +; +; If email is uncommented, messages will be sent to the provided email address. +; Be careful with this setting: a flood of errors can easily bog down your mail +; server! +[Logging] +;database = log_table:alert,error,notice,debug +; NOTE : Windows users should avoid drive letters (eg. c:\vufind) because +; the colon will be used in the string parsing. "/vufind" will work +;file = /usr/local/vufind/messages.log:alert,error,notice,debug +;email = alerts@myuniversity.edu:alert-5,error-5 + +; This section helps VuFind access additional configuration settings used in +; specific areas of the code. +[Extra_Config] +facets = facets.ini ; settings affecting faceting in UI +searches = searches.ini ; search definitions and preferences +Summon = Summon.ini ; extra Summon configuration details +WorldCat = WorldCat.ini ; extra WorldCat configuration details +sms = sms.ini ; SMS carriers configuration details + +; If you uncomment the following lines, any settings you create in a file +; called config.local.ini will override the defaults found in config.ini. +; This is an advanced feature; basic users should edit config.ini directly. +;local_overrides = config.local.ini + +; This section controls which language options are available to your users. +; If you offer more than one option, a control will appear in the user +; interface to allow user selection. If you only activate one language, +; the control will be hidden. +; +; The name of each setting below (i.e. en, de, fr) is a language code and +; corresponds with one of the translation files found in the web/lang +; directory. The value of each setting is the on-screen name of the language, +; and will itself be subject to translation through the language files! +; +; The order of the settings is significant -- they will be displayed on screen +; in the same order they are defined here. +; +; Be sure that this section includes the default language set in the [Site] +; section above. +[Languages] +en = "English" ; American spellings +;en-gb = "English" ; British spellings +de = "German" +es = "Spanish" +fr = "French" +it = "Italian" +ja = "Japanese" +nl = "Dutch" +pt = "Portuguese" +;pt-br = "Brazilian Portugese" ; disabled due to very incomplete translation +zh-cn = "Simplified Chinese" +zh = "Chinese" +tr = "Turkish" +he = "Hebrew" +ga = "Irish" +cy = "Welsh" +el = "Greek" + +; This section controls the behavior of the Browse module. The result_limit +; setting controls the maximum number of results that may display in any given +; result box on the Browse screen. You can set to -1 for no limit; however, +; setting a very high (or no) limit may result in "out of memory" errors if you +; have a large index! +[Browse] +result_limit = 100 +tag = true ; allow browsing of Tags +dewey = false ; allow browsing of Dewey Decimal call numbers +lcc = true ; allow browsing of LC call numbers +author = true ; allow browsing of authors +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 + +; This section controls which record export methods are displayed on the Record +; view screen. Note that some options may be disabled for records that do not +; support them, regardless of the setting chosen here. +[Export] +RefWorks = true +EndNote = true +MARC = false +RDF = false +BibTeX = false + +; This section controls whether or not display the bulk export options and which +; options to display. Valid methods are EndNote and MARC - The method must also +; be enabled in Export (above) or it will not be displayed. +[BulkExport] +enabled = true +options = MARC:EndNote:RefWorks:BibTeX + +;AddThis is optional. It uses the Add This tool available from www.addthis.com +; and requires the username generated when an analytics account is registered. +;[AddThis] +;key = yourUsername + +; This section controls how item status information is presented in search results. +[Item_Status] +; Usually, there is only one location or call number for each item; however, when +; multiple values are found, there are several possible behaviors: +; first = display the first value found, ignore the rest +; all = show all of the values found, separated by commas +; msg = show a message like "Multiple Call Numbers" or "Multiple Locations" +; group = show availability statuses for each location on a separate line, +; followed by callnumber information (valid for multiple_locations only) +multiple_call_nos = first +multiple_locations = msg +; Show the full location,call number, availability for each item +; You can customize the way each item's status is display in AJAX/status-full.tpl +; When enabled, this largely overrides multiple_call_nos and multiple_locations +show_full_status = false + +; This section controls the behavior of the Record module. +[Record] +; Set this to true in order to enable "next" and "previous" links to navigate +; through the current result set from within the record view. +next_prev_navigation = false + +; You can enable this setting to show links to related MARC records using certain +; 7XX fields. Just enter a comma-separated list of the MARC fields that you wish +; to make use of. This relies on subfield w containing either a reference to a bib +; number or an OCLC number prefixed by (OCoLC). Do not enable this option if your +; data is unable to support it! Also note that turning on the 780 and 785 fields +; may result in redundant information in the display, since the Solr title_old and +; title_new fields are likely to contain the same information. +;marc_links = "760,765,770,772,774,773,775,777,780,785" + +; You can use this setting to hide holdings information for particular named locations +; as returned by the catalog. +hide_holdings[] = "World Wide Web" + +; The following two sections control the Alphabetic Browse module. +[AlphaBrowse] +; This setting controls how many headings are displayed on each page of results: +page_size = 20 + +; This section controls the order and content of the browse type menu in the +; Alphabetic Browse module. The key is the browse index to use, the value is the +; string to display to the user (subject to translation). +[AlphaBrowse_Types] +topic = "By Topic" +author = "By Author" +title = "By Title" +lcc = "By Call Number" +;dewey = "By Call Number" + +; This section allows you to configure the values used for Cryptography; the +; HMACkey can be set to any value you like and should never be shared. It is used +; to prevent users from tampering with certain URLs (for example, "place hold" form +; submissions) +[Security] +HMACkey = mySuperSecretValue \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/facets.ini b/module/VuFind/tests/fixtures/configs/1.3/facets.ini new file mode 100644 index 0000000000000000000000000000000000000000..9e8b03b0f31b0c40a7c3723d5cd69e4675e24546 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/facets.ini @@ -0,0 +1,89 @@ +; The order of display is as shown below +; The name of the index field is on the left +; The display name of the field is on the right +[Results] +institution = Institution +building = Library +format = Format + +; Use callnumber-first for LC call numbers, dewey-hundreds for Dewey Decimal: +callnumber-first = "Call Number" +;dewey-hundreds = "Call Number" + +authorStr = Author +language = Language +genre_facet = Genre +era_facet = Era +geographic_facet = Region +publishDate = "adv_search_year" ; share year string w/advanced search page + +; Facets that will appear at the top of search results when the TopFacets +; recommendations module is used. See the [TopRecommendations] section of +; searches.ini for more details. +[ResultsTop] +topic_facet = "Suggested Topics" + +; Facets must be stripped if you have a facet in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the facets to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFacets] + +; This section is used to identify facets for special treatment by the SideFacets +; recommendations module. +[SpecialFacets] +; Any fields listed below will be treated as date ranges rather than plain facets: +dateRange[] = publishDate + +; This section is reserved for special boolean facets. These are displayed +; as checkboxes. If the box is checked, the filter on the left side of the +; equal sign is applied. If the box is not checked, the filter is not applied. +; The value on the right side of the equal sign is the text to display to the +; user. It will be run through the translation code, so be sure to update the +; language files appropriately. +; +; Leave the section empty if you do not need checkbox facets. +[CheckboxFacets] +;edition:1st* = "First Edition" ; Contrived hypothetical example + +; These settings affect the way the [Results] facets are displayed +; If using facets at the top of search results you have more room for text. +[Results_Settings] +facet_limit = 30 ; how many values should we show for each facet? +; Rows and columns for table used by top facets +top_rows = 2 +top_cols = 3 + +; The author home screen has different facets +[Author] +topic_facet = "Related Subjects" + +; These facets will be displayed as limiters on the advanced search search screen +[Advanced] +callnumber-first = "Call Number" +language = Language +format = Format + +; These settings affect the way the [Advanced] facets are displayed +[Advanced_Settings] +facet_limit = 100 ; how many values should we show for each facet? + +; The facets listed under the [Advanced] section above will be used as limiters on +; the advanced search screen and will be displayed uniformly as multi-select boxes. +; Some facet types don't lend themselves to this format, and they can be turned on +; by inclusion in the comma-separated list below, or turned off by being excluded. +; Currently, just two values are supported: "illustrated", for the "illustrated/not +; illustrated" radio button limiter and "daterange" for the publication year range +; control. +special_facets = "illustrated,daterange" + +; Any facets named in the list below will have their values run through the +; translation code; unlisted facets will displayed as-is without translation. For +; translated facets, be sure that all of the necessary strings are included in the +; language files found in the web/lang directory. By default, no facets are +; translated -- uncomment or add lines below to turn on this feature. +;translated_facets[] = institution +;translated_facets[] = building +translated_facets[] = format \ No newline at end of file diff --git a/module/VuFind/tests/fixtures/configs/1.3/fulltext.ini b/module/VuFind/tests/fixtures/configs/1.3/fulltext.ini new file mode 100644 index 0000000000000000000000000000000000000000..c9bad66037a731c8d2fde991d9c175f02da3196b --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/fulltext.ini @@ -0,0 +1,13 @@ +; This file contains settings used for full text indexing. See the documentation +; on the XSLT import tool for more details: +; http://vufind.org/wiki/importing_records#importing_with_xslt + +; Aperture is a Java tool for extracting full text from documents. It is not +; included with VuFind by default, but it can be downloaded here: +; http://aperture.sourceforge.net/ +; VuFind's Aperture code was tested with version 1.5.0 of the package. +[Aperture] +; Once you have installed Aperture, uncomment one of the following two lines +; and fill in the appropriate path to take advantage of it. +;webcrawler = "/usr/local/aperture/bin/webcrawler.sh" ; Linux +;webcrawler = "c:\aperture\bin\webcrawler.bat" ; Windows diff --git a/module/VuFind/tests/fixtures/configs/1.3/reserves.ini b/module/VuFind/tests/fixtures/configs/1.3/reserves.ini new file mode 100644 index 0000000000000000000000000000000000000000..ce0c12abdbf531d99b2cd9d28c0e1c0fe39fd131 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/reserves.ini @@ -0,0 +1,25 @@ +; This configuration file controls the Search/Reserves action; see facets.ini and +; searches.ini for detailed comments on the meaning of all settings. +[General] +default_handler = AllFields ; Search handler to use if none is specified +default_sort = relevance +case_sensitive_bools = true +default_side_recommend[] = SideFacets:Facets:CheckboxFacets:reserves +facet_limit = 20 + +[Basic_Searches] +AllFields = "All Fields" + +[Advanced_Searches] +AllFields = "All Fields" + +[Sorting] +relevance = sort_relevance +department_str = "Department" +instructor_str = "Instructor" +course_str = "Course" + +[Facets] +department_str = "Department" +instructor_str = "Instructor" +course_str = "Course" diff --git a/module/VuFind/tests/fixtures/configs/1.3/reservessearchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.3/reservessearchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..10c3b0ca4903e8e3228abfd104065e8e9ec18aaa --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/reservessearchspecs.yaml @@ -0,0 +1,47 @@ +--- +# This file contains search specifications used by the reserves module; for details +# on the workings of this file, see the comments in searchspecs.yaml. +#----------------------------------------------------------------------------------- + +AllFields: + DismaxFields: + - course^400 + - instructor^400 + - department^200 + QueryFields: + - course: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - instructor: + - [onephrase, 1000] + - [and, 750] + - [or, 10] + - department: + - [onephrase, 1000] + - [and, 750] + - [or, 10] +Instructor: + DismaxFields: + - instructor^400 + QueryFields: + - instructor: + - [onephrase, 1000] + - [and, 750] + - [or, 10] +Course: + DismaxFields: + - course^400 + QueryFields: + - course: + - [onephrase, 1000] + - [and, 750] + - [or, 10] +Department: + DismaxFields: + - department^400 + QueryFields: + - department: + - [onephrase, 1000] + - [and, 750] + - [or, 10] diff --git a/module/VuFind/tests/fixtures/configs/1.3/searches.ini b/module/VuFind/tests/fixtures/configs/1.3/searches.ini new file mode 100644 index 0000000000000000000000000000000000000000..94f200c23e5c8661d1bfc433f490daca8249c2be --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/searches.ini @@ -0,0 +1,382 @@ +; This section contains global settings affecting search behavior. +[General] +default_handler = AllFields ; Search handler to use if none is specified + +; This setting controls the default sort order of search results if no search- +; specific setting was present in the [DefaultSortingByType] section below; the +; selected option should be one of the options present in the [Sorting] section +; below. +default_sort = relevance + +; This setting controls the default view for search results; the selected option +; should be one of the options present in the [Views] section below. +default_view = list + +; This section controls the result limit options for search results. default_limit +; sets the default number of results per page. limit_options is a comma-separated +; list of numbers to be presented to the end-user. If only one limit is required, +; set default_limit and leave limit_options commented out. +; WARNING: using large limits (i.e. greater than 20) may interfere with some book +; preview options (i.e. HathiTrust) and may require you to raise your PHP memory +; limits to avoid errors. +default_limit = 20 +;limit_options = 10,20,40,60,80,100 + +; If this setting is true, boolean operators in searches (AND/OR/NOT) will only +; be recognized if they are ALL UPPERCASE. If set to false, they will be +; recognized regardless of case. +case_sensitive_bools = true + +; If this setting is true, range operators in searches ([a TO b] or {a TO b}) +; will only be recognized if the word "TO" is ALL UPPERCASE. Additionally, the +; edges of the range may be treated in a case sensitive manner. If set to false, +; ranges will be recognized regardless of case -- this will allow better matching +; at the cost of a bit of extra server-side processing. +case_sensitive_ranges = true + +; These are the default recommendations modules to use when no specific setting +; are found in the [TopRecommendations] or [SideRecommendations] sections below. +; See the comments above those sections for details on legal settings. You may +; repeat these lines to load multiple recommendations. +default_top_recommend[] = TopFacets:ResultsTop +default_side_recommend[] = SideFacets:Results:CheckboxFacets + +; Set this to true in order to highlight keywords from the search query when they +; appear in fields displayed in search results. +highlighting = true + +; Set this to true in order to include a text snippet in the search results when +; a keyword match is found in a field that is not normally displayed as part of +; the listing. For finer control over which fields are used for snippets, see +; the record driver code (web/RecordDrivers/IndexRecord.php). +; +; For control over snippet captions, see the [Snippet_Captions] section below. +snippets = true + +; When you filter a search using facets, VuFind will present a checkbox that can +; be used to apply those filters to the next search you perform. This setting +; controls its default state: on (true) or off (false). +retain_filters_by_default = true + +[Cache] +; This controls whether the parsed searchspecs.yaml file will be stored to +; improve search performance; legal options are APC (use APC cache), File (store +; on disk) or false (do not cache). +type = File + +; This section shows which search types will display in the basic search box at +; the top of most pages. The name of each setting below corresponds with a +; search handler (either DisMax or from conf/searchspecs.yaml). The value of +; each setting is the text to display on screen. All on-screen text will be run +; through the translator, so be sure to update language files if necessary. The +; order of these settings will be maintained in the drop-down list in the UI. +; +; Note: The search type of "tag" is a special case that gets handled differently +; because tags are not stored in the same index as everything else. Treat +; this as a reserved word if you create your own custom search handlers. +[Basic_Searches] +AllFields = "All Fields" +Title = Title +;JournalTitle = "Journal Title" +Author = Author +Subject = Subject +CallNumber = "Call Number" +ISN = "ISBN/ISSN" +tag = Tag + +; This section defines which search options will be included on the advanced +; search screen. All the notes above [Basic_Searches] also apply here. +[Advanced_Searches] +AllFields = adv_search_all +Title = adv_search_title +;JournalTitle = adv_search_journaltitle +Author = adv_search_author +Subject = adv_search_subject +CallNumber = adv_search_callnumber +ISN = adv_search_isn +publisher = adv_search_publisher +Series = adv_search_series +year = adv_search_year +toc = adv_search_toc + +; This section defines the sort options available on standard search results. +; Values on the left of the equal sign are either the reserved term "relevance" +; or the name of a Solr index to use for sorting; asc and desc modifiers may be +; used in combination with index names, but not relevance. To allow secondary +; sorting, you may include a comma-separated list of options (for example, +; "year desc,title asc"), but this list may NOT include the special "relevance" +; value. Values on the right of the equal sign are text that will be run +; through the translation module and displayed on screen. +; +; Note: "year", "author" and "title" are special shortcut aliases for the +; "publishDateSort", "authorStr" and "title_sort" Solr fields; you can use +; either form in this file. +[Sorting] +relevance = sort_relevance +year = sort_year +year asc = "sort_year asc" + +; Use the "callnumber" line for LC or the "dewey-sort" line for Dewey Decimal. +; If you want to enable both systems for sorting, you can uncomment both lines, +; but you will need to add some custom text to distinguish between the two. +callnumber = sort_callnumber +;dewey-sort = sort_callnumber + +author = sort_author +title = sort_title + +; This section allows you to specify the default sort order for specific types of +; searches. Each key in this section should correspond with a key in the +; [Basic_Searches] section above. Each value should correspond with a key in the +; [Sorting] section above. Any search type that is not listed here will be sorted +; using the default_sort setting in the [General] section above. +[DefaultSortingByType] +CallNumber = callnumber + +; Each search type defined in searchspecs.yaml can have one or more "recommendations +; modules" associated with it in the following sections. These plug-ins will cause +; boxes of suggestions to appear beside (in [SideRecommendations]) or above (in +; [TopRecommendations]) the search results. You can repeat the line to display a +; series of recommendations boxes in a particular section -- just be sure to include +; brackets ("[]") after the search type name. If you do not want recommendations +; for a particular search type, set the value to "false" in either or both sections. +; Any search types not listed here will use the default value -- see the +; default_top_recommend and default_side_recommend settings in the [General] +; section above. It is legal to set the default options to false if you want no +; default value. +; +; Available modules recommended for use in the side area: +; +; CatalogResults:[GET parameter]:[result limit] +; Display catalog search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). This is designed for use with non-catalog modules. +; EuropeanaResults:[url]:[requestParam]:[limit]:[unwanted data providers] +; Display search results from Europeana.eu API. [url] is the base search URL +; default "api.europeana.eu/api/opensearch.rss" [requestParam] parameter name +; for passing lookup value in url, default is "searchTerms" [limit] defaults to +; 5, is the number of result items to display [unwanted data providers] comma +; separated list of dataproviders to ignore results from; useful for excluding +; own results that are also in Europeana. An API key must be set in config.ini +; (see europeanaAPI setting in [Content] section). +; EuropeanaResultsDeferred: [url]:[requestParam][limit]:[unwanted data providers] +; See EuropeanaResults, but this version uses AJAX. +; ExpandFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." Rather than using +; facets to limit the existing search, this module uses them to start a new +; search showing all records matching the selected facet value. +; OpenLibrarySubjects:[GET parameter]:[limit]:[date filter]:[Subject types] +; Display full-text, public scans from the Open Library (OL) Subjects API. +; [GET parameter] (default = "lookfor"), [limit] (default = 5), +; [date filter] The name of a date filter (from facet settings) to apply to +; searches. Defaults to "publishDate" if blank; set to "false" to disable. +; [Subject types] (default = "topic") comma-separated list of subject types to +; test. Open Library distinguishes between the following subject types: +; topic,place,person,time +; Note: an API call will be made for each type until valid data is returned +; which will slow down the loading of the main VuFind result set, +; see OpenLibrarySubjectsDeferred +; OpenLibrarySubjectsDeferred:[GET parameter]:[limit]:[date filter]:[Subject types] +; The same as OpenLibrarySubjects but uses AJAX to make the API calls after the +; main result set has loaded +; SideFacets:[regular facet section]:[checkbox facet section]:[ini name] +; Display the specified facets, where [ini name] is the name of an ini file +; in web/conf (defaults to "facets" if not supplied), [regular facet section] +; is the name of a section of the ini file containing standard facet settings +; (defaults to "Results" if not specified), and [checkbox facet section] is +; the name of a section of the ini file containing checkbox facet settings +; (leave blank for no checkbox facets). +; SummonDatabases:[GET parameter] +; Display Summon-generated database recommendations matching the terms found +; in the specified GET parameter. NOTE: If you are using this module with a +; Summon search, the [GET parameter] setting will be ignored and the actual +; current Summon search will be used instead. The parameter only needs to be +; specified when combining this module with a non-Summon-based search module. +; SummonResults:[GET parameter]:[result limit] +; Display Summon search results matching the terms found in the specified +; GET parameter (default = "lookfor"), limited to a specified number of +; matches (default = 5). +; +; Available modules recommended for use in the top area: +; +; AuthorFacets +; Display author names based on the search term. +; PubDateVisAjax:[zooming]:[facet field 1]:[facet field 2]:...:[facet field n] +; Display a visualization of publication dates for each of the specified facet +; fields. This is designed for a field containing four-digit years. Only the +; blueprint theme supports multiple facet field selection, but classic and +; default work correctly if you render just one field (the most common +; scenario). Zooming is set to either true or false and controls whether or +; not selecting part of the graph zooms in to greater detail. +; ResultGoogleMapAjax:[facets] +; Show a Google Map with markers for all result items which have long/latitude +; data (be sure to turn on location indexing in import/marc_local.properties). +; Each marker will show the number of items which are in the long_lat +; facet. A separate call is made when a marker is clicked to retrieve the +; first 5 records on that location facet. The map uses clustering to +; combine markers where there are more than one marker close together into +; clusters. The facets parameter is the name of the extra config file which +; holds the facet information(default "facets.ini"). +; TopFacets:[ini section]:[ini name] +; Display facets listed in the specified section of the specified ini file; +; if [ini name] is left out, it defaults to "facets." +; WorldCatIdentities +; Use the WorldCat Identities API to find names and related subjects based +; on the current search. +; WorldCatTerms:[vocabulary] +; Use the WorldCat Terminologies API to find Library of Congress Subject +; Headings related to the current search. [vocabulary] is the vocabulary to +; use for recommendations; default is "lcsh" but other options include "fast", +; "mesh", etc. See http://tspilot.oclc.org/resources/ for details. +; +; You can build your own recommendations modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/building_a_recommendations_module +[SideRecommendations] +; No search-specific settings by default -- add your own here. +;Subject[] = SideFacets +;Subject[] = OpenLibrarySubjectsDeferred:lookfor:5:true:topic,place,person,time + +[TopRecommendations] +Author[] = AuthorFacets +;Author[] = WorldCatIdentities +;Subject[] = WorldCatTerms + +; These settings control the top and side recommendations within the special Author +; module (the page accessed by clicking on an author's name within the search +; results). The Author module ignores the default_top_recommend and +; default_side_recommend settings and only uses this section. +[AuthorModuleRecommendations] +;top[] = TopFacets:ResultsTop +;side[] = SideFacets:Results:CheckboxFacets +side[] = "ExpandFacets:Author" + +; This section controls the "New Items" search. +[NewItem] +; Comma-separated list of date ranges to offer to the user (i.e. 1,5,30 = one day +; old, or five days old, or thirty days old). Be careful about raising the maximum +; age too high -- searching very long date ranges may put a load on your ILS. +ranges = 1,5,30 +; This setting controls the maximum number of pages of results that will show up +; when doing a new item search. It is necessary to limit the number of results to +; avoid getting a "too many boolean clauses" error from the Solr index (see notes +; at http://vufind.org/jira/browse/VUFIND-128 for more details). However, if you +; set the value too low, you may get the same results no matter which range setting +; is selected! +result_pages = 10 +; This setting can be used to automatically apply filter queries to the New Item +; results. For example, you might want to filter out certain content types. You +; can add multiple filters by repeating the "filter[] =" line, or you can skip +; filtering entirely by leaving the line commented out. +; filter[] = "format:Book" + +; This section controls RSS feed behavior +[RSS] +; If set, this setting will override sort settings associated with RSS feeds. This +; allows you to ensure that newly added or changed items in your index appear at +; the top of the feed. Use "first_indexed desc" if you only want newly-added items +; to be listed first. Use "last_indexed desc" if you want newly-added-or-changed +; items. Comment out the whole setting if you do not want custom RSS sorting. +; IMPORTANT: In order for first_indexed and last_indexed sorting to work properly, +; you need to index record change dates; see the Wiki page at +; http://vufind.org/wiki/tracking_record_changes +sort = "last_indexed desc" + +; The following two sections control the behavior of the autocomplete drop-downs +; associated with search boxes. The [Autocomplete] section contains global default +; settings, while the [Autocomplete_Types] section allows you to associate different +; autocomplete handlers with different search handlers. +; +; The available autocomplete handlers are: +; +; NoAutocomplete +; Do not provide any suggestions. You should use this handler if you want to +; disable suggestions for one search type while still providing suggestions +; for other search types. To disable suggestions completely, it is better to +; use the "enabled" setting in the [Autocomplete] section. +; SolrAuthAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; See SolrAutocomplete below -- this handler behaves exactly the same, except +; it uses the Solr authority data index rather than the bibliographic index, +; and its default [Display Field] value is "heading". +; SolrAutocomplete:[Search Handler]:[Display Field]:[Sort Field]:[Filters] +; Perform a wildcarded search against [Search Handler], using the contents of +; [Display Field] (a comma-separated, priority-ordered field list) as +; suggestions and sorting by [Sort Field]. Any additional parameters at the +; end of the string are treated as an alternating sequence of field names and +; values for use as filters against the suggestion list. All parameters are +; optional. If omitted, [Search Handler] will use the default Solr field, +; [Display Field] will use "title", [Sort Field] will use relevance and no +; filters will be applied. +; SolrCNAutocomplete +; A customized version of SolrAutocomplete designed for smart handling of +; call numbers using the custom CallNumber search handler. +; TagAutocomplete +; Provide suggestions from the local database of tags. +; +; You can build your own autocomplete modules if you wish. See the developer's +; guide here: +; +; http://vufind.org/wiki/autocomplete +[Autocomplete] +; Set this to false to disable all autocomplete behavior +enabled = true +; This handler will be used for all search types not covered by [Autocomplete_Types] +default_handler = SolrAutocomplete + +; In this section, set the key equal to a search handler from searchspecs.yaml and +; the value equal to an autocomplete handler in order to customize autocompletion +; behavior when that search type is selected. +[Autocomplete_Types] +Title = "SolrAutocomplete:Title" +JournalTitle = "SolrAutocomplete:JournalTitle" +Author = "SolrAutocomplete:Author:author,author2" +Subject = "SolrAutocomplete:Subject:topic,genre,geographic,era" +CallNumber = "SolrCNAutocomplete" +ISN = "SolrAutocomplete:ISN:isbn,issn" +tag = "TagAutocomplete" +Reserves = "SolrReservesAutocomplete:AllFields:course,instructor,department" + +; When snippets are enabled, this section can be used to display captions based on +; the Solr fields from which the snippets were obtained. Keys are the names of Solr +; fields and values are strings to display to the user. Note that all displayed +; strings are subject to translation and should be accounted for in the language +; files found in web/lang if you are in a multilingual environment. Fields that are +; not listed in this section will be displayed without captions, so you can comment +; out the whole section to disable captions. +[Snippet_Captions] +author2 = "Other Authors" +contents = "Table of Contents" +topic = "Subjects" + +; Fields must be stripped if you have a field in your main index which is missing +; from any index includable by shards. This section can be ignored if you are +; not using sharding or if all of your shards have identical schemas. +; +; Put in the fields to strip here in the following format: +; shard name = fieldname,another fieldname,... +[StripFields] + +; This section defines the view options available on standard search results. +; If only one view is required, set default_view under [General] above, and +; leave this section commented out. +;[Views] +;list = List +;grid = Grid + +; This section allows for adding hidden filters. Each filter will be translated +; to format 'key:"value"' and added by Solr.php as a hidden filter (a facet that +; is always applied but is not seen by the user). This is useful if you use a +; shared Solr index and need to display different subsets in different contexts +; (for example, a union catalog with separate VuFind instances each member). +[HiddenFilters] +;institution = "MyInstitution" + +; This section is an alternative to [HiddenFilters] when you need to create more +; advanced types of filters -- i.e. complex boolean queries. Keys are ignored, +; but increasing numeric values (1, 2, 3...) are recommended. Values are fully- +; formed filter queries. +[RawHiddenFilters] +;0 = "format:\"Book\" OR format:\"Journal\"" +;1 = "language:\"English\" OR language:\"French\"" diff --git a/module/VuFind/tests/fixtures/configs/1.3/searchspecs.yaml b/module/VuFind/tests/fixtures/configs/1.3/searchspecs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..14298b315aebaf3f4e291802de75d793782afdd7 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/searchspecs.yaml @@ -0,0 +1,485 @@ +--- +# Listing of search types and their component parts and weights. +# +# Format is: +# searchType: +# # CustomMunge is an optional section to define custom pre-processing of +# # user input. See below for details of munge actions. +# CustomMunge: +# MungeName1: +# - [action1, actionParams] +# - [action2, actionParams] +# - [action3, actionParams] +# MungeName2: +# - [action1, actionParams] +# # DismaxFields is optional and defines the fields sent to the Dismax handler +# # when we are able to use it. QueryFields will be used for advanced +# # searches that Dismax cannot support. QueryFields is always used if no +# # DismaxFields section is defined. +# DismaxFields: +# - field1^boost +# - field2^boost +# - field3^boost +# # DismaxParams is optional and allows you to override default Dismax settings +# # (i.e. mm / bf) on a search-by-search basis. If you want global default +# # values for these settings, you can edit the "dismax" search handler in +# # solr/biblio/conf/solrconfig.xml. +# DismaxParams: +# - [param1_name, param1_value] +# - [param2_name, param2_value] +# - [param3_name, param3_value] +# # QueryFields define the fields we are searching when not using Dismax +# QueryFields: +# - SolrField: +# - [howToMungeSearchstring, weight] +# - [differentMunge, weight] +# - DifferentSolrField: +# - [howToMunge, weight] +# # The optional FilterQuery section allows you to AND a static query to the +# # dynamic query generated using the QueryFields; see JournalTitle below +# # for an example. This is applied whether we use DismaxFields or +# # QueryFields. +# FilterQuery: (optional Lucene filter query) +# +# ...etc. +# +#----------------------------------------------------------------------------------- +# +# Within the QueryFields area, fields are OR'd together, unless they're in an +# anonymous array, in which case the first element is a two-value array that tells +# us what the type (AND or OR) and weight of the whole group should be. +# +# So, given: +# +# test: +# QueryFields: +# - A: +# - [onephrase, 500] +# - [and, 200] +# - B: +# - [and, 100] +# - [or, 50] +# # Start an anonymous array to group; first element indicates AND grouping +# # and a weight of 50 +# - +# - [AND, 50] +# - C: +# - [onephrase, 200] +# - D: +# - [onephrase, 300] +# # Note the "not" attached to the field name as a minus, and the use of ~ +# # to mean null ("no special weight") +# - -E: +# - [or, ~] +# - D: +# - [or, 100] +# +# ...and the search string +# +# test "one two" +# +# ...we'd get +# +# (A:"test one two"^500 OR +# A:(test AND "one two")^ 200 OR +# B:(test AND "one two")^100 OR +# B:(test OR "one two")^50 +# ( +# C:("test one two")^200 AND +# D:"test one two"^300 AND +# -E:(test OR "one two") +# )^50 OR +# D:(test OR "one two")^100 +# ) +# +#----------------------------------------------------------------------------------- +# +# Munge types are based on the original Solr.php code, and consist of: +# +# onephrase: eliminate all quotes and do it as a single phrase. +# testing "one two" +# ...becomes ("testing one two") +# +# and: AND the terms together +# testing "one two" +# ...becomes (testing AND "one two") +# +# or: OR the terms together +# testing "one two" +# ...becomes (testing OR "one two") +# +# Additional Munge types can be defined in the CustomMunge section. Each array +# entry under CustomMunge defines a new named munge type. Each array entry under +# the name of the munge type specifies a string manipulation operation. Operations +# will be applied in the order listed, and different operations take different +# numbers of parameters. +# +# Munge operations: +# +# [append, text] - Append text to the end of the user's search string +# [lowercase] - Convert string to lowercase +# [preg_replace, pattern, replacement] - Perform a regular expression replace +# using the preg_replace() PHP function +# [uppercase] - Convert string to uppercase +# +# See the CallNumber search below for an example of custom munging in action. +#----------------------------------------------------------------------------------- + +# These searches use Dismax when possible: +Author: + DismaxFields: + - author^100 + - author_fuller^50 + - author2 + - author_additional + QueryFields: + - author: + - [onephrase, 350] + - [and, 200] + - [or, 100] + - author_fuller: + - [onephrase, 200] + - [and, 100] + - [or, 50] + - author2: + - [onephrase, 100] + - [and, 50] + - [or, ~] + - author_additional: + - [onephrase, 100] + - [and, 50] + - [or, ~] + +ISN: + DismaxFields: + - isbn + - issn + QueryFields: + - issn: + - [and, 100] + - [or, ~] + - isbn: + - [and, 100] + - [or, ~] + +Subject: + DismaxFields: + - topic_unstemmed^150 + - topic^100 + - geographic^50 + - genre^50 + - era + QueryFields: + - topic_unstemmed: + - [onephrase, 350] + - [and, 150] + - [or, ~] + - topic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - geographic: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - genre: + - [onephrase, 300] + - [and, 100] + - [or, ~] + - era: + - [and, 100] + - [or, ~] + +JournalTitle: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + FilterQuery: "format:Journal" + +Title: + DismaxFields: + - title_short^500 + - title_full_unstemmed^450 + - title_full^400 + - title^300 + - title_alt^200 + - title_new^100 + - title_old + - series^100 + - series2 + QueryFields: + - title_short: + - [onephrase, 500] + - title_full_unstemmed: + - [onephrase, 450] + - [and, 400] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + - title_old: + - [and, ~] + - series: + - [onephrase, 100] + - [and, 50] + - series2: + - [onephrase, 50] + - [and , ~] + +Series: + DismaxFields: + - series^100 + - series2 + QueryFields: + - series: + - [onephrase, 500] + - [and, 200] + - [or, 100] + - series2: + - [onephrase, 50] + - [and, 50] + - [or, ~] + +AllFields: + DismaxFields: + - title_short^750 + - title_full_unstemmed^600 + - title_full^400 + - title^500 + - title_alt^200 + - title_new^100 + - series^50 + - series2^30 + - author^300 + - author_fuller^150 + - contents^10 + - topic_unstemmed^550 + - topic^500 + - geographic^300 + - genre^300 + - allfields_unstemmed^10 + - fulltext_unstemmed^10 + - allfields + - fulltext + QueryFields: + - + - [OR, 50] + - title_short: + - [onephrase, 750] + - title_full_unstemmed: + - [onephrase, 600] + - [and, 500] + - title_full: + - [onephrase, 400] + - title: + - [onephrase, 300] + - [and, 250] + - title_alt: + - [and, 200] + - title_new: + - [and, 100] + series: + - [and, 50] + series2: + - [and, 30] + author: + - [onephrase, 300] + - [and, 250] + author_fuller: + - [onephrase, 150] + - [and, 125] + author2: + - [and, 50] + author_additional: + - [and, 50] + contents: + - [and, 10] + topic_unstemmed: + - [onephrase, 550] + - [and, 500] + topic: + - [onephrase, 500] + geographic: + - [onephrase, 300] + genre: + - [onephrase, 300] + allfields_unstemmed: + - [or, 10] + fulltext_unstemmed: + - [or, 10] + allfields: + - [or, ~] + fulltext: + - [or, ~] + +# These are advanced searches that never use Dismax: +id: + QueryFields: + - id: + - [onephrase, ~] + +# Fields for exact matches originating from alphabetic browse +ids: + QueryFields: + - id: + - [or, ~] + +TopicBrowse: + QueryFields: + - topic_browse: + - [onephrase, ~] + +AuthorBrowse: + QueryFields: + - author_browse: + - [onephrase, ~] + +TitleBrowse: + QueryFields: + - title_full: + - [onephrase, ~] + +DeweyBrowse: + QueryFields: + - dewey-raw: + - [onephrase, ~] + +LccBrowse: + QueryFields: + - callnumber-a: + - [onephrase, ~] + +CallNumber: + # We use two similar munges here -- one for exact matches, which will get + # a very high boost factor, and one for left-anchored wildcard searches, + # which will return a larger number of hits at a lower boost. + CustomMunge: + callnumber_exact: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Escape colons (unescape first to avoid double-escapes): + - [preg_replace, '/(\\\:)/', ':'] + - [preg_replace, '/:/', '\:'] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + callnumber_fuzzy: + - [uppercase] + # Strip whitespace and quotes: + - [preg_replace, '/[ "]/', ""] + # Escape colons (unescape first to avoid double-escapes): + - [preg_replace, '/(\\\:)/', ':'] + - [preg_replace, '/:/', '\:'] + # Strip pre-existing trailing asterisks: + - [preg_replace, "/\*+$/", ""] + # Ensure we have just one trailing asterisk. The trailing space inside + # the quotes has no effect on searching; it is a workaround for a + # Horde::YAML parsing glitch -- see VUFIND-160 in JIRA for details. + - [append, "* "] + QueryFields: + - callnumber: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + - dewey-full: + - [callnumber_exact, 1000] + - [callnumber_fuzzy, ~] + +publisher: + DismaxFields: + - publisher^100 + QueryFields: + - publisher: + - [and, 100] + - [or, ~] + +year: + DismaxFields: + - publishDate^100 + QueryFields: + - publishDate: + - [and, 100] + - [or, ~] + +language: + QueryFields: + - language: + - [and, ~] + +toc: + DismaxFields: + - contents^100 + QueryFields: + - contents: + - [and, 100] + - [or, ~] + +topic: + QueryFields: + - topic: + - [and, 50] + - topic_facet: + - [and, ~] + +geographic: + QueryFields: + - geographic: + - [and, 50] + - geographic_facet: + - [and ~] + +genre: + QueryFields: + - genre: + - [and, 50] + - genre_facet: + - [and, ~] + +era: + QueryFields: + - era: + - [and, ~] + +oclc_num: + CustomMunge: + oclc_num: + - [preg_replace, "/[^0-9]/", ""] + # trim leading zeroes: + - [preg_replace, "/^0*/", ""] + QueryFields: + - oclc_num: + - [oclc_num, ~] diff --git a/module/VuFind/tests/fixtures/configs/1.3/sitemap.ini b/module/VuFind/tests/fixtures/configs/1.3/sitemap.ini new file mode 100644 index 0000000000000000000000000000000000000000..68b542cef29a921965e9f2ed5fb75b8c24dbf4cf --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/sitemap.ini @@ -0,0 +1,63 @@ +; This file contains global settings affecting sitemap generation behavior. +; Currently, this is accessed by the sitemap.php script in the +; vufind/util folder. +; Note: For full details on the sitemaps protocol, see http://sitemaps.org + +; The Sitemap Section contains settings affecting the generation of +; individual sitemap files +[Sitemap] + +; Frequency tells the site indexer (aka Google, etc) how frequently you +; expect the content of the given URL entry to be updated. The options are: +; always, hourly, daily, weekly, monthly, yearly and never +frequency = weekly + +; countPerPage indicates how many URL entries will appear in each outputted sitemap +; This is useful in case your repository is huge (as many search engines cap +; the number of urls in a sitemap to around 50000) or if you're indexing formats +; that severly reduce the amount of items that can go into a sitemap (aka +; images indexed in google max at 1000 per sitemap). +countPerPage = 10000 + +; fileName dictates what base name each sitemap will get. If multiple sitemaps +; are generated (via the index size being larger than the countPerPage above) +; the subsequent name files will have a number appended to the base name. +; So, for example, if the code generates three sitemap files, and the basename +; is "sitemap", the three files will be named sitemap.xml, sitemap-2.xml and +; sitemap-3.xml +fileName = sitemap + +; fileLocation dictates where the generated sitemaps will initially be saved. +; Note: To make sitemaps available to a site indexer, they will need to be +; somewhere under the /web folder of your VuFind installation. Furthermore, +; sitemaps.org sets limitations on the paths that can be covered by a given +; sitemap. See http://sitemaps.org/protocol.php#location for details. +fileLocation = /tmp + +; The SitemapIndex Section contains settings affecting the generation of +; a sitemap index file which groups multiple sitemap files. The sitemap +; index file will contain absolute URLs to the individual sitemap files. +[SitemapIndex] + +; This setting indicates the base URL at which your sitemaps are generated. Note +; that in most cases it should correspond with the value of fileLocation above! +; It is "strongly recommended" by sitemaps.org that this location should be the +; root of your website! If this is set to false or commented out, the base +; VuFind URL from config.ini will be used. +baseSitemapUrl = false + +; indexFileName dictates the base name of the sitemap index file, +; e.g. sitemapIndex will result in sitemapIndex.xml +; You can comment out this setting to skip index file generation. +indexFileName = sitemapIndex + +; In addition to the generated sitemap files which contain the URLs for each +; record, the sitemap index file can reference a static sitemap file for other +; pages in your catalogue interface such as the Advanced Search, Browse, etc. +; In creating this sitemap, you can avail of the <priority /> element to indicate +; the priority of these URLs relative to the record URLs which have the default +; priority of 0.5. baseSitemapFileName dictates the base name of this sitemap +; file. Note that this file must actually exist in fileLocation in order for it +; to be added to the sitemap index! +; You can comment out this setting if you do not want to use a base sitemap. +baseSitemapFileName = baseSitemap diff --git a/module/VuFind/tests/fixtures/configs/1.3/sms.ini b/module/VuFind/tests/fixtures/configs/1.3/sms.ini new file mode 100644 index 0000000000000000000000000000000000000000..9676917a86132725e956a36754b7bfc98d3b6cc2 --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/sms.ini @@ -0,0 +1,23 @@ +; This file defines the list of carriers and their domain names for the SMS service +; The format is: unique_identifier = carrier.domain.name:Display Name +; +;For additional carriers, you may find it useful to refer to http://www.txt2day.com +[Carriers] +; Carriers in the US +virgin = vmobl.com:"Virgin Mobile" +att = txt.att.net:"AT&T" +verizon = vtext.com:"Verizon" +nextel = messaging.nextel.com:"Nextel" +sprint = messaging.sprintpcs.com:"Sprint" +tmobile = tmomail.net:"T Mobile" +alltel = message.alltel.com:"Alltel" +Cricket = mms.mycricket.com:"Cricket" + +; Carriers in Canada +;bell.ca = txt.bell.ca:"Bell" +;rogers.com = pcs.rogers.com:"Rogers" +;fido.ca = fido.ca:"Fido" +;telus.com = msg.telus.com:"Telus" +;vmobile.ca = vmobile.ca:"Virgin Mobile (Canada)" +;mobiletxt.ca = mobiletxt.ca:"PC Mobile" +;koodomobile.com = msg.koodomobile.com:"Koodo" diff --git a/module/VuFind/tests/fixtures/configs/1.3/vufind.ini b/module/VuFind/tests/fixtures/configs/1.3/vufind.ini new file mode 100644 index 0000000000000000000000000000000000000000..d56e3fa2878ad62e64e8030c4ed9ccbe47fb48cd --- /dev/null +++ b/module/VuFind/tests/fixtures/configs/1.3/vufind.ini @@ -0,0 +1,120 @@ + +[change_tracker] +core = 130 +id = 130 +first_indexed = 14 +last_indexed = 14 +last_record_change = 14 +deleted = 14 + +[change_tracker__keys] +core = K +id = K + +[comments] +id = 129 +user_id = 129 +resource_id = 129 +comment = 194 +created = 142 + +[comments__keys] +id = N + +[oai_resumption] +id = 129 +params = 66 +expires = 142 + +[oai_resumption__keys] +id = N + +[resource] +id = 129 +record_id = 130 +title = 130 +source = 130 + +[resource__keys] +id = N + +[resource_tags] +id = 129 +resource_id = 129 +tag_id = 129 +user_id = 129 +list_id = 129 +posted = 384 + +[resource_tags__keys] +id = N + +[search] +id = 129 +user_id = 129 +folder_id = 1 +created = 134 +title = 2 +saved = 145 +search_object = 66 +session_id = 2 + +[search__keys] +id = N + +[tags] +id = 129 +tag = 130 + +[tags__keys] +id = N + +[user] +id = 129 +username = 130 +password = 130 +firstname = 130 +lastname = 130 +email = 130 +cat_username = 2 +cat_password = 2 +college = 130 +home_library = 130 +major = 130 +created = 142 + +[user__keys] +id = N + +[user_resource] +id = 129 +user_id = 129 +resource_id = 129 +list_id = 129 +notes = 66 +saved = 384 + +[user_resource__keys] +id = N + +[user_list] +id = 129 +user_id = 129 +title = 2 +description = 66 +created = 142 +public = 129 + +[user_list__keys] +id = N + +[session] +id = 129 +session_id = 2 +data = 66 +last_used = 129 +created = 142 + +[session__keys] +id = N + diff --git a/module/VuFind/tests/unit-tests/src/Config/UpgradeTest.php b/module/VuFind/tests/unit-tests/src/Config/UpgradeTest.php new file mode 100644 index 0000000000000000000000000000000000000000..b1c44588705d466d73116a5338a9b6924e2d9622 --- /dev/null +++ b/module/VuFind/tests/unit-tests/src/Config/UpgradeTest.php @@ -0,0 +1,120 @@ +<?php +/** + * Config Reader Test Class + * + * PHP version 5 + * + * Copyright (C) Villanova University 2010. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @category VuFind2 + * @package Tests + * @author Demian Katz <demian.katz@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org/wiki/unit_tests Wiki + */ +namespace VuFindTest\Config; +use VuFind\Config\Upgrade; + +/** + * Config Reader Test Class + * + * @category VuFind2 + * @package Tests + * @author Demian Katz <demian.katz@villanova.edu> + * @author Chris Hallberg <challber@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org/wiki/unit_tests Wiki + */ +class UpgradeTest extends \VuFindTest\Unit\TestCase +{ + /** + * Get an upgrade object for the specified source version: + * + * @param string $version Version + * + * @return Upgrade + */ + protected function getUpgrader($version) + { + $oldDir = realpath(__DIR__ . '/../../../fixtures/configs/' . $version); + $rawDir = realpath(__DIR__ . '/../../../../../../config/vufind'); + return new Upgrade($version, '2.0', $oldDir, $rawDir); + } + + /** + * Perform standard tests for the specified version and return resulting configs + * so that further assertions can be performed by calling code if necessary. + * + * @return array + */ + protected function checkVersion($version) + { + $upgrader = $this->getUpgrader($version); + $upgrader->run(); + $results = $upgrader->getNewConfigs(); + + // We should always update BulkExport options to latest full set when + // upgrading a default configuration: + $this->assertEquals( + 'MARC:MARCXML:EndNote:RefWorks:BibTeX', + $results['config.ini']['BulkExport']['options'] + ); + + // Prior to 1.4, Advanced should always == HomePage after upgrade: + if ((float)$version < 1.4) { + $this->assertEquals( + print_r($results['facets.ini']['Advanced'], true), + print_r($results['facets.ini']['HomePage'], true) + ); + } + + // SMS configuration should contain general and carriers sections: + $this->assertTrue(isset($results['sms.ini']['General'])); + $this->assertTrue(isset($results['sms.ini']['Carriers'])); + + return $results; + } + + /** + * Test upgrading from 1.1. + * + * @return void + */ + public function testUpgrade11() + { + $this->checkVersion('1.1'); + } + + /** + * Test upgrading from 1.2. + * + * @return void + */ + public function testUpgrade12() + { + $this->checkVersion('1.2'); + } + + /** + * Test upgrading from 1.3. + * + * @return void + */ + public function testUpgrade13() + { + $this->checkVersion('1.3'); + } +} \ No newline at end of file