Giter Site home page Giter Site logo

sub-harvester's Introduction

OAI Harvester

OAI Harvester with a web interface for configuration. Currently available in German only.

Geschrieben von Timo Schleier, SUB Göttingen [email protected] Änderungen von Sven-S. Porst, SUB Göttingen [email protected]

Einrichtung

Der Harvester benötigt PHP 5.3, Zugang zu einer MySQL Datenbank und für die Konfigurationsoberfläche einen apache Webserver.

Zur Installation, diesen Ordner über den Webserver zugänglich machen.

Zur Konfiguration einer Harvester-Instanz mit einer gegebenen folgende Schritte durchführen:

  1. Anlegen eines Ordners mit Namen im Ordner configuration. Dieser Ordner enthält die Dateien:

    1. db_connect.php mit Zugangsdaten zur MySQL Datenbank, der Inhalt dieser Datei sollte folgendes Format haben:

    2. settings.php mit Einstellungen für Pfade und den Solr Index. Der Inhalt dieser Date sollte folgendes Format haben:

  2. Anlegen eines Ordners mit Namen im Hauptordner. Dieser Ordner enhält:

    1. .htaccess mit dem Inhalt: SetEnv HARVESTER_CONFIGURATION_NAME <ID>
    2. index.php: Symlink auf ../software/index.php
    3. resources: Symlink auf ../software/resources
  3. Anlegen des MySQL-Datenbankschemas: Die Datei configuration/harvester_schema.sql enthält das benötigte Schema für die MySQL Datenbank. Es muß vor der ersten Nutzung dort eingespielt werden.

  4. Anlegen des Solr-Schemas: Die Datei configuration/schema.xml enthält ein Solr Indexschema, das mit den ausgegebenen Feldern klarkommt. Es muß an der entsprechenden Stelle der Solr Konfiguration abgelegt werden.

Anmerkung

Da zur Auswahl der Sets ein Formular mit sehr vielen Eingabeelementen abgeschickt wird, muß sichergestellt sein, daß die Konfiguration des Webservers diese Parameter nicht abschneidet, wenn sehr viele Sets vorhanden sind. Mit den Standardeinstellungen werden 1000 POST Parameter zugelassen, so daß die Bearbeitung von knapp 500 Sets funktioniert. Einige OAI Server enhalten wesentlich mehr Sets (z.B. über 2000 auf http://hal.archives-ouvertes.fr/oai/oai.php), so daß hier die Konfiguration angepaßt werden muß:

  • Ab PHP 5.3.9 begrenzt die Einstellung max_input_vars die Anzahl der Parameter (Voreinstellung vermutlich in /etc/php5/apache2/php.ini)
  • Ist Suhosin installiert, müssen die Werte suhosin.request.max_vars und suhosin.post.max_vars hochgesetzt werden (Voreinstellung vermutlich in /etc/php5/conf.d/suhosin.ini)
  • Die Anzahl der benötigten Parameter sollte mindestens 3 * Anzahl der Sets + 20 sein

Verwaltung der OAI Quellen

Der Harvester bietet über den Webserver eine Oberfläche zur Verwaltung der geharvesteten OAI Quellen an. Sie zeigt die auf den OAI-Servern verfügbaren Sets and und ermöglicht eine Auswahl.

Harvesting und Indizieren

Zum Ausführen des eigentlichen Harvestings:

  1. die Umgebungsvariable HARVESTER_CONFIGURATION_NAME auf die der gewünschten Instanz setzen
  2. das Skript software/scripts/harvester.php ausführen
  3. das Skript software/scripts/indexer.php ausführen

Erfolgs- und Fehlermeldungen dieser Skripte sind in der Weboberfläche einsehbar.

Interner Ablauf

Die Software erfährt über die Umgebungsvariable HARVESTER_CONFIGURATION_NAME den Namen der gewünschten Konfiguration und lädt dementsprechend die Einstellungen für Pfade und Datenbankzugriff. In der MySQL-Datenbank sind die bekannten OAI-Repositories, deren Sets und die ausgewählten Sets gespeichert.

Die geladenen Daten werden im Datenordner data// abgelegt. Dieser kann folgenden Unterordner haben:

  • harvest: hier werden von harvester.php die geladenen OAI Daten abgelegt
  • temp: enthält kurzzeitig während der Konversion von OAI zu Solr anfallende Daten
  • archive: enthält zip-Dateien mit den geladenen OAI Daten und den daraus erstellten Solr-Dokumenten
  • error: enthält Dateien mit den Fehlermeldungen, die bei den Durchläufen von software/scripts/harvester.php und software/scripts/indexer.php aufgetreten sind

Diese Ordner enthalten jeweils Unterordnerstrukturen mit dem akutellen Datum, der ID des OAI Servers und der ID des Sets. Zur leichteren Orientierung sind Dateien source_data.txt mit den dazugehörigen Namen abgelegt.

Die Daten im Ordner archive können nützlich sein, wenn die Indizierung verändert werden soll. In diesem Fall muß nicht das Harvesting erneut stattfinden, sondern es können die zip Dateien entpackt werden und der Inhalt ihrer harvest Unterordner kann in den harvest Ordner gelegt werden, um dann das Skript software/scripts/indexer.php erneut zu starten. Das Skript software/scripts/reindex.php führt diese Schritte durch.

sub-harvester's People

Contributors

ssp avatar

Stargazers

 avatar  avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.