From d01f528d0476a6cfde7205c7ca2a2211cb9a08f1 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, and test with 'Bootstrap' themes - 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 cached images URLs. - The ID sent to Coce is EAN or ISBN. Try with various type of biblios. DVD have often EAN, but no ISBN. --- .../admin/preferences/enhanced_content.pref | 9 +++++ .../bootstrap/en/includes/opac-bottom.inc | 9 +++++ .../opac-tmpl/bootstrap/en/modules/opac-detail.tt | 7 ++++ .../opac-tmpl/bootstrap/en/modules/opac-results.tt | 9 +++++ koha-tmpl/opac-tmpl/bootstrap/js/coce.js | 43 ++++++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 koha-tmpl/opac-tmpl/bootstrap/js/coce.js 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 627f095..cf639aa 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 @@ -337,3 +337,12 @@ Enhanced Content: - "Show items from the OverDrive catalog of library #" - pref: OverDriveLibraryID - . + 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/bootstrap/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc index 596341a..90abca1 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc @@ -166,6 +166,15 @@ $.widget.bridge('uitooltip', $.ui.tooltip); //]]> [% END %] +[% IF Koha.Preference('CoceProviders') %] + + +[% END %] + [% IF OpenLibraryCovers %]