Koha/C4
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
..
AuthoritiesMarc Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Barcodes Bug 8524 follow-up: fix Javascript syntax error 2012-08-31 17:42:48 +02:00
ClassSortRoutine Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Creators Bug 6448 [3/3] EAN-13 barcode labels 2012-08-02 18:41:36 +02:00
External Bug 8679 [REVISED] Remove usage of Amazon API 2012-08-29 16:05:29 +02:00
Form Talking Tech Support - Phase I - Followup - Fix Messaging Preferences 2012-06-10 17:46:58 +02:00
Heading Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
ILSDI Bug 7299 pass itemnumber in ILSDI holditem service 2012-07-06 18:34:36 +02:00
Installer Bug 5327 follow-up: add DBD::Mock dependency 2012-09-07 14:31:49 +02:00
Labels Bug 6448 [3/3] EAN-13 barcode labels 2012-08-02 18:41:36 +02:00
Linker signed off Bug 7284: Authority matching improvements 2012-03-07 17:34:11 +01:00
Members Bug 7955: Followup : Check the syspref value (avoid sql injection) 2012-08-01 16:06:38 +02:00
OAI Bug 6440: Implement OAI-PMH Sets 2012-03-20 11:38:26 +01:00
Output Fix FSF address in directory C4/ 2010-03-16 20:17:56 -04:00
Patroncards Bug 8315 - remove use C4::* version 2012-07-13 14:17:20 +02:00
Reports Bug 8622: Fix theme fallback 2012-09-05 11:39:14 +02:00
Search Bug 5385: POD Cleanups (part 1) 2010-11-12 10:06:55 +13:00
SIP Bug 8271 teach SIPServer.pm to set its own lib path 2012-07-06 18:28:11 +02:00
Utils Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
VirtualShelves bug 8323 fixing year sorting of a list 2012-07-06 17:10:02 +02:00
Accounts.pm Merge remote-tracking branch 'origin/new/bug_6634' 2012-06-20 22:19:06 +02:00
Acquisition.pm SIGNED-OFF] bug 8382: It is not possible to cancel an order on a filtered page in parcel.pl 2012-09-05 13:31:37 +02:00
Auth.pm Bug 8679 [REVISED] Remove usage of Amazon API 2012-08-29 16:05:29 +02:00
Auth_cas_servers.yaml.orig Bug 5630 CAS improvements 2011-10-13 10:49:49 +13:00
Auth_with_cas.pm Bug 8279: CAS Debugging improvements 2012-06-27 18:05:02 +02:00
Auth_with_ldap.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
AuthoritiesMarc.pm Bug 8209: "Did you mean?" from authorities 2012-09-13 11:34:28 +02:00
BackgroundJob.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Barcodes.pm Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Biblio.pm Revert "Bug 8089: Use Koha::Cache for all caching" 2012-09-12 14:12:41 +02:00
Bookseller.pm Bug 8223 - Properly format SQL query in C4::Bookseller::GetBookSeller 2012-06-20 11:12:29 +02:00
Boolean.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Branch.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Breeding.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Budgets.pm Bug 7304: More permissions for budgets 2012-06-27 16:25:44 +02:00
Calendar.pm Bug 7477: Followup: Fix perlcritic issues 2012-03-19 18:16:40 +01:00
Category.pm Bug 4330 : Adding copyright headers and fixing FSF addresses 2012-05-28 17:54:25 +02:00
Charset.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Circulation.pm Merge remote-tracking branch 'origin/new/bug_8251' 2012-09-12 16:45:05 +02:00
ClassSortRoutine.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
ClassSource.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Context.pm Revert "Bug 8089: Use Koha::Cache for all caching" 2012-09-12 14:12:41 +02:00
Contract.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Creators.pm Bug 8315 - remove use C4::* version 2012-07-13 14:17:20 +02:00
Csv.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Dates.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Debug.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Heading.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
HoldsQueue.pm bug_5911: Transport Cost Matrix 2012-09-12 14:49:25 +02:00
Images.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
ImportBatch.pm Bug 7329 [Followup] : when reverting an import, keep matching biblionumber in batch table, if items are not deleted because they are issued. 2012-06-20 09:38:01 +02:00
ImportExportFramework.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Input.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Installer.pm Bug 8315 - remove use C4::* version 2012-07-13 14:17:20 +02:00
ItemCirculationAlertPreference.pm Bug 4330 : Adding copyright headers and fixing FSF addresses 2012-05-28 17:54:25 +02:00
Items.pm Bug 8329 - GetLostItems in C4::Items.pm has a SELECT * Provided a smaller list based on reports/itemlost.tt 2012-08-29 15:34:01 +02:00
ItemType.pm Bug 4330 : Adding copyright headers and fixing FSF addresses 2012-05-28 17:54:25 +02:00
Koha.pm Bug 8623: Do not accept "lib" as a valid theme 2012-09-05 12:04:12 +02:00
Labels.pm Bug 8315 - remove use C4::* version 2012-07-13 14:17:20 +02:00
Languages.pm Revert "Bug 8089: Use Koha::Cache for all caching" 2012-09-12 14:12:41 +02:00
Letters.pm Bug 8434 - Notice generation fails for Advanced Notices, Item Due, and Overdues when run in shell (due to error in Letters.pm) 2012-07-24 17:34:05 +02:00
Linker.pm Bug 7284: Fix unit test broken by erroneous POD 2012-03-08 15:24:18 +01:00
Log.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Maintainance.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Matcher.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Members.pm Bug 8533 - Non-numeric cardnumbers screw up autoMemberNum 2012-08-31 18:23:43 +02:00
Message.pm Bug 4330 : Adding copyright headers and fixing FSF addresses 2012-05-28 17:54:25 +02:00
NewsChannels.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Output.pm Bug 8622: Fix theme fallback 2012-09-05 11:39:14 +02:00
Overdues.pm [PATCH] bug_7420: Added overduefinescap to issuingrules 2012-07-25 18:33:20 +02:00
Patroncards.pm Bug 8315 - remove use C4::* version 2012-07-13 14:17:20 +02:00
Print.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Ratings.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Record.pm Bug 8203: Add ability to save individual authorities 2012-07-12 16:02:07 +02:00
Reports.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Reserves.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Review.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Ris.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
RotatingCollections.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Scheduler.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Scrubber.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Search.pm Bug 8293 : Fixing POD to match actuality. 2012-09-05 14:37:34 +02:00
Serials.pm Bug 6655 - Sorting order of serial issues in OPAC 2012-08-02 12:09:33 +02:00
Service.pm POD Cleanups 2010-06-09 08:38:59 -04:00
ShelfBrowser.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
SMS.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
SocialData.pm bug 7470 follow-up, fix POD doc 2012-03-26 17:53:28 +02:00
SQLHelper.pm Revert "Bug 8089: Use Koha::Cache for all caching" 2012-09-12 14:12:41 +02:00
Stats.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Suggestions.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Tags.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Templates.pm Bug 8623: Move YUI out of prog 2012-09-05 12:04:13 +02:00
TmplToken.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
TmplTokenType.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
TTParser.pm Bug 5327 : Follow up for TTParser test 2012-07-12 16:06:21 +02:00
UploadedFile.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
Utils.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
VirtualShelves.pm Bug 8706 - Private lists can be accessed by anyone 2012-09-05 15:29:51 +02:00
XISBN.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00
XSLT.pm Bug 8622: Fix theme fallback 2012-09-05 11:39:14 +02:00
Z3950.pm Bug 7941 : Fix version numbers in modules 2012-06-11 17:29:38 +02:00