Konfiguracja repozytoriów danych
Źródła danych
Serwer SOWAI-PMH potrafi w ramach jednej instalacji obsługiwać dowolną liczbę repozytoriów. W odniesieniu do systemu SOWA - każdy katalog (np. katalog księgozbioru, bibliografia regionalna, kartoteka zagadnieniowa) to osobne repozytorium.
Każdy rekord udostępniany przez OAI-PMH musi posiadać unikalny (w skali Internetu) identyfikator. Konstrukcja identyfikatora jest ustandaryzowana i w przypadku serwera SOWAI-PMH przyjęty został następujący wzorzec identyfikatora rekordu:
oai:nazwa_domenowa:nazwa_zbioru/identyfikator_rekordu_sowa
Elementami identyfikatora OAI są:
nazwa_domenowa
- najlepiej, jesli jest to główna nazwa domenowa instytucji, bez prefiksów typu www, czy oai (np. dla Wojewódzkiej Biblioteki Publicznej w Krakowie będzie torajska.info
). Jeśli biblioteka nie posiada własnej nazwy domenowej, firma SOKRATES-software udostępnia unikalne nazwy domenowe w ramach subdomeny sowwwa.pl.nazwa_zbioru
- nazwa identyfikująca zbiór danych. Musi to być pojedyncze słowo, pisane małymi literami bez znaków diakrytycznych. Może zawierać cyfry. Dobrze, jeśli nazwa ta odnosi się do zawartości katalogu. Np. katalog księgozbioru dla dorosłych może zostać nazwany "dorosli
", katalog bibliografii regionalnej - "bibliografia
", katalog zbiorów audiowizualnych - "audio
", etc. WAŻNE: raz nadana nazwa po pierwszym udostępnieniu usługi w sieci, nie może być zmieniana. W przeciwnym przypadku Dostawcy Usług nie mogliby prawidłowo aktualizować swoich repozytoriów.identyfikator_rekordu_sowa
- to wewnętrzny identyfikator rekordu w danym katalog systemu SOWA. Z uwagi na to, że przez protokół OAI-PMH udostępniane są wyłącznie rekordy bibliograficzne - będzie to rekord typu U<numer>, np. U35123
Przykłady:
oai:bibliotekaelblaska.pl:centralny/U10392
oai:muzeum.krakow.pl:muzeum/U50312
Konfiguracja dostępnych repozytoriów
Pod pojęciem repozytorium należy rozumieć konkretny zbiór danych dostępny w wybranej domenie. Znaczy to, że identyfikatorem repozytorium jest <nazwa_domenowa>:<nazwa_zbioru>. Np. bibliotekaelblaska.pl:centralny - będzie nazwą repozytorium.
Do zarządzania repozytoriami należy używać polecenia:
sowaipmh-config <nazwa_domenowa>:<nazwa_zbioru>
Polecenie to przeprowadza interaktywną konfigurację podanego repozytorium.
Listę skonfigurowanych repozytoriów uzyskuje się dzięki opcji -l
sowaipmh-config -l
Plik konfiguracyjny repozytoriów
Konfiguracja poszczególnych repozytoriów powinna być umieszczona w pliku .sowang/etc/sowaipmh/sowaipmh.cfg. Każda sekcja [REPOSITORY<no>] definiuje pojedyncze repozytorium.
Struktura sekcji jest następująca:
Opcja | Opis | Przykład |
---|---|---|
dataset | Nazwa zbioru danych (zob. wcześniej) | centralny |
domain | Nazwa domenowa (zob. wcześniej) | muzeum.krakow.pl |
hostname | Opcja ta pozwala na ograniczenie dostępności repozytorium tylko do połączeń wykonywanych na określoną nazwę domenową serwera. Jeśli wartością opcji jest *, wówczas akceptowane będą wszystkie połączenia, w przeciwnym razie zostanie sprawdzona zgodność nazwy użytek przez łączącego się klienta. Opcja ta akceptuje kilka nazw domenowych - należy je wymienić wówczas po przecinkach. | oai.muzeum.krakow.pl |
provider | Nazwa i parametry sterownika do dostawcy danych w postaci <nazwa>::<opcja1>=<wartość1>,<opcja2>=<wartość2>,... (Obecnie dostępni dostawcy to: SowaSQL i SowaTCP) | zob. dalej |
repository_name | Nazwa opisowa repozytorium. Jest ona zwracana dla polecenia Identify protokołu OAI-PMH. | Katalog Muzeum Narodowego w Krakowie |
admin_email | Adres e-mail do administratora serwisu OAI | oai-admin@muzeum.krakow.pl |
[REPOSITORY1] dataset=muzeum domain=muzeum.krakow.pl hostname=oai.muzeum.krakow.pl provider=SowaSQL::ip=127.0.0.1,port=5432,db_user=username,db_pass=secret,db_name=mydb repository_name=Katalog Muzeium Narodowego w Krakowie admin_email=oai-admin@muzeum.krakow.pl
Dla takiej konfiguracji poprawne wywołanie polecenia Identify
w protokole OAI-PMH będzie miało następującą postać:
http://oai.muzeum.krakow.pl/muzeum?verb=Identify
Dostawca danych - SowaTCP
Jest to uniwersalny dostawca danych z systemu Sowa (przy czym dla systemu SowaSQL jest dedykowany, wydajniejszy sterownik). Korzysta z protokołu SOWA-TCP do pozyskiwania danych z serwera aplikacji. Docelowy serwer aplikacji powinien posiadać zainstalowaną licencję na moduł SOWAI-PMH i ta sama licencja powinna być wgrana w części konfiguracji sterownika.
Nazwa | Opis |
---|---|
ip | Adres IP (albo domenowy) serwera aplikacji systemu SOWA2 |
port | Numer portu serwera aplikacji systemu SOWA2 (np. 8000) |
licence | Plik licencji zakodowany w BASE64 |
Dla tego dostawcy należy doinstalować do środowiska wirtualnego moduł pysowa:
easy_install pysowa-0.5.0-py2.7.egg
Dostawca danych - SowaSQL
Jest to dostawca danych dla systemu SowaSQL operujący bezpośrednio na bazie danych PostgreSQL. Należy dla opcji provider przekazać następujące parametry (wszystkie są obowiązkowe!)
Nazwa | Opis |
---|---|
ip | Adres IP (albo domenowy) serwera bazy danych PostgreSQL |
port | Numer portu - zazwyczaj serwer bazy danych PostgreSQL działa na porcie 5432. |
db_user | Nazwa użytkownika bazodanowego |
db_pass | Hasło logowania się do bazy danych użytkownika db_user |
db_name | Nazwa bazy danych |
Jest to dostawca korzystający z modułu psycopg2, który należy zainstalować przed utworzeniem środowiska wirtualnego.
sudo apt-get install python-psycopg2
W przypadku niektórych systemów moduł ten nie jest automatycznie widoczny w środowisku wirtualnym w tzw. site-packages. Dlatego w kolejnym kroku należy utworzyć dowiązania symboliczne do odpowiednich bibliotek.
sowizor install psycopg2
Inicjacja źródła danych
Niektóre sterowniki źródeł danych mogą wymagać początkowej inicjalizacji. Dostępne obecnie sterowniki wymagają takiej inicjacji, dlatego konieczne jest wykonanie następującej procedury po skonfigurowaniu repozytorium.
Aby zainicjować źródło danych należy z poziomu konsoli wykonać polecenie:
sowaipmh-init-dataset centralny
Jeśli jest skonfigurowanych więcej repozytoriów o różnych domenach, ale z tą samą nazwą źródła danych, wówczas nazwę źródła danych trzeba poprzedzić nazwą domeny i dwukropkiem. Np,:
sowaipmh-init-dataset bibliotekaelblaska.pl:centralny