Main content

TÉMA: Betaverze Centrálního portálu českých knihoven se představuje – beta.knihovny.cz

PETR ŽABIČKA petr.zabicka@mzk.cz

Na sklonku roku 2015 uzavřelo 23 knihoven vzájemnou smlouvu o spolupráci při budování Centrálního portálu českých knihoven. Jeho hlavním cílem je vytvořit silný centrální portál poskytující kvalitní, pohotové služby, které umožní klientům získat požadovaný dokument v tradiční tištěné nebo digitální formě či informaci kdykoli, odkudkoli a kdekoli. V tomto článku se budeme věnovat současnému stavu portálu po skončení prvního roku vývoje.

Jak slíbila Bohdana Stoklasová ve svém březnovém článku (Čtenář č. 3/2015), přinášíme nyní shrnutí nejdůležitějších milníků vývoje Centrálního portálu knihoven (CPK), který Moravská zem­ská knihovna v Brně zahájila v roce 2015 s finanční podporou programu VISK 8.

Hlavním cílem projektu MZK bylo vytvoření pilotní verze portálu s několika základními vlastnostmi:

  • vyhledávání a prezentace výsledků jak v anonymním režimu, tak pro přihlášeného uživatele;
  • přihlášenému uživateli, jehož knihovna bude podporovat příslušné komunikační protokoly, nabídne portál funkce ekvivalentní online katalogu dané knihovny;
  • předpokládanými zapojenými zdroji měly být zejména katalogy a digitální knihovny zakládajících knihoven a vybrané specifické národní zdroje.

Jak uvedeme dále, tyto body byly naplněny, i když v několika případech došlo k realizaci jinou cestou, než jsme předpokládali v době přípravy projektu. Je nutno zdůraznit, že cílem projektu nebylo systém dokončit, ale prakticky prokázat, že je zvolené řešení Moravskou zemskou knihovnou realizovatelné – což se, věříme, podařilo.

Postup řešení

První rok projektu byl pro MZK velmi náročný. Prioritou bylo dobudování vývojového týmu, na jehož bedrech pak spočíval vývoj portálu. To nebylo zcela snadné vzhledem k omezením, se kterými se musí MZK jako státní příspěvková organizace potýkat. Pro každého zaměstnavatele je totiž obtížné najít schopné pracovníky, pokud jim z důvodu financování formou jednoletých grantů není možné nabídnout dlouhodobou perspektivu – a to navíc v době a místě, kde poptávka po programátorech převyšuje nabídku. Pozitivní motivací tak byla alespoň možnost podílet se na zajímavém projektu.

Pro bezproblémové zajištění provozu bylo nutné zřídit vhodné datové úložiště. Jako optimální se ukázala kombinace velkokapacitního úložiště na bázi SATA disků a rychlého úložiště na bázi SSD. Zatímco velkokapacitní úložiště slouží převážně pro vývoj portálu a manipulaci s většími objemy dat, rychlé úložiště na bázi SSD je klíčové pro procesy vedoucí k indexaci a zpřístupnění indexovaných dat v době odezvy přijatelné pro uživatele. Na rok 2016 tak zbývá posílení výpočetního výkonu a zvýšení redundance, a tím i spolehlivosti celého systému.

Jádrem stávající vývojové infrastruktury jsou vývojový a testovací server, z čehož ten druhý je testerům dostupný na adrese beta.knihovny.cz. Veškerý vývoj až na soubory s daty citlivého charakteru probíhá na serveru github.coma jeho zdrojový kód je volně dostupný. Na serveru GitHub na adrese https://github.com/moravianlibrary/CPK/issues je možné vznikající portál také připomínkovat, čehož využívají zejména členové pracovních skupin řídících vývoj portálu.

Portál samotný je založen na volně dostupném systému VuFind, který pro indexaci a vyhledávání využívá další volně dostupný systém – SORL. Pro statistiky návštěvnosti je využíván také volně dostupný systém – Piwik.

Správce zdrojů

Největším rozdílem ve vývoji oproti předpokladům bylo nahrazení modulu Record Manager aplikací Správce zdrojů, která byla vyvinuta na míru potřebám portálu. Správce zdrojů je nyní klíčovou komponentou, odpovědnou za plnění portálu – tzn. pravidelné sklízení metadat, jejich normalizaci, deduplikaci a obohacování a následnou indexaci do SOLRu. Nutnost vyvinout tento systém znovu od základu vyplynula z pečlivé analýzy jak původního Record Manageru, tak i zdrojů dat a provozních nároků na portál samotný. Původní modul nesplňoval nároky na robustnost a výkonnost a to nejen s ohledem na použitý programovací jazyk (php) a databázový systém (MongoDB), ale také na jednotlivé procesy – především pak deduplikaci, která byla v původním Record Manageru řešena nevyhovujícím způsobem. Správce zdrojů umožňuje mimo jiné lépe kontrolovat jednotlivé procesy a je schopen ošetřit celou řadu výjimečných stavů, na kterých Record Manager troskotal a které vznikaly převážně z důvodu neúplného dodržování některých standardů ze strany původců dat. Do budoucna bude Správce zdrojů také mnohem lépe rozšiřitelný o modul plánování a spouštění úloh. Správce zdrojů využívá databázi Postgres a je napsaný v jazyce Java.

Vedle integrace knihovních katalogů je úkolem Správce zdrojů také integrace obsahu digitálních knihoven a dalších důležitých národních informačních zdrojů. Díky tomu, že v českých knihov­nách převažuje v roli digitální knihovny systém Kramerius, agregovaný Českou digitální knihovnou, může CPK výhodně indexovat tento konsolidovaný zdroj.

V současné době přechází Správce zdrojů do průběžného provozu, kdy začíná pravidelně stahovat aktualizované záznamy ze zapojených knihoven a dalších zdrojů. Jde o netriviální úkol, protože veškeré aktualizované záznamy musejí projít znovu procesy deduplikace, obohacení a indexace tentýž den, kdy byly sklizeny – jinak by hrozilo, že index CPK začne zaostávat za skutečnou podobou databází zapojených knihoven.

Z výše uvedených procesů je výpočetně nejnáročnější proces deduplikace. Na jeho kvalitě přitom přímo závisí dojem uživatele z práce s portálem knihovny.cz. Správce zdrojů je proto navržen tak, aby mohl v případě potřeby celý proces deduplikace všech stažených záznamů zopakovat, a tak odstranit případné chyby v deduplikaci, které jsou algoritmicky opravitelné. Zároveň ale pracuje například i s informacemi o manuálním spojování záznamů v souborném katalogu tak, aby byl výsledek deduplikace co nejpřesnější – je nutné si uvědomit, že největší výzvou při deduplikacích je problematika nejednotně zpracovaných záznamů a nedodržování standardů (převážně u záznamů vzniklých v minulosti retrokonverzí).

Dalším důležitým krokem je obohacování záznamů o údaje Národních autorit. To je prováděno proto, aby bylo možné jednotlivé záznamy najít také podle údajů, které nejsou v bibliografickém záznamu přítomny – například podle alternativních podob jména autora apod. Samotná indexace pak je poměrně přímočarý proces, byť i ta má svá specifika, spojená například s řešením problematiky informačních zdrojů „neMARCového“ charakteru.

Další komponenty

Další zásadnější změnou byl způsob, jakým byla do portálu zařazena funkcionalita linkserverů. Vzhledem k tomu, že většina uživatelů nerozumí významu tlačítka SFX a že klíčovou funkcí SFX serveru je poskytnout uživateli odkaz na plný text dokumentu v některé z placených databází, dospěli jsme k rozhodnutí nezapojovat linkovací servery formou odkazového tlačítka, ale indexovat přímo jejich znalostní databáze pro jednotlivé knihovny.

Do hloubky bylo propracováno přihlašování uživatelů a práce s uživatelskými účty. Uživatel si nyní může své účty v portálu navzájem propojit a zjistit tak na jednom místě, v jakém stavu jsou jeho účty v knihovnách, kde je zaregistrovaný. V poslední verzi pak přibyla i notifikační funkce v záhlaví stránky – uživatel tak má vždy na očích připomínku, že má vůči některé knihovně nevyřešené závazky.

Veškeré funkce spojené s výpůjčkami, tj. objednávky, rezervace, přehled výpůjček, okamžitá dostupnost exempláře apod., jsou portálem jen zprostředkovány a fakticky je realizují lokální knihovní systémy jednotlivých knihoven. Jejich propojení s portálem je zajištěno pomocí protokolu NCIP (knihovní systémy Koha, Koniáš, DaWinci, ARL, Verbis a Clavius), resp. RESTful API v případě Alephu. Do CPK je přitom za každý z těchto systémů zapojována alespoň jedna knihovna. V průběhu zapojování je nutné vyřešit řadu specifických problémů a zkoordinovat spolupráci vývojového týmu CPK s vývojáři daného knihovního systému a příslušnou knihovnou. Teprve po důkladném otestování první knihovny s daným systémem má smysl zapojit další knihovny s tímto systémem. Do betaverze portálu je nyní zapojeno 12 knihoven, další jsou v různých stadiích rozpracovanosti.

V této souvislosti je nutné zmínit, že provozní procesy v různých knihovnách mohou být velmi rozdílné v návaznosti na to, co umožňuje knihovní systém dané knihovny. Na první pohled by se mohlo zdát, že po více než 20 letech standardizace je téměř nemožné narazit na zásadní rozdíly v tom, jak knihovny fungují. Je ale nutné si uvědomit, že standardizace se týkala především bibliografických záznamů, a ani tam není stoprocentní. Pro MZK jako knihovnu bez poboček bylo například zajímavé zjistit, že Městská knihovna v Praze nechává uživatele vracet knihy v kterékoli své pobočce. To je pro uživatele jistě příjemné a ze systémového hlediska to není nic zvláštního – nezvyklé ale je, že pak knihy na dané pobočce trvale zůstávají, což z hlediska CPK mimo jiné znamená, že místa uložení jednotlivých exemplářů se v MKP mění ve srovnání s jinými knihovnami netypicky často.

Uživatelské rozhraní

Od počátku bylo jasné, že jako uživatelské rozhraní portálu bude použit VuFind. Požadavky na něj ale hned jasně ukazovaly, že jej bude nutné do velké míry modifikovat. V průběhu roku proto Městská knihovna v Praze řešila problematiku uživatelského testování portálu a analýzy jeho uživatelského rozhraní. To vyvrcholilo analýzou uživatelského prožitku (UX, User Experience). Tyto analýzy přinesly cenné podněty k dalšímu rozvoji uživatelského rozhraní portálu a jsou proto postupně zapracovávány nebo podrobeny dalšímu zkoumání tam, kde bude nutné otestovat reakce uživatele na variantní řešení konkrétních funkcí. Již nyní je zřejmé, že je potřeba zajistit takovou uživatelskou podobu portálu, která by pokročilejší funkce nabídla v podobě, jež nebude komplikovat použitelnost základní podoby portálu (tj. funkce pro pokročilé nebudou mást nezkušené uživatele).

Další rozvoj portálu

Na sklonku roku byla zveřejněna informace, že MZK získala pětiletý grant z VaV programu Ministerstva kultury NAKI II. Společně s Vysokým učením technickým v Brně musí MZK během pěti let vyvinout a v portálu zprovoznit řadu nových technologií. Za zmínku stojí nástroje pro sémantickou podporu vytváření dotazů, zpřesňování dotazů a zpracování zpětné vazby a našeptávače, nástroje umožňující analyzovat strukturu a obsah dotazů zadávaných uživateli portálu, zpřesňovat dotazy na základě interakce s uživatelem a zpracovávat zpětnou vazbu týkající se automaticky generované informace a kvality podkladů. Dále jsou to nástroje pro doplňování informací o původcích dokumentů a dalších metadat na základě analýzy plných textů dokumentů, nástroje pro poloautomatické provazování katalogizačních záznamů s databází národních autorit a relevantními národními zdroji linked open data nebo nástroje pro shlukování záznamů podle zadaných kritérií podobnosti a doporučování zdrojů uživatelům.

Nesmíme ale zapomínat, že NAKI je program výzkumu a vývoje – a pět let je v oblasti IT dlouhá doba. Projekt NAKI však řeší rozvoj portálu ve směru nových technologií a nových funkcí. Paralel­ně s tím proto musí fungovat i běžné činnosti, jako je ostrý provoz portálu, správa dat v něm indexovaných a zajištění funkčnosti na ně navázaných služeb, s tím související komunikace s knihovnami a dalšími dodavateli dat, zapojování dalších knihoven a dalších zdrojů dat, uživatelská podpora a reakce na připomínky uživatelů. To již není záležitost vývoje, ale běžného provozu a v projektu NAKI II na tuto činnost není místo – měla by být proto nadále financována z jiných prostředků.

Závěr

Výsledkem prací v roce 2015 je funkční jádro portálu, který je v režimu testování přichystaný pro první uživatele na adrese beta.knihovny.cz. Zapojování knihoven postupuje průběžně podle toho, jak se daří ve spolupráci s knihovnami a dodavateli knihovních systémů odlaďovat jejich komunikační rozhraní. MZK přistupuje k zapojování knihoven tak, že po odladění zapojení na jedné knihovně jsou teprve postupně zapojovány další knihovny se stejným knihovním systémem. Právě nedostatečný počet knihoven plně zapojených do portálu vedl k rozhodnutí Rady CPK ze dne 20. října 2015 k posunutí veřejného spuštění portálu na léto 2016 – tzn. do doby, kdy bude možné zapojení všech nebo alespoň většiny zakládajících knihoven.

Testovací verze portálu běží tedy zatím na adrese beta.knihovny.cz, ostré spuštění portálu na definitivní adrese www.knihovny.cz je naplánováno na 23. 6. 2016. Do té doby (ale i poté) je možné vkládat připomínky a návrhy na další rozvoj portálu na https://github.com/moravianlibrary/CPK/issues.