Main content

TÉMA: Od obálek knih k obohacování záznamů

MARTIN ŠÁRFY > sarfy@ics.muni.cz  

Služba obalkyknih.cz vznikla v roce 2008 díky projektu Moravské zemské knihovny v rámci programu VISK 3. Jeho původním cílem bylo vytvořit centrální repozitář obrázků obálek knih určených pro integraci do katalogů knihoven. To se, jak si ukážeme, podařilo splnit. V uplynulém roce 2009 navíc projekt prošel dalším intenzivním vývojem, přičemž se služba nově zaměřuje na rozšíření databáze z obálek knih také na další obohacující prvky. O nových službách projektu pojednává tento článek.

Databáze obálek knih

Cílem projektu obalkyknih.cz je vytvoření databáze obálek knih, která by byla knihovnám přístupná jako webová služba umožňující snadnou integraci obálek do knihovního katalogu. Samotný software je přitom vyvíjen jako Open Source Software hostovaný na sourceforge.net (http://sourceforge.net/projects/obalkyknih).

Zdrojem obálek jsou zejména spolupracující nakladatelé a knihkupci, kteří pro knihovny patřící do sdružení SKIP za jistých podmínek souhlasí se zobrazováním obálek svých knih v knihovních katalozích. Dalším zdrojem jsou knihovny, které aktivně skenují obálky knih ze svých fondů a tyto vkládájí na obálkový server. Ten zajišťuje potřebnou infrastrukturu pro evidenci obálek, jejich uchovávání a jednotné zpřístupňování.

Systém je navržen tak, že do stránky webového katalogu stačí vložit krátký JavaScript kód, který pro danou knihu stáhne z webu obalkyknih.cz obohacující informace a ty na stránce zvoleným způsobem vykreslí. Tím se čtenářův prohlížeč (1) při prohlížení katalogu knihovny pokusí stáhnout informace ze serveru obalkyknih.cz (2). Aplikační logika dohledá požadovaný obrázek, skenovaný obsah a další prvky v databázi. Současně si identifikátor knihy zapíše pro pozdější prohledávání zdrojů obsahu. Podle adresy stránky, ze které čtenář přistupuje, určí knihovnu a přesměruje prohlížeč čtenáře na nejbližší cache server obsahující kopii souboru (3).

Současně s poskytováním prvků ve webových katalozích probíhá stahování nových prvků z různých zdrojů (4). Podle postupu při získávání obálek můžeme tyto zdroje rozdělit do následujících kategorií:

1. Skenované obrázky vkládané „ručně“ přes webové rozhraní obalkyknih.cz.

2. Obálky vkládané automatizovaně pomocí webového API spolupracujícími institucemi.

3. Dotazování poskytovatelů na každé neznámé ISBN (pull přístup).

4. Pravidelné čtení seznamu nových ISBN vydavatele a jejich stahování (push přístup).

Stahovaná data jsou držena v primární databázi na serveru obalkyknih.cz. Pro omezení zátěže je však možné nakonfigurovat několik cache serverů, které periodicky stahují nové prvky z primární databáze. Server obalkyknih.czdatabáze pravidelně mezi cache servery aktualizuje a ověřuje jejich dostupnost (5).

Výsledkem integrace je oživení webového katalogu knihovny. Čtenáři jsou na fotografie produktů zvyklí z různých internetových e-shopů, obálky knih jsou samozřejmostí také na webech knihkupců, právem je tedy očekávají i v knihovních katalozích.

Není proto divu, že už během prvních měsíců dosáhla využívanost služby počtu 73 registrovaných knihoven s více než milionem dotazů denně. Nejaktivnějšími knihovnami vzhledem k počtu dotazů za měsíc jsou:

 

V době špiček, které kopírují běžnou pracovní dobu, se zátěž pohybuje kolem 30 dotazů za sekundu. Obálkový server zvládá toto množství dotazů bez větších problémů díky vhodným algoritmům a dostatečnému výkonu. Další vývoj závisí na tom, kolik nových knihoven se do systému zapojí.

Nové služby

Vývoj služeb obálkového serveru se však tímto nezastavil. Na přání uživatelů jsme provedli řadu změn a rozšíření. Nyní si je postupně představíme:

Identifikátor knihy

Tradičním problémem v knihovnickém světě je jednoznačná identifikace knížky. O tu se snaží různé iniciativy s většími či menšími úspěchy. Obálkový server proto ke knížce eviduje celou řadu identifikátorů - 13místné ISBN (EAN kód), OCLC, LCCN či v Národní knihovně čerstvě vznikající národní identifikátor záznamu. Na knihu se pak dá odkázat kterýmkoliv z těchto identifikátorů.

Kromě toho se ke knížce evidují také základní bibliografické údaje (název, autor, nakladatel, rok vydání). Tyto údaje jsou jednak použity při zobrazování informací o knížce čtenáři, výhledově však také počítáme s možností identifikace knihy i pomocí těchto „OpenURL“ údajů. Zápis 13místného EAN kódu navíc umožňuje evidovat nejen obálky knížek, ale případně i jiné doprovodné předměty - audiovizuální nosiče CD/DVD apod.

Obsahy knih

Užitečnou funkcí čtenářského katalogu je také možnost prohlédnout si obsah knížky. Pro zajištění této služby navazuje server obalkyknih.cz na projekt TOC Národní knihovny ČR (http://toc.nkp.cz), který nabízí spolupracujícím knihovnám jednotnou linku skenování obálek a obsahů knih. Pro obsahy vytváří také textovou OCR vrstvu, stažený PDF soubor s obsahem je tudíž prohledávatelný. Zapojené knihovny takto doposud zpracovaly celkem cca 30 000 knih.

Pro server obalkyknih.cz slouží projekt TOC jako zatím jediný zdroj obsahů knih. I když 30 000 knih tvoří zdánlivě pouze nepatrnou část knižní produkce, jde zejména o nové a často žádané české knihy a díky pečlivému výběru je tak reálné využití prakticky mnohem větší.

Server obalkyknih.cz nabízí ke knížce z knihovního katalogu jak odkaz na PDF dokument se samotným obsahem knihy, tak náhledový obrázek první stránky obsahu. Dále je možné ke knížkám stáhnout textovou verzi obsahu pro případnou indexaci vyhledávacím mechanismem knihovního katalogu, čímž je čtenáři umožněno vyhledávat knížky v katalogu i zadáním slov z obsahu.

Recenze, anotace, čtenářská hodnocení

Ke knihám jsou dále evidovány anotace a recenze. Zde mezi hlavní zdroje patří databáze SČKN, o zpřístupnění cenné databáze Městské knihovny v Praze se jedná. Projekt obalkyknih.cz se v tomto případě snaží přispět integrací různých zdrojů do jednoho přístupového místa.

Kromě toho umožňuje čtenářům zadávat i vlastní hodnocení. Knihu lze hodnotit formou známých „hvězdiček“ či slovním komentářem. Tyto příspěvky podléhají před zobrazením v knihovních katalozích kontrole ze strany správců databáze, přičemž ty s nevhodným obsahem jsou mazány.

Prodejci dané knihy

Vedlejším efektem stahování údajů o knížkách z webů nakladatelů a knihkupců je získání informace o možnosti zakoupení dané knížky. Při stahování informací se proto ukládá i odkaz na knihu na webu knihkupce a také její cena. Pokud má knihovna zájem, může pak čtenáři odkazy, kde je možné danou knížku zakoupit, nabídnout. Odkazy jsou také zobrazeny na stránce knížky na serveru obalkyknih.cz. To může čtenáři pomoci, když například ve fondu knihovny už není zbývající volný exemplář knížky.

Integrace do OPACů

A jak postupovat, pokud chcete o obálky knih obohatit i váš katalog? Je to jednoduché - stačí se zaregistrovat na domovské stránce projektu http://www.obalkyknih.cz, kde je potřeba vyplnit zejména siglu knihovny a URL adresu vašeho webového katalogu. Adresa URL katalogu je důležitá - při dotazu na obálkový server je kontrolována a obálky se zobrazují pouze na stránkách registrovaných katalogů.

Server obalkyknih.cznabízí dodavatelům knihovních systémů dva způsoby integrace do knihovního katalogu - buď bez programování, kdy stačí pouze do HTML kódu stránky na správná místa vložit speciální značky, nebo s programováním, kdy si knihovna může definovat způsob zobrazení zcela podle svého uvážení a vkusu.

HTML API

V tomto případě stačí vložit do stránky do sekce zobrazující bibliografické informace o knížce HTML kód vypsaný na stránce http://www.obalkyknih.cz/index.

API zajistí nalezení „obalky_book“ sekcí, ve kterých dohledá bibliografické (identifikační) údaje o stránce, dotáže se na příslušnou knížku obálkového serveru a vloží do stránky požadované prvky (v tomto případě obálku).

Důležitým parametrem je „obalky_permalink“ – stálý a neměnný URL odkaz na záznam ve vašem knihovním katalogu. Slouží k jednoznačné identifikaci záznamu z dané knihovny na serveru obalkyknih.cz.

JavaScript API

Tato možnost vyžaduje znalost JavaScript programování. Do stránky se opět přidá odkaz na JavaScript knihovnu uloženou na obalkyknih.cz. Ta disponuje funkcemi, kterým se předají bibliografické údaje knížky a funkce vrátí další obohacující prvky – rozměry a URL obrázku s obálkou, náhledový obrázek a PDF adresa obsahu, seznam anotací či recenzí apod.

Je pak plně v režii knihovny, jakým způsobem prezentuje získané údaje. Pomocí JavaScriptu je možné stránku s knihovním záznamem pozměnit a vložit do ní získanou obálku, obsah, anotaci apod. Jediným požadavkem ze strany projektu je, aby obrázek obálky bylo možno prokliknout a vedl na vrácenou URL (typicky na stránku o knížce na webu obalkyknih.cz).

Podrobný popis všech JavaScript funkcí včetně ukázkového kódu je též uveden na stránce projektu.

Podpora v knihovních systémech

Pro knihovní systém Aleph společnosti Ex-Libris je na stránkách projektu popsán podrobný návod, jak lze integraci provést. Dodavatelé dalších knihovních systémů slíbili podporu pro nové rozhraní v nejbližší době.

Další vývoj

V následujících fázích projektu plánujeme provést celou řadu dalších zlepšení a rozšíření:

Systém Doporučování literatury

Tento systém slouží čtenáři k nabízení odkazů na knížky, které nějakým způsobem souvisí s jím právě prohlíženou knihou. Tyto systémy mají svůj původ ve větších e-shopech, kde se zákazníkovi nabízí zboží, které spolu s právě prohlíženým zbožím koupili předešlí zákazníci.

Doporučování literatury lze opřít buď o údaje o výpůjčkách knih (kdy sledujeme kombinace spolu vypůjčených knih), nebo se k určení podobnosti spokojíme s pouhým zobrazením stránky záznamu o knížce. Pokud si v katalogu více různých čtenářů nezávisle na sobě v rámci svého „sezení“ prohlédne stejnou kombinaci knih, tyto knihy spolu pravděpodobně souvisejí. Míra pravděpodobnosti je pak dána frekvencí prohlížení této kombinace.

Systém obalkyknih.cz nemá údaje o výpůjčkách čtenářů, na druhou stranu má však bohaté údaje o zobrazovaných knihách v knihovních katalozích. Díky tomu může budovat statistický model potřebný pro vytvoření párů souvisejících knih (často společně prohlížených), a tyto katalogy nabídnout pro zobrazení čtenáři. Tuto znalost může budovat napříč katalogy všech zapojených knihoven, doporučovat však může pouze knížky, které má knihovna ve svém v katalogu.

Deduplikace záznamů

V tuto chvíli se jednotlivé prvky databáze (obálka, obsah, hodnocení, recenze apod.) váží vždy na konkrétní knihu. Pokud má však knížka třeba více vydání, některé údaje by bylo vhodné sdílet. Typicky se například nemění celkové hodnocení díla, obsah bývá také často téměř shodný. Z těchto důvodů plánujeme agregovat více různých vydání díla a v případě, že to není na závadu věci, nabízet obálku, obsah či hodnocení alespoň z jiného vydání.

S tím souvisí také podpora ISSN identifikátoru a logika zobrazování obálek u seriálových řad, zpracování vícesvazkových děl apod.

Dostupnost knihy v jiných knihovnách

Deduplikováním bibliografických údajů různých knihoven je možné také zobrazovat odkazy na knížku do webových katalogů jiných knihoven. To má pro čtenáře smysl zejména tehdy, když ve vaší knihovně už není zbývající volný exemplář knížky, případně může informace sloužit pro meziknihovní výpůjční službu.

Další rozšiřování báze dat

Dlouhodobým úsilím je komunikace s nakladateli a knihkupci za účelem dalšího rozšiřování databáze obalkyknih.cz. Výhoda pro knihkupce je zřejmá – knihovny, případně server obalky knih.cz, umožňují čtenáři knížku u daného knihkupce zakoupit.

Registrace nového knihkupce nebo vydavatele je přitom snadná. Využívá stávající de-facto standard agregačních služeb serverů zbozi.cz či heureka.cz, pro které knihkupci už teď nabízejí seznam svých knih ve formě stažitelného periodicky aktualizovaného XML souboru s popisem svého zboží. Stejný formát souboru je používán i serverem obalkyknih.cz.

Závěr

Primárním úkolem projektu obalkyknih.cz je agregace různých zdrojů informací o knížkách do jedné snadno použitelné webové služby. Centralizované řešení služby přitom velmi zjednodušuje logiku aplikace a ulehčuje její administraci.

Systém obalkyknih.cz se za poslední období proměnil z prosté databáze obálek na platformu, která věrně modeluje knihovnický svět. Eviduje knížky, obálky, obsahy, knihovny a jejich knihovní záznamy, nakladatele či knihkupce a jimi nabízené zboží. Eviduje čtenáře, jimi prohlížené knížky a jejich hodnocení.

Služby systému obalkyknih.cz využívá celá řada knihoven všech velikostí i zaměření. Navíc trend v zapojování nových knihoven je pořád rostoucí.

Pokud chcete svým čtenářům nabídnout moderní služby bez velkého úsilí, služba obalkyknih.cz tak může být dobrým začátkem i pro vás.