Praca dyplomowa
Koha (fragment pracy) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wstęp
WstępWykorzystywanie systemów komputerowych - bibliotecznych do prac wspomagających i ułatwiających funkcjonowanie biblioteki stało się w ostatnich latach niemal powszechnym zjawiskiem. Nie można sobie wyobrazić istnienia dzisiaj biblioteki nie posiadającej zintegrowanego systemu obsługującego poszczególne procesy biblioteczne. To konieczność, ale i obowiązek wobec użytkowników, którym biblioteka powinna szybko dostarczyć informację o swoich zasobach oraz umożliwić sprawne wypożyczanie literatury oraz innych nośników informacji. Zaczątek informatyzacji bibliotek rozpoczął się już w drugiej połowie lat sześćdziesiątych za sprawą systemu ARKA służącego do wspomagania prac redakcyjno-wydawniczych i katalogowych w Bibliotece Narodowej w Warszawie. Kolejnym krokiem były prace Politechniki Wrocławskiej nad tworzeniem zautomatyzowanych systemów informacyjnych, w 1974 eksploatowano już pierwszą bazę danych (INSPEC). W kolejnych latach komputeryzacja wkroczyła do Biblioteki Narodowej (system SABINA), a także bibliotek politechnik Warszawskiej czy Szczecińskiej. Niestety zapóźnienia technologiczne i embargo na dopływ nowych technologii skutecznie uniemożliwiał rozwój informatyzacji na poziomie krajów europy zachodniej do roku 1989, gdzie uchwalone w sierpniu zniesienie ograniczeń eksportowych uruchomiło zalew krajowego rynku tanimi komputerami klasy PC. Co pociągnęło za sobą nową erę w informatyzacji bibliotek [1] . Celem pracy było wykonanie modułu bibliotecznego współdziałającego z portalem Wydziału Informatyki z wykorzystaniem gotowego systemu bibliotecznego Koha. Natomiast zakres pracy to wdrożenie i dostosowanie systemu Koha do wymagań Wydziału Informatyki. W rozdziale pierwszym zostały opisane istniejące systemy biblioteczne, które mogą być użyteczne w polskich realiach, darmowe jaki i płatne, ich zalety oraz wady. Natomiast w rozdziale drugim opisano wdrożenie systemu bibliotecznego Koha na Wydziale Informatyki.
Kierując się wyborem systemu bibliotecznego dla czytelni WI zostały głównie wzięte wymagania stawiane przed projektem, a były to możliwość współpracy z portalem wydziałowym i biblioteką główną, możliwy rozwój systemu bez udziału firm trzecich, interfejs przyjazny użytkownikom, małe wymagania sprzętowe, niska cena lub bezpłatna aplikacja. Z tego względu aplikacje komercyjne nie wydały się interesujące, ponieważ koszty wdrożenia i utrzymania takiego systemu są duże, czytelnia nie potrzebuje takiej ilości opcji jakie oferują produkty komercyjne oraz wymagania sprzętowe stawiane przez te produkty są dosyć wysokie. Zmiany w aplikacji wymagałyby zgody firmy tworzącej dane oprogramowanie lub zatrudnienia dodatkowej firmy co zaprzeczałoby stawianym wymaganiom przed projektem. Dlatego pod uwagę były wzięte głównie produkty Open Source posiadające takie zalety jak niska cena wdrożenia, dostęp do kodu źródłowego i jego modyfikacji bez naruszenia jakichkolwiek praw twórców systemu, a także niskie wymagania sprzętowe. Z produktów Open Source zostały wzięte pod uwagę tylko dwa produkty Emilda oraz Koha (są już używane w innych polskich bibliotekach), gdyż jako jedyne spełniały podstawowe wymagania, łatwy interfejs czytelnika, prostota działania, a także ich możliwość pozwalają na wykorzystanie w polskich bibliotekach. Decydujący wybór padł na system Koha, ponieważ konkurent Emilda juz z założenia autorów tego systemu ma być przeznaczony dla małych bibliotek szkolnych udostępniających tylko pozycje książkowe, nie posiadający żadnych oddziałów i większych potrzeb poza standardowymi wypożyczeniami. Koha natomiast oferuję bogate wyszukiwanie, pełne wsparcie dla MARC21, raportowanie, prace z oddziałami, większą dynamikę rozwoju kolejnych wersji tego systemu. W tabeli poniżej zaprezentowano zbiorcze porównanie wybranych cech omówionych powyżej systemów bibliotecznych, ich funkcjonalność, koszty wdrożenia i obsługi, etc.:
1 Prezentacja - System obsługi czytelni wydziałowej 2. Oprogramowanie 3. Inne Instalacja systemu bibliotecznego Koha dla Debian GNU/Linux 3.1 "stable" (sarge): Jedną z najbardziej kłopotliwych spraw w opisywaniu instalacji dla oprogramowania działającego pod kontrola systemu GNU / Linux jest to, że oprogramowanie to często będzie miało różne wymagania zależnie od danej dystrybucji GNU / Linux. Proces instalacji może przedstawiać szczególną mękę dla nowych użytkowników dzięki dużej liczby zależności, których system wymaga. Dlatego poniżej opisany sposób instalacji dotyczy tylko i wyłącznie dystrybucji Debian, z mniejszymi lub większymi zmianami może zostać zastosowany również dla innych dystrybucji linux'owych. Pierwszym krokiem jest wybór "środowiska" w jakim aplikacja będzie pracowała, najlepszym rozwiązaniem jest instalacja systemu na odrębnym komputerze, gdzie oprócz podstawowych pakietów Debiana (wymaganych do poprawnej pracy Koha) i Koha nic więcej nie będzie. Dzięki temu mamy pewność, że inne aplikacje nie będą nam zwalniały działania systemu bibliotecznego. Oczywiście jeśli nie mamy takiej możliwości lub finanse na to nie pozwalają Koha może współdziałać z innymi aplikacjami, ale w tym przypadku musimy się liczyć (jeśli maszyna nie należy do najnowszych lub mamy uruchomionych sporo aplikacji 'zjadających' czas procesora) z mniejszą wydajnością i większym prawdopodobieństwem niespodziewanych przestojów co w przypadku biblioteki pracującej 8 godzin dziennie może być bardzo dotkliwe. Ze względu na różne zależności, zwłaszcza problemy związane z modułami Perla zaleca się instalacje aplikacji na jądrze 2.4 lub wyższym. Instalacje możemy przeprowadzić zdalnie lub bezpośrednio z konsoli komputera na którym dokonamy instalacji. Do zdalnej instalacji niezbędne jest posiadanie programu typu Putty oraz uruchomionej na serwerze aplikacji serwera ssh. SSH (Secure Shell) jest programem, służącym do logowania na zdalną maszynę i pozwalającym na wykonywanie komend na niej. Zastępuje takie programy jak rlogin i rsh i zapewnia szyfrowaną komunikację między komputerami. Program PuTTY jest terminalem tekstowym dla Windows 95/98/2000. Obsługuje on protokoły SSH1 i SSH2 w pełni zastępując program telnet. Posiada duże możliwości konfiguracyjne, pomimo to jest bardzo prosty w konfiguracji i użytkowaniu. Nie wymaga żadnej instalacji. Wystarczy go zgrać z http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe, a następnie umieścić w wybranym katalogu . Jeśli nie mamy zainstalowanej aplikacji serwera SSH należy ten pakiet doinstalować wydając polecenie (apt-get ): apt-get install ssh Po wykonaniu polecenia nastąpi automatyczne pobranie niezbędnych komponentów, na wszystkie pytania najlepiej odpowiadać domyślnymi propozycjami proponowanymi przez apt-get, w przypadku pytania o instalacje klienta i serwera należy odpowiedzieć "Yes" (lub "Tak" - zależnie od wersji językowej naszej dystrybucji). Koha jest powiązana mniej lub bardziej z kilkoma produktami Open Source takimi jak Apache, MySQL, Perl/Python/PHP.
Apache jest serwerem WWW, powstałym na bazie NCSA httpd 1.3 (przede wszystkim posiada wiele poprawionych błędów, a także o wiele lepszą wydajność). Nazwa jest pewnego rodzaju skrótem od słów "A PAtCHy server", z czego wynika, że w dużej mierze do jego powstania przyczyniły się "łatki" (patche) stworzone dla NCSA httpd. Apache jest (i w zamierzeniach twórców ma pozostać) produktem darmowym. (na postawie Apache-FAQ).
MySQL jest systemem zarządzania bazą danych (DBMS - DataBase Management System). Baza danych jest zestrukturyzowanym zbiorem danych. Może to być cokolwiek, od prostej listy zakupów do galerii obrazów lub olbrzymie zbiory informacji w sieci korporacyjnej. Aby dodać, otrzymać dostęp lub przetworzyć jakieś dane w komputerowej bazie danych potrzebujesz systemu zarządzania bazą danych takiego jak MySQL. Ponieważ obecne komputery nadają się bardzo dobrze do przechowywania dużych ilości informacji, zarządzanie bazą danych odgrywa główną rolę w przetwarzaniu tych danych, zarówno jako samodzielne narzędzie lub jak część innej aplikacji.
Perl (Practical Extraction and Report Language) to interpretowany język programowania autorstwa Larrego Walla przeznaczony głównie do pracy z danymi tekstowymi, ale doskonale radzący sobie z wszystkimi potrzebami programisty, czy administratora systemu. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.
Oprócz samego Perla wymagane przy instalacji systemu są również inne części/moduły perla takie jak libdbi-perl, libdbd-mysql-perl, libdate-manip-perl, libhtml-template-perl, libmail-sendmail-perl . Instalujemy je w ten sam sposób jak to jest opisane przy instalacji serwera SSH:
apt-get install libdbi-perl
CPAN (Comprehensive Perl Archive Network) to źródło dokumentacji oraz modułów do języka Perl z którego również przy instalacji Koha należy skorzystać. Aby CPAN pracował poprawnie należy zainstalować poniższe aplikacje: apt-get install unzip
Następnie przy pierwszym uruchomieniu Perl CPAN:
perl -MCPAN -e 'install "MARC::Record"'
zostanie zadane nam kilka pytań na które odpowiadamy domyślnymi sugestiami (chyba, że musimy dostosować konfigurację do własnych potrzeb to postępujemy według własnych sugestii). Przed instalacją kolejnych modułów musimy doinstalować również Yaz Toolkit, który jest wymagany przez moduł Net::Z3950. Niestety Yaz Toolkit nie jest dostępny w tej dystrybucji Debiana, należy przed wykonaniem:
apt-get install libyaz-dev apt-get install yaz-doc
dopisać następujące linijki w pliku /etc/apt/sources.list:
i wydać polecenie:
Po tym wszystkim możemy przystąpić do instalacji pakietu YAZ, a następnie doinstalować reszte niezbędnych modułów Perla: MARC::Record
w wyniku tego powstaną zależności: Convert:ASN1
w wyniku tego powstaną zależności: Unicode::Map8 Unicode::String Jcode Unicode::Map Unicode::String Następnym etapem jest instalacja serwera bazy danych MySQL, która wykonują tak jak z innymi pakietami Debiana ( apt-get install mysql-server ), przy okazji ustawiamy hasło dostępu do bazy:
Po tym kroku doinstalowujemy również pakiet z serwerem WWW Apache.
Teraz jesteśmy juz gotowi do instalacji naszego głównego produktu jakim jest Koha, pobierając archiwum ze strony: http://sourceforge.net/projects/koha rozpakowujemy ( tar -xzvf koha* ) i przystępujemy do prawie automatycznej instalacji:
Na samym początku zostaniemy zapytanie czy jesteśmy pewni rozpoczęcia procesu instalacji, wciskamy Y i ENTER przy komunikacie:
Skrypt instalacyjny wykona sprawdzenie czy wszystkie niezbędne modułu Perla zostały zainstalowane, w przypadku stwierdzenia braku któregokolwiek instalator poinformuje o tym fakcie i zakończy działanie. W tym przypadku należy doinstalować brakujące moduły i ponownie uruchomić skrypt instalacyjny. W kolejnych pytaniach system będzie prosił o podanie ścieżek instalacyjnych ("OPAC Directory", "Intranet Directory", "Koha Log Directory") pozostawiamy domyślne sugerowane przez instalator. Po zakończonej poprawnej instalacji powinniśmy na ekranie przeczytać:
W pliku /etc/koha.conf możemy zmienić niektóre podstawowe ustawienia, takie jak: - nazwa używanej bazy w MySQL, do której Koha zapisuje wszystkie swoje dane:
- adres serwera MySQL z którym następuję połączenie
- login i hasło super użytkownika, mającego pełne, najwyższe uprawnienia w systemie bibliotecznym
- ścieżki dostępu do plików, które są wykorzystywane przez Koha (kod aplikacji, logi, etc.)
- wersja systemu wyświetlana w oknie "O"
- użytkownik i grupa na których aplikacja działa httpduser=www-data - dostęp do skórek (wyglądu) menu administracyjnego i dla zwykłych użytkowników intrahtdocs=/usr/local/koha/intranet/htdocs/intranet-tmpl opachtdocs=/usr/local/koha/opac/htdocs/opac-tmplInstalator również stworzy plik dla Apache /etc/koha-httpd.conf o mniej więcej takiej zawartości:
W pliku znajdziemy dwie definicje serwerów wirtualnych, jeden to panel administracyjny dla bibliotekarzy lub zaawansowanych (uprzywilejowanych) czytelników, drugi to panel używany przez zwykłych czytelników biblioteki
Dyrektywa <VirtualHost> służy do konfiguracji serwerów wirtualnych. Pomiędzy znacznikami <Virtual> ... </Virtual> umieszczamy dyrektywy odnoszące się do danego serwera wirtualnego, podajemy adres email osoby odpowiedzialnej za dany "serwer" ( ServerAdmin ) , dostęp do danych ( DocumentRoot ), nazwa serwera ( ServerName ), i inne komendy, dokładny opis możemy znależć na witrynie http://www.apache.org . W obu serwerach wirtualnych należy ustawić dwie zmienne PERL5LIB i KOHA_CONF ( SetEnv ) niezbędne do poprawnej pracy sytemu bibliotecznego [7]
Możemy ustalić oba serwery na różnych portach (np. 8000 i 8080) lub ustalić dwie nazwy (np. panel.biblioteka.pl i czytelnicy.biblioteka.pl), w przypadku Wydziału Informatyki został wybrany sposób pierwszy, gdzie interfejs administracyjny działa na porcie 8000, natomiast interfejs dla czytelników na porcie 8080.
http://www.jacek.jsn.pl/linux_ssh.html [05.02.2005] http://www.oi.pg.gda.pl/old/security/terminal/putty.html [04.02.2005] apt-get - narzędzie zarządzania pakietami APT (ang. Advanced Packaging Tool) http://www.filg.uj.edu.pl/~lb/apache/#coto [03.02.2005] http://www.webdeveloper.pl/manual_mysql/show.php?str=manual_Introduction_pl.html#What-is [02.02.2005] http://pl.wikipedia.org/wiki/Perl [01.02.2005] YAZ jest zestawem narzędzi dla programistów wspomagającym współpracę z klientami i serwerami Z39.50/SRW/SRU 2.2 Zmiany w kodzie źródłowym KohaAby system biblioteczny mógł poprawnie współpracować z Wydziałem Informatyki należało zrobić kilka zmian w oprogramowaniu. Pierwszą zmianą, bardzo istotną, ze względu na poprawną pracę aplikacji było dodanie obsługi protokołu LDAP. Dzięki temu każda osoba posiadająca konto na Wydziale Informatyki i będącą dopisana do systemu Koha może korzystać z tego samego hasła co w przypadku innych usług na wydziale. Zmiana hasła od razu wpływa na hasło w dostępie do Koha. Oczywiście osoby nie posiadające konta WI mogą być również dopisane do systemu, z tym, że ich login/hasło są dostępne jedynie w systemie bibliotecznym. Dzięki temu osoby spoza wydziału mogą również korzystać (za zgodą bibliotekarek i odpowiedniego wpisu w systemie) z biblioteki. Do poprawnej pracy "pierwszej zmiany" są niezbędne moduły perl'a o nazwie "Perl::LDAP". Kolejną zmianą wynikającą z poprzedniej było dodawanie, usuwanie, modyfikacja użytkowników z ASAM'a. W tym celu zostały wykonane cztery skrypty umożliwiające to. Pierwszy do dodawania użytkownika do Koha, drugi do usuwania użytkownika z Koha, trzeci do zmiany praw bibliotecznych, czwarty do zmiany nazwy użytkownika. Następną zmianą było dopasowanie wyglądu aplikacji dla czytelnika do wyglądu głównej strony Wydziału Informatyki. Polegało to na zmianie kolorystyki, ikonek, kroju czcionek, etc.
3. PodsumowanieZamierzeniem niniejszej pracy było wykonanie sprawnie działającego systemu bibliotecznego dla potrzeb czytelni Wydziału Informatyki. Analiza obecnie dostępnych aplikacji dla bibliotek doprowadziła do wniosków, że funkcjonalność obecnie gotowych systemów bibliotecznych jest na tyle wystarczająca, aby nie pisać kolejnej nowej aplikacji, a wykorzystać i dostosować obecnie istniejące oprogramowanie do potrzeb czytelni. Ze względu na nałożone wymagania co do projektu takie jak niski koszt aplikacji, możliwość zmian w kodzie źródłowym, aplikację komercyjne zostały odrzucone, a zostały wzięte pod uwagę tylko aplikację Open Source. Jedyną aplikacją Open Source spełniającą wymagania WI okazała się Koha, jako nieliczna jest silnie rozwijana przez wiele światowych bibliotek, nowe wersje ukazują się sukcesywnie co parę tygodni lub miesięcy, staje się co raz popularniejsza w kraju i za granicą. Jest tworzona przez bibliotekarzy dla bibliotekarzy przez co oferuje możliwości niedostępne w innych tego typu produktach, łatwa w obsłudze i instalacji, a także umożliwia pełne modyfikację kodu źródłowego. Wraz ze zmianami wykonanymi w niniejszej pracy i połączeniem z aplikacją iReport jest wystarczającym narzędziem dla potrzeb czytelni Wydziału Informatyki.
Bibliografia1. „Komputeryzacja bibliotek : materiały konferencji 24 - 26 maja 1993 r.”, Toruń / pod red. Bohdana Ryszewskiego, Toruń, 1994 12. emilda.org | Open Source Library Management http://www.emilda.org [01.01.2005] 13. Koha - Open Source Library System http://www.koha.org [01.01.2005] 14. Aleph Polska sp. z o.o. http://www.aleph.pl [01.01.2005] 15. MAX Elektronik http://www.max.com.pl [01.01.2005] 16. Wydział Informatyki Politechniki Szczecińskiej http://www.wi.ps.pl [01.01.2005] Spis rysunkówRysunek 1 – interfejs (Emilda)
Spis tabelTabela 1 – podsumowanie - Emilda
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||