Calibre jako katalog książek “z półki”

Ponieważ jest to pierwszy mój post w temacie zachowywania danych elektronicznych, to chciałbym poprzedzić go pewnym wstępem zanim przejdę do tematu katalogowania książek (z półki). Poniżej spis rzeczy, które należałoby podać do kontekstu.

Storage aka Chmura

Zachowanie danych elektronicznych to nie tylko zapisanie ich na dysku, a w każdym razie nikt, kto chciałby je faktycznie zachować nie powinien na tym poprzestać. Gdzieś kiedyś usłyszałem takie zdanie (parafrazuję) “having less than three copies of your backup is not a backup”. Nie wiem czy jest to faktycznie przyjęty BKM (best known method) w branży “cloudowej”, natomiast z mojego punktu widzenia jest wystarczająco dobra “zasada kciuka” w kwestii trwałej (trwalszej…) retencji danych.

Tematowi można by poświęcić wiele godzin, natomiast tutaj chciałem tylko napisać, że nie ma sensu zabierać się za jakiekolwiek gromadzenie danych elektronicznych z perspektywą długoterminową bez wcześniejszego przygotowania dla takich danych “trwałego” nośnika. W moim przypadku są to dwa dyski HDD w RAID 1 (mirror) w przypadku raczej nieuniknionej awarii jednego z dysków, oraz backblaze (audycja zawiera lokowanie produktów) jako tzw. off-site storage, czyli dysk, który zostanie zachowany w przypadku fizycznego zniszczenia [lokalizacji] lokalnych dysków.

Myślę, że tematowi konfiguracji, którą używam poświęcę w przyszłości kolejny wpis.

Wyszukiwanie informacji

Zakładając, że “trwały” nośnik danych elektronicznych jest już dostępny, należy zastanowić się jeszcze nad kwestią zapisu i odczytu danych, a w to poniekąd także wpisuje się zagadnienie wyszukiwania informacji, ponieważ zanim się coś odczyta należy to najpierw znaleźć…

I znów, temat na wiele godzin. Dla wnikliwych polecam książkę Introduction to Information Retrieval. Natomiast w dużym skrócie, metody wyszukiwania informacji zależą m.in. od formatu przeszukiwanych danych, który podzielimy tu na pliki “binarne” i pliki “plain text” (tekstowe) - w przypadku ebooków mamy do czynienia z obydwoma typami takich plików. Przykładowo, format .epub jest oparty na na języku [znaczników] XML, który jest typem tekstowym, natomiast jest on jeszcze dodatkowo skompresowany [zakodowany], co czyni go plikiem binarnym[1].

W przypadku plików “binarnych”, czyli takich, które są zakodowane, a ich struktura jest niejawna dla człowieka (non-human readable[2]). W przypadku takich plików wszystko zależy od autora kodowania. Na przykład, mogą być to pliki PDF, których kodowanie jest publicznie znane co pozwala na wykorzystanie publicznie dostępnych narzędzi do ich przeszukiwania. A mogą być to pliki kodowane w sposób zastrzeżony, co oznacza tyle, że jeżeli autor kodowania przewidział funkcję przeszukiwania tego typu danych, to sam też musi dostarczyć implementację takiego narzędzia.

Natomiast w przypadku plików typu “plain text”, to jest w postaci jawnej dla człowieka (human-readable), metody wyszukiwania informacji mogą operować bezpośrednio na treści tekstu. Na przykład, jedną z metod jest skanowanie liniowe, czyli próba znalezienia zadanego ciągu znaków w tekście.

Ale do rzeczy. Metod i narzędzie do wyszukiwania informacji jest tyle ile jest formatów, a pewnie i więcej, natomiast to co jest tematem tego wpisu są książki w różnych formatach, to znaczy w jakimś formacie ebook lub formacie reprezentującym fizyczny egzemplarz, czyli taki “z półki”. Wybranym tutaj narzędziem do katalogowania książek jest program Calibre. Powodów dla których do katalogowania książek wykorzystany został dedykowany program zamiast umieszczenia ich wprost w jakimś katalogu jest kilka. Po pierwsze, Calibre eksponuje zarządzane przez niego książki. Do tego umożliwia różnorakie filtry, m.in. filtrowanie na podstawie tytułu, autora, metadanych itp. itd. Przeglądanie i wyszukiwanie książek w takim narzędziu jest łatwiejsze niż w przypadku przeszukiwania folderu z elektronicznymi pozycjami, czy też regału z Książkami w salonie… Ale jak książki z regału w salonie przenieść do Calibre?

Calibre do książek fizycznych

Rzecz jasna umieszczenie fizycznych egzemplarzy w Calibre nie jest możliwe wprost, natomiast można w Calibre umieścić pozycje-wydmuszki reprezentujące ich fizyczne odpowiedniki spoczywające na półce. Calibre umożliwia dodawanie pustych “książek”, to znaczy formatek do zapełniania danymi, lub dodawanie już wypełnionych takich formatek na podstawie numeru ISBN.[3]

Można by na tym poprzestać, dodać książki-wydmuszki z półki ręcznie wypełniając je odpowiednimi danymi, ewentualnie dodając zdjęcia okładek jako okładki wirtualne, ewentualnie dodawać książki przepisując numery ISBN książek. Nie jest to jednak najefektywniejszy proces dla większej liczby książek. Tu z pomocą przychodzą metody wykorzystujące systemy wizyjne, czy też po prostu skanery.[4] Korzystając ze skanera książek można przygotować cyfrową listę numerów ISBN książek z półki, ewentualnie bardziej obszerną strukturę danych korzystając ze skanera pobierającego od razu informacje o skanowanych książkach, takiego jak na przykład IBAN Scan - OCR/Barcode scanner. Po przygotowaniu takiej listy można wykorzystać jeden z dostępnych dla Calibre pluginów do importowania książek z listy.

Z wykorzystaniem wymienionych wyżej narzędzi można opracować następujący proces.

  1. Zeskanuj numery ISBN książek z półki. Jeżeli są dostępne, pobierz dane książek, w innym razie uzupełnij je ręcznie[5].
  2. Tak przygotowaną listę zaimportuj do Calibre za pomocą dostępnego pluginu.

Do zaimportowanych książek można dopisać dodatkowe informacje, jak na przykład to czy książka została wypożyczona, lub pożyczona, gdzie fizycznie książka się znajduje, to czy ma jakieś szczególne cechy jak na przykład autograf i więcej, w zależności od potrzeb lub fantazji. Dzięki temu można “przypiąć” do książek dodatkowe informacje mające znaczenie w przypadku katalogowania fizycznych egzemplarzy książek.


  1. https://www.w3.org/TR/epub-overview-33/ ↩︎

  2. Prawdę powiedziawszy definicja z Wikipedii “plik binarny, to taki, który nie jest tekstowy” jest dobra, ale moim zdaniem niewystarczająca przy próbie wytłumaczenia czym nie jest plik tekstowy… albo czym jest plik binarny, a czym nie jest. Human-readable to znaczy, że człowiek może taki dokument odczytać i dokonać analizy semantycznej wprost, bez dekodowania. ↩︎

  3. https://www.davideaversa.it/blog/how-calibre-manage-physical-library/ ↩︎

  4. https://www.mobileread.com/forums/showthread.php?t=314725 ↩︎

  5. https://www.mobileread.com/forums/showthread.php?t=342460 Calibre umożliwia pobranie danych o książkach na podstawie numeru ISBN, zatem można tę część tego kroku przeprowadzić na etapie importu książek do Calibre. ↩︎