Perl OAI szerver
Felhasználói kézikönyv

Működési leírás

A keresőbe az adatgazdák tartalmait leíró metaadatokat az OAI-PMH-2 elvet követő és HTTP protokollon keresztül végzett kommunikáció segítségével lehet eljuttatni. Ezt az adatgazda oldali OAI szerver, valamint a szolgáltatásgazda oldali OAI kliens között létrejövő metaadat-átvitelt szüretelésnek (harvesting) nevezzük.

A szüretelés sikeres kivitelezésének szükséges feltétele egy megfelelő OAI szerver telepítése, valamint ennek a szervernek az ellátása metaadatokkal. A kereső speciális, úgy nevezett minősített Dublin Core sémának megfelelő formában várja a metaadatokat. Az OAI szerver az OAI-PMH-2 elvnek megfelelő kérésekre ad válaszokat. A szolgáltatásgazda OAI kliense ezekkel a kérésekkel operálva begyűjti az  adatgazda metaadatait az interneten keresztül, majd sikeres szüretelés esetén tárolja a rekordokat a keresőt kiszolgáló adatbázisban. A folyamat végén a keresőben az adatgazda rekordjai kereshetővé válnak.

Hardver feltételek

A szerver bármely olyan számítógépen futtatható, amelyen a CGI szabványt támogató webszerver és Perl futtatókörnyezet elérhető. A futtató rendszer hardverigényén kívül a Perl OAI szervernek 4 MB RAM-ra van szüksége.

Szoftver feltételek

A futtató rendszeren működőképes, beállított CGI-t támogató webszerver és Perl szükséges. A rendszer futtatásához szükség van egy, a CGI-t futtató rendszerfelhasználó által olvasható könyvtárra. Amennyiben az upload.pl végzi az adatok feltöltését, ehhez a feladathoz írási/módosítási/törlési jogra van szüksége az adott könyvtárban.
Az adatokat a rendszer mysql, postgresql, firebird adatbázisban vagy csv fájlban tárolja. 
Adatfeltöltéskor rendelkezésre áll egy webes interface, amelynek segítségével bármely böngészőből elvégezhető az adatok frissítése.

A Perl OAI szerver telepítése és testre szabása

Hozzon létre az adatbázisszerveren egy adatbázist, vagy használjon egy meglévő adatbázist.
Hozza létre az adatbázisban táblákat a megfelelő adatbázisszerverhez, a csomagban mellékelt sql scriptek valamelyikének segítségével.
MYSQL-hez: mysql_create.sql
FIREBIRD-hez: fb_create.sql
POSTGRESQL-hez: psql_create.sql

Hozzon létre egy könyvtárat az alkalmazás számára (ez rendszerint [path]/cgi-bin )
Helyezze el a könyvtárban a szervereket.

A perl szerver a következő fájlokból áll:	
.htaccess
.htpasswd
common.css
cfg_utils.pl
config.pl
config_ruleset.pl
config_up.pl
config_xml.pl

manager.pl
oai.pl
oai_functions.pl
oaicommon.pl
oaidb.pl
parameters_inc.pl
upload.pl
upload_functions.pl
Repository.xml	

A további példákban a perl szervert a /var/www/cgi-bin könyvtárban helyeztük el.

A következő lépésben telepítse a megfelelő modulokat az operációs rendszerre. A perl szerver a következő CPAN modulokat használja:

Data::Dumper
CGI
XML::DOM
Digest::SHA1
CGI::Session
MIME::Base64
Storable
WWW::Curl::easy
DBI
DBD::CSV
DBD::mysql
DBD::Pg

A modulok telepítése debian linux sarge alatt az
apt-get install perl perl-base perl-modules libxml-dom-perl libwww-curl-perl libdbi-perl libdigest-sha1-perl libcgi-session-perl libdbd-csv-perl libdbd-mysql-perl libdbd-pg-perl paranccsal lehetséges.

A webszerver konfigurációjában a következőket állítsa be:

<Directory /var/www/cgi-bin/>
    Options ExecCGI
</Directory>

A perl szerver működéséhez szükséges még módosítani a .htaccess fájlt is: a fájlban található összes AuthUserFile kezdetű sort (pl: AuthUserFile /var/www/oai/cgi-bin/.htpasswd) módosítani kell, hogy az elérési útvonal a .htpasswd fájl fájlrendszerbeli abszolút pozícióját tartalmazza. (ha például a /var/www/cgi-bin/ tartalmazza a perl szervert, akkor a következőre kell módosítani: AuthUserFile /var/www/cgi-bin/.htpasswd )

A [host]/cgi-bin/config_up.pl címen feltöltjük a központilag kiosztott konfigurációs csonkot, a következő oldalon konfiguráljuk a szerver többi adatát. 

Amennyiben “kritikus hiba a .htaccess vagy a .htpasswd file-ban” hibaüzenet jelenik meg a config_up.pl megnyitásakor, úgy a webszerver nem veszi figyelembe a cgi-bin könyvtárban levő .htaccess fájlt. Ilyenkor mozgassa egy könyvtárral feljebb a fájlt.

A Perl OAI szerver paraméterei

Az alábbiakban a Perl OAI szerver config.pl oldalon található paramétereinek módosítását  mutatjuk be.

Adatbázis:

–	Típus: Beállíthatjuk, melyik adatbázis-kezelő rendszert használjuk.  Jelenleg MySQL, Firebird és PostgreSQL (psql) használatára van lehetőség. 
–	Host: Írja be az SQL szerver címét, amit a webhosting szolgáltató ad meg. Amennyiben saját kiszolgálón működik az OAI szerver, általában “localhost”-ot kell beírni.
–	Username: Az adatbázis-kezelő rendszerhez használatos felhasználónév. Általában megegyezik az általános felhasználónévvel.
–	Password: Az adatbázis-kezelő rendszerhez használatos jelszó. Általában megegyezik az általános jelszóval. 
–	Database: Mivel az adatbázis-kezelő rendszerek több, független adatbázis kezelésére is képesek, ki kell választani a használni kívántat. Néhány szolgáltatónál csak egy adatbázis létrehozására van lehetőség, ez esetben általában a felhasználónevet kell megadni az adatbázis neveként.
–	Table: Az adatbázisban az OAI adatok tárolására szolgáló tábla nevét kell megadni.

Beállítások/Azonosítás:

–	Admin e-mail: A szerver adminisztrátorának e-mail címe, vagyis a saját e-mail cím. 
–	Törölt elemek: Megadhatjuk, hogy a törölt rekordokat hogyan kezelje a rendszer.
–	Végleges opció választása esetén a szerver időkorlát nélkül naplózza a törléseket, azaz minden törölt metaadat mentésre kerül, később lekérdezhető.
–	Nincs opciónál nincsen naplózás, a törölt rekordok örökre törlődnek.
–	Ideiglenes beállítással a szerver csak egy bizonyos korlátig naplózza a törölt rekordokat, így a lista nem tekinthető teljesnek.	
–	Resumption méret: Ezzel a számmal megadhatjuk, hogy a szerveren található rekordokat mekkora csomagokban töltheti le a szüretelő. Szüreteléskor a harvester erre támaszkodva végzi a lekérdezéseket.
–	Resumption elévülés: A resumption token elévülési idejét adhatjuk meg. Ezáltal beállíthatjuk, hogy a szüretelő bizonyos időközönként újra lekérdezze a metaadatokra vonatkozó resumption tokent, pl. mert új adatokat vittünk fel, amelyek kimaradnának egy régebbi resumption token használatakor. Az időt órában kell megadni, a törteket ponttal kell elválasztani!

Távoli hozzáférés:

Itt módosíthatjuk a metaadatok távolról történő (az asztali metaadat-szerkesztőn keresztüli) szerkesztéséhez szükséges kapcsolódási adatokat.

–	Felhasználónév: Az OAI szerver felhasználóneve. Ezt kell megadnunk a metaadat-szerkesztőben új szerver létrehozásakor.
–	Jelszó, jelszó még egyszer: Új jelszót adhatunk meg az OAI szervernek. A program ellenőrzi a két jelszó egyezését, így elkerülhető, hogy véletlenül rosszul adjuk meg.

A jelszót a program az XML fájlban egyirányú kódolással titkosítva tárolja, így annak visszafejtése nem lehetséges.

CSV adatkonverziók:

Itt az előre beállított sémák paramétereit, a rekordok adatainak típusát módosíthatjuk.
A DC elemek oszlopában a “főkategóriákat” találjuk, pl. cím (title). A Qualifier oszlopban megadhatunk ezekhez egy alkategóriát, például alcím (subtitle) vagy eredeti cím (originalTitle).
Törölhetünk egy sort úgy, hogy kipipáljuk a mellette lévő mezőt.
A sorokat a mellettük lévő megfelelő gombbal lehet fölfelé és lefelé mozgatni. Az elhelyezkedésnek a tartalomra nincsen hatása, csak segít a rekordokat áttekinthetőbbé, logikusabbá tenni. Ha fölfelé mozgatunk egy sort, az a metaadat-szerkesztőben eredeti helyétől balra fog elhelyezkedni.

A beállítások véglegesítéséhez kattintsunk a lap alján a “Konfiguráció mentése” gombra. Ekkor a beállításokat a program elmenti az XML konfigurációs állományba. 
Sikeres mentés esetén “A konfigurációs file sikeresen elmentve.” üzenet jelenik meg.

Új központi adatok feltöltése:

Az adminisztrációs felületről a config_up.pl oldalra feltölthetünk egy XML konfigurációs fájlt, ami az OAI szerver összes beállítását tartalmazza. Ez felülír minden eddigi beállítást. Ezek későbbi módosítására a konfigurációs oldalon van lehetőség.

A konfigurációhoz szükséges alapértelmezett felhasználónév, illetve jelszó a következő:
Felhasználónév: htrw
Jelszó: qwerty