Koha-clms/t
Jared Camins-Esakov 8471158160 Bug 8209: "Did you mean?" from authorities
One of the ideas behind authority records is that users who search for
one term should have related terms (according to the authority file)
suggested to them. At the moment, Koha doesn't do that. Adding an
authority searching step to regular searches and displaying any
suggestions in a "Did you mean" bar at the top of the results would be
very useful.

This commit adds a Koha::SuggestionEngine class which is in charge of
getting suggestions from individual suggestion engine plugins, which
much be in the Koha::SuggestionEngine::Plugin::* namespace, and extend
Koha::SuggestionEngine::Base. Suggestions are loaded asynchronously
using AJAX, and a link to a page with suggestions is provided for users
with Javascript turned off.

The AuthorityFile suggestion engine plugin looks up the specified search
terms in the authority file and then suggests searches for records using
matching authorities.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased 2 August 2012 and incorporated QA feedback

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Test plan:
- Verified database update added system preference correctly,
  pref defaults to OFF
- Verified search results and detail pages in OPAC and staff
  still worked the same as before
  * for no results
  * with results
- Activated system preference and tested various searches
  * Searches from simple search
  * Searches from advanced search
  * Search links in records
- Deactivated Javascript - verified fallback works correctly

Notes:

- Suggested terms can include autorities with no linked records.
- When combining more than one search option using advanced search
  this results in "no suggestions" more often. Feature works best
  from simple search.

Overall great feature making use of authorities in a user friendly way!

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased on latest master 2012-09-10
Signed-off-by: wajasu <matted-34813@mypacks.net>
2012-09-13 11:34:28 +02:00
..
Budgets Bug 7304: More permissions for budgets 2012-06-27 16:25:44 +02:00
data/db_schemas
…
db_dependent bug_5911: Transport Cost Matrix 2012-09-12 14:49:25 +02:00
lib Bug 8233 : SearchEngine: Add a Koha::SearchEngine module 2012-07-06 16:51:58 +02:00
searchengine Bug 8233 : SearchEngine: Add a Koha::SearchEngine module 2012-07-06 16:51:58 +02:00
00-checkdatabase-version.t Test to check for XXX in kohaversion.pl or updatedatabase.pl 2011-12-27 17:56:03 +01:00
00-deprecated.t Bug 5105 Regression test for switch statement 2010-11-11 21:32:31 +13:00
00-load.t Bug 8233: We can't load test on Koha::SearchEngine::* 2012-08-01 13:52:36 +02:00
00-merge-conflict-markers.t Test suite: ignoring backups from vi (files ending with a ~) 2011-12-07 15:17:54 +01:00
00-testcritic.t Bug 8216: Allow SIP modules to pass critic tests 2012-06-20 11:14:00 +02:00
00-valid-xml.t bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files 2010-11-13 11:51:49 +13:00
AuthoritiesMarc.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
AuthoritiesMarc_MARC21.t Bug 5327 added unit tests for C4/AuthoritiesMarc/MARC21.pm 2012-01-31 17:21:47 +01:00
AuthoritiesMarc_UNIMARC.t Added unit test for AuthoritiesMarc/UNIMARC.pm 2011-12-15 13:41:41 +01:00
Barcodes_EAN13.t Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Barcodes_PrinterConfig.t Bug 5327 added unit tests for C4/Barcodes_PrinterConfig.pm 2012-01-31 17:21:48 +01:00
Barcodes_ValueBuilder.t Bug 8524 follow-up: fix broken test 2012-08-31 17:42:44 +02:00
Barcodes_annual.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_hbyymmincr.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Bookseller.t
…
Boolean.t Added missing reference case to Boolean.t and corrected count 2011-12-15 13:50:41 +01:00
Branch.t
…
Breeding.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Budgets.t
…
Cache.t Revert "Bug 8089: Use Koha::Cache for all caching" 2012-09-12 14:12:41 +02:00
Cache_Memcached.t Bug 7248 Added caching support and and moved Caching into Koha namespace 2012-05-15 18:05:55 +02:00
Calendar.t Bug 8486 - Follow up making the tests db independent 2012-08-01 12:36:56 +02:00
Category.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Charset.t
…
Circulation_barcodedecode.t Bug 6448 [1/3] EAN-13/UPC-A itemBarcodeInputFilter 2012-08-02 18:41:40 +02:00
ClassSortRoutine.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ClassSortRoutine_Dewey.t Bug 5327 Added unit tests for C4/ClassSortRoutine/Dewey.pm 2012-01-17 15:31:55 +01:00
ClassSortRoutine_Generic.t Bug 5327 added unit tests for C4/ClassSortRoutine/Generic 2012-01-17 15:31:55 +01:00
ClassSortRoutine_LCC.t Bug 5327 added unit tests for C4/ClassSortRoutine/LCC 2012-01-31 17:21:48 +01:00
ClassSource.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Contract.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Creators.t Bug 7952 - followup to fix t/Creators.t 2012-06-14 15:54:06 +02:00
DateUtils.t Bug 5549 : Format due dates in opac 2012-03-20 13:24:51 +13:00
Dates.t Fix for Bug 4473 - Recent comments view for the OPAC 2010-12-13 09:43:01 +13:00
Debug.t Added extra unit tests to Debug.t 2011-01-18 11:59:07 +13:00
External_Syndetics.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Form_MessagingPreferences.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ILSDI_Services.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
ILSDI_Utility.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Images.t Bug 5327: Testing c4 Images 2012-09-07 14:42:18 +02:00
ImportBatch.t Create Unit Test for ImportBatch 2010-10-31 10:32:29 +13:00
Input.t
…
Installer_PerlDependencies.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_PerlModules.t Added tests to installer_perlmodules 2012-09-07 14:31:56 +02:00
Installer_pm.t
…
ItemCirculationAlertPreference.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ItemType.t Bug 5327 : Added a few more lines of code to the ItemType.t unit test 2012-09-07 14:31:51 +02:00
Koha.t Bug 5327 removing uneeded tests 2011-01-18 09:10:26 +13:00
Labels.t Bug 5327 added tests for C4/Labels.pm 2012-01-31 17:21:47 +01:00
Labels_split_ccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_ddcn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_lccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Languages.t Bug 5327 added tests for C4/Languages.pm 2012-01-31 17:21:51 +01:00
Letters.t Added a mock-db table and tested a line 2012-09-07 14:31:55 +02:00
Log.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Maintainance.t
…
Makefile
…
Matcher.t Bug 5327 Tests for C4::Matcher 2012-09-07 14:31:52 +02:00
Members_AttributeTypes.t Added and tested a mock-db tested a couple of features 2012-09-07 14:31:54 +02:00
Members_Attributes.t
…
Members_Messaging.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Message.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
NewsChannels.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Output.t
…
Output_JSONStream.t Bug 5327 fixing missing number of tests 2011-01-21 11:28:58 +13:00
Overdues.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards_Batch.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Layout.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Lib.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Patroncard.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Profile.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Template.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Print.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Review.t create unit test files 2010-10-30 20:12:50 +13:00
Ris.t bug 5327 added unit tests for C4/Ris.pm 2012-01-31 17:21:49 +01:00
RotatingCollections.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
SIP_Sip.t Added unit tests for Sip Checksum.pm 2011-12-15 13:41:37 +01:00
SMS.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-01-31 17:21:49 +01:00
Scrubber.t Added unit tests for Scrubber 2011-12-15 13:41:43 +01:00
Search_PazPar2.t Bug 5327 added unit tests for C4/Search_PazPar2.pm 2012-01-31 17:21:50 +01:00
SocialData.t Bug 5327: Unit tests for C4 socialdata 2012-09-07 14:32:00 +02:00
Stats.t
…
SuggestionEngine.t Bug 8209: "Did you mean?" from authorities 2012-09-13 11:34:28 +02:00
SuggestionEngine_AuthorityFile.t Bug 8209: "Did you mean?" from authorities 2012-09-13 11:34:28 +02:00
TmplToken.t Bug 5327 added unit tests for C4/TmplToken.pm 2012-01-31 17:21:50 +01:00
Utils.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:22:30 +13:00
VirtualShelves_Merge.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
XSLT.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:22:30 +13:00
Z3950.t unit test stub for Z3950.pm 2010-10-31 10:33:35 +13:00
dummy.t
…
perlcriticrc Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and use strict; 2012-01-27 11:33:15 +01:00
rewrite-config-test.PL
…
smolder_smoke_signal
…