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:
Identyfikator rekordu OAI-PMH
oai:nazwa_domenowa:nazwa_zbioru/identyfikator_rekordu_sowaElementami 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/U10392oai: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:
Przykład konfiguracji repozytorium
sowaipmh-config <nazwa_domenowa>:<nazwa_zbioru>Polecenie to przeprowadza interaktywną konfigurację podanego repozytorium.
Listę skonfigurowanych repozytoriów uzyskuje się dzięki opcji -l
Wyświetlenie listy dostępnych repozytoriów
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 | Katalog Muzeum Narodowego w Krakowie |
admin_email | Adres e-mail do administratora serwisu OAI | oai-admin@muzeum.krakow.pl |
Przykład konfiguracji zbiorów danych
[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.plDla 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 - 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 psycopg.
Instalacja modułu w systemie Ubuntu Linux
pip install psycopg[binary]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:
Inicjacja źródła danych o nazwie "centralny"
sowaipmh-init-dataset centralnyJeś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,:
Inicjacja źródła danych repozytorium
sowaipmh-init-dataset bibliotekaelblaska.pl:centralny