From e9426d0c1885a79bf92b0fb4c216a02ecbc05649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Thu, 7 Feb 2013 09:55:29 +0100 Subject: [PATCH] Bug 9580 Cover images from Coce, a remote image URL cache Add to Koha support for displaying Book cover requested to Coce, a remote image URL cache: https://github.com/fredericd/coce With this enhancement, cover images are not fetched directly from Amazon, Google, and so on. Their URL are requested via a web service to Coce which manages a cache of URLs. Three cover image providers are now available: Google Books (gb), Amazon (aws), and Open Library (ol). Two system preferences enable this service: - CoceHost - URL of Coce server - CoceProviders - Ordered list of requested providers. For example gb,aws,ol, will return the first available URL from those providers. Several advantages to this architecture: - If a book cover is not available from a provider, but is available from another one, Koha will be able to display a book cover, which isn't the case now - Since URLs are cached, it isn't necessary for each book cover to request, again and again, the provider, and several of them if necessary. - Amazon book covers are retrieved with Amazon Product Advertising API, which means that more covers are retrieved (ISBN13). Test plan: - Apply this patch - You can verify that nothing has changed on OPAC result and detail page, since new syspref haven't been filled - Install Code: https://github.com/fredericd/coce Or ask me directly for the URL of a Coce server - In sysprefs, tab Enhanced content, modify: CoceHost -- enter the URL of your Coce server CoceProviders -- fill with: gb,aws,ol - Do a search. On result page, and detail page, you will see cover images originating from the 3 providers: fly over the image to see its URL. Try to compare with a Koha with just GoogleJacket or Amazon cover to confirm that you have more images. Verify that it's quick, and even quicker for cacher images URLs. --- C4/Auth.pm | 2 + .../admin/preferences/enhanced_content.pref | 9 ++++ .../opac-tmpl/prog/en/includes/doc-head-close.inc | 3 + koha-tmpl/opac-tmpl/prog/en/js/coce.js | 42 ++++++++++++++++++++ koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 7 +++ .../opac-tmpl/prog/en/modules/opac-results.tt | 9 ++++- 6 files changed, 71 insertions(+), 1 deletions(-) create mode 100644 koha-tmpl/opac-tmpl/prog/en/js/coce.js diff --git a/C4/Auth.pm b/C4/Auth.pm index 2984570..16dd88b 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -318,6 +318,8 @@ sub get_template_and_user { "BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1, EnhancedMessagingPreferences => C4::Context->preference('EnhancedMessagingPreferences'), GoogleJackets => C4::Context->preference("GoogleJackets"), + CoceHost => C4::Context->preference("CoceHost"), + CoceProviders => C4::Context->preference("CoceProviders"), OpenLibraryCovers => C4::Context->preference("OpenLibraryCovers"), KohaAdminEmailAddress => "" . C4::Context->preference("KohaAdminEmailAddress"), LoginBranchcode => (C4::Context->userenv?C4::Context->userenv->{"branch"}:undef), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref index ba6a6ac..8b4edaf 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref @@ -326,3 +326,12 @@ Enhanced Content: yes: Enable no: "Don't enable" - the ability to use Koha Plugins. Note, the plugin system must also be enabled in the Koha configuration file to be fully enabled. + Coce Cover images cache: + - + - Coce server URL + - pref: CoceHost + class: url + - + - Providers + - pref: CoceProviders + - 'separated by comma, for example: aws,gb. Leave empty not to activate this service.' diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc index 45424e8..e0a4f46 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc @@ -105,6 +105,9 @@ //]]> [% END %] +[% IF CoceProviders %] + +[% END %] [% IF OpenLibraryCovers %]