Ź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ą:

Przykłady:

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:

OpcjaOpisPrzykład
datasetNazwa zbioru danych (zob. wcześniej)centralny
domainNazwa domenowa (zob. wcześniej)muzeum.krakow.pl
hostnameOpcja 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_nameNazwa opisowa repozytorium. Jest ona zwracana dla polecenia Identify protokołu OAI-PMH.Katalog Muzeum Narodowego w Krakowie
admin_emailAdres e-mail do administratora serwisu OAIoai-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.

NazwaOpis
ipAdres IP (albo domenowy) serwera aplikacji systemu SOWA2
portNumer portu serwera aplikacji systemu SOWA2 (np. 8000)
licencePlik 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!)

NazwaOpis
ipAdres IP (albo domenowy) serwera bazy danych PostgreSQL
portNumer portu - zazwyczaj serwer bazy danych PostgreSQL działa na porcie 5432.
db_userNazwa użytkownika bazodanowego
db_passHasło logowania się do bazy danych użytkownika db_user
db_nameNazwa 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