SWBcontent Heritrix 3.x Konfigurations-UI

Transcription

SWBcontent Heritrix 3.x Konfigurations-UI
SWBcontent
Heritrix 3.x Konfigurations-UI
Dr. Barbara Löhle
Bibliotheksservice-Zentrum Baden-Württemberg
Dienstag, 03.12.2013 Konstanz
1
Inhalt
 Systemarchitektur - Stand 2013 - Komponenten
 Integration von Heritrix 3.x (REST)
 Heritrix 3.x
 crawler-beans.cxml
 SWBcontent Konfigurations-UI (Erweiterungen)
2
Dr. Barbara Löhle | Heritrix 3.x Konfigurations-UI | 03.12.2013
Stand 2013: Komponenten
HTTP
SWBcontent
- OAI-PMH Data
Provider
Bib
- HTTrack
HTTPS
wayback
Bib
Jetty-Webserver
Solr-3.5.0
Heritrix 3.x
HTTP-Z3950
Gateway
3
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Integration von Heritrix 3.x
 Systemarchitektur
 SWBcontent und Heritrix 3.xCrawl-Job
 Nutzersicht
4
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Integration von Heritrix 3.x - Überblick
HTTP
HTTP
wayback
1.8.x
(REST)
WebHarvesting
Jetty-Webserver
HTTPS
SWBcontent
5
Heritrix 3.x
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
SWBcontent – Heritrix 3.x Crawl-Job
 SWBcontent: Generierung eines Heritrix 3.x Crawl-Jobs nach der
Erzeugung eines Job-Directories
 mit dem zentralen Konfigurationsfile, dem crawler-beans.cxml
 oder mit dem crawler-beans.cxml und einem Zusatzfile, dem
override-properties File.
 SWBcontent: Losschicken eines Heritrix 3.x Crawl-Jobs
 SWBcontent legt das Job-Directory in den Job-Bereich von
Heritrix 3.x.
 Mittels REST (Representational State Transfer) werden die
Job-Kommandos create, build, launch und unpause an den
Heritrix 3.x Server geschickt und vom diesem ausgeführt.
 SWBcontent: Jobüberwachung in 2 Min. Intervall – Abfrage
mittels REST, ob der Job-Zustand notRunning erreicht ist.
6
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.1.2 – Sicht: Create
7
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Heritrix 3.1.2 – Sicht: Build
8
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Heritrix 3.1.2 – Sicht: Launch
9
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Heritrix 3.1.2 – Sicht: Running
10
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
SWBcontent – Crawlüberwachung
11
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
SWBcontent – Heritrix 3.x Crawl-Job
 SWBcontent: Beenden des Heritrix 3.x Crawl-Jobs
 Falls nötig wird mittels REST das Job-Kommando terminate
an den Heritrix 3.x Server geschickt
 Zum Schluss wird mittels REST das Job-Kommando teardown
an den Heritrix 3.x Server abgesetzt.
 SWBcontent: Cleanup und Verlinkung
 SWBcontent verschiebt das Job-Directory zurück in den
Standard-Download-Bereich der gegebenen Installation.
 Schließlich werden die technischen Daten, insbesondere die
Archiv-URL, bzw. der url_storage Eintrag (Bib), angelegt sowie
die Job-Tabelle aktualisiert.
12
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.1.2 – Sicht: Terminate
13
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Heritrix 3.1.2 – Sicht: Teardown
14
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Heritrix-3.x Crawl im Filesystem
15
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
SWBcontent- Heritrix-3.x Crawl
16
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013
Nutzersicht
 SWBcontent-Nutzer: Erzeugung der oder Upload des Konfigurationsfiles des Heritrix 3.x Crawl-Jobs
 Mittels des SWBcontent Heritrix 3.x Konfigurations-UI wird ein
override.properties File erzeugt, das gemeinsam mit dem
bisher für alle Installationen geltenden template-crawlerbeans.cxml einen Heritrix 3.x Crawl-Job konfiguriert.
 Alternativ: Upload eines vom Nutzer selbst erstellten crawlerbeans.cxml Files.
 Bem.: In der Job-Tabelle sind nun auch die zum Job gehörigen
Konfigurationsfiles zugänglich.
17
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Nutzersicht
 SWBcontent-Nutzer: Jobtabelle
 Es sind nun alle Konfigurations-, Logs- und, nach Job-Beendigung, alle Reports-Files zugänglich. Es werden nur jene Files
gezeigt, die nicht leer sind.
 Status des Jobs ist logs/job.log zu entnehmen.
 Der Befehl Kill schickt mittels REST das terminate Kommando
an den Hertrix 3.x Server.
 Bem.: Die Heritrix 3.x Konfigurations-, Logs- und ReportsFiles eines Crawl-Jobs werden zukünftig (geplant) unter den
technischen Daten eines Downloads zu finden sein. (Analoges
gilt für die HTTrack-Jobs.)
18
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Nutzersicht - Konfigurations-UI
19
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Nutzersicht: Job-Tabelle
20
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Nutzersicht: override.properties
21
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Nutzer: template crawler-beans.cxml
22
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x
 Heritrix 3.x - Eigenschaften
 Heritrix 3.x - Bestandteile
 Heritrix 3.x Admin UI
23
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.1.x - Eigenschaften
 Heritrix ist der Open Source Wev Crawler der Internet Archive.
Dieser ist in Java geschrieben und wird seit 2004 entwickelt. Das
Heritrix Package enthält eine Web-Applikation, „die Web
Adminstrative Console“. Heritrix wird mit dem embedded WebServer Jetty Java HTTP Server geliefert.
 Heritrix ist in 2 major Releases vefügbar
 Heritrix 1.14.x im Maintenance Zustand
 Heritrix 3.x (H3; aktuell: heritrix-3.2.0-SNAPSHOT)
 Hauptunterschiede zwischen Heritrix 3.1.x und Heritrix 1.14.x:
 H3 basiert auf dem Application Development Framework
Spring 3.x.
 Die komplexe Konfiguration von H3 wird mittels einer Spring
Bean realisiert.
 H3 ist RESTful, d.h. H3 benutzt den Representational State
24
Transfer (REST) um eine HTTPS basierte Client Kommunikation
zu realisieren.
Heritrix 3.x - Bestandteile
 Heritrix3.x ist besteht aus 3 Teilen
 engine – core von Heritrix 3.x
 modules – Diese sind mittels eigener Software erweiterbar.
 commons – Dieser Teil enthält Utilities, die auch von anderen
Applikationen genutzt werden können. Insbesondere die
wayback-machine nutzt das commons-Paket.
 SWBcontent bindet ebenfalls das commons-Paket ein.
25
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x Admin UI
 Das Heritrix 3.x Admin UI besitzt keine Nutzerverwaltung und
sollte nur als ferngesteuerter Server angesehen werden.
 Der Start des Servers gibt insbesondere das Job Directory der
Crawl-Jobs vor.
 Mit dem Kommando create wird ein vom Admin neu
angelegtes Directory als Ausführungs-Directory bei Heritrix 3.x
angemeldet.
 vgl.: SWBcontent meldet zu Beginn eines Jobs das in das
Heritrix 3.x Job Directory verschobene SWBcontent-JobDirectory bei Heritrix 3.x mit dem Befehl create an.
26
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x Admin UI
27
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x Admin UI
 In einem neu angelegten Job Directory sind die Heritrix 3.x
Kommandos build, launch, unpause, terminate und teardown als
buttons vorhanden. (SWBcontent bedient diess buttons des
Heritrix 3.x Admin UI mittels REST.)
 Ferner wird hier das mitgelieferte crawler-bean.cxml File
zugänglich.
 Das Heritrx 3.x Admin UI bietet einen Bean-Browser und Editor,
zur strukturierten Darstellung der Gesamtkonfiguration.
28
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x Admin UI
29
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
Heritrix 3.x Admin UI
30
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
crawler-beans.cxml
 carwler-beans.cxml - Prinzip
 crawler-beans.cxml - Erweiterungen
31
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
crawler-beans.cxml - Prinzip
 Die crawler-beans.cxml ist das Konfigurations-File, mit dem der
gesamte Crawl eines Heritrix 3.x Servers definiert wird.
 Die carwler-beans.cxml scheint kryptisch, konfiguriert aber den
Heritrix 3.x Crawl auf der Basis des Spring 3.x Java Frameworks,
das Heritrix 3.x zu Grunde liegt.
 Wichtig ist, dass die crawler-beans.cxml als best practice
Konfigurationsfile zum Lieferumfang von Heritrix 3.x gehört, d.h.
dass der Konfigurationsumfang und die Parametrisierung im
Normalfall als gut gewählt zu betrachten ist.
 Die crawler-beans.cxml ist aber nicht vollständig in Bezug auf die
existierenden Konfigurationsmöglichkeiten.
 Ferner bringt Heritrix 3.x in Abhängigkeit von der Version ein
leicht abgewandeltes crawler-beans.cxml File mit.
32
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
crawler-beans.cxml - Prinzip
 Prinzip:
 Eine java Klasse, hier
org.archive.modules.deciderules.TooManyPathSegmentsDeci
deRule, besitzt eine property, hier maxPathDepth.
 Bem.: Zahl der Segmente = Zahl der / in einem uriPath, z.B.
http://www.uni-konstanz.de/ = 1
 Will man herausfinden, welche Auswahl an
org.archive.modules.deciderules existiert, muss man
zumindest in der API suchen:
http://builds.archive.org/javadoc/heritrix-3.xsnapshot/org/archive/modules/deciderules/package-summary.html
33
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013
SWBcontent Konfigurations-UI
 Vereinbarte Erweiterungsliste
 SWBcontent Konfigurations-UI (Stand 03.12.2013)
•
•
•
34
Minimalkonfiguration
zusätzliche Decide-Rules
Flow Control und Crawl Limits
Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013
Vereinbarte Erweiterungsliste
 Spiegelungstiefe (TooManyHopsDecideRule: REJECT)
 Spiegelungstiefe (TooManyPathSegmentsDecideRule: REJECT)
 Einschluß externer Quellen, speziell zur Vervollständigung
graphischer Elemente inURLs (TransclusionDecideRule:
ACCEPT: offen)
 Timeout und maximale Größe der Downloads(FetchHTTP: offen)
 Delay und Bandbreite(DispositionProcessor: begonnen)
Bem.:Die Bandbreite kann nicht freigegeben werden.
 Crawl Limits(Dauer und Datenmenge des Crawls;
CrawlLimitEnforcer)
 Nutzung verschiedener UserAgents (done)
35
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 18.12.2013
SWBcontent Konfigurations-UI
 Prinzip des SWBcontent Konfigurations-UI für Heritrix 3.x:
 Einem Heritrix 3.x Crawl-Job wird ein Template crawlerbeans.cxml zu Grunde gelegt.
 Mittels der Eingaben des SWBcontent Konfigurations-UI wird
das override.properties File erstellt.
 Das override.properties File überrschreibt die Default Einträge
im Template crawler-beans.cxml.
 Sowohl das crawler-beans.cxml als auch das
override.properties File ist für jeden Job in der Job-Tabelle
zugänglich.
36
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
Minimalkonfiguration
 Die Minimalkonfiguration enthält die wichtigsten Konfigurationsparameter. In den meisten Fällen sind die Konfigurationsparameter mit Defaultwerten, d.h. jenen des crawler-beans.cxml, vorbelegt.
 In der Minimalkonfiguration muß einzig ein Eintrag unter URIs (=
seed) (Uniform Resource Identifier) vorgenommen werden,
wobei es sich bei dem ersten Eintrag um eine URL (Uniform Resource Locator) handeln muß. (Der mit Heritrix 3.x erzeugte
Download wird über diese URL aufgerufen.)
 Zusätzliche URIs können mittels „include URIs/SURTS as prefix“
für einen Crawl zugelassen werden.
 Ausführliche Diskussion des seed und von „include URIs/SURTs
as prefix“, siehe Vortrag von Gisela Mayer: Seeds und SURTs.
 Diskussion des User Agent String, siehe Vortrag von mir: „User
Agent“
37
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
Minimalkonfiguration
38
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
zusätzliche Decide-Rules
 Zu den zusätzlichen Decide-Rules gehören einschließende und
ausschließende Regeln, die mittels Regular Expressions
formuliert werden.
 Ferner werden die im Vergleich zu einschließenden seltener
benutzten ausschließenden „exclude URIs/SURTs as prefix“
aufgeführt.
 Mittels der MaxPathDepth wird die maximale Zahl der Segmente
festgelegt, die der URI-Path besitzen darf, d.h. die Zahl der
Slashes („/“).
39
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
zusätzliche Decide-Rules
40
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
Flow Control und Crawl Limits
 Im Fall des Flow Control ist bisher nur der Delay Factor parametrisierbar. Der Defaultwert des zum Lieferumfangs von Heritrix 3.x gehörenden crawler-beans.cxml Files besitzt den Wert
5.0. Für die Anwendung in SWBcontent wurde dieser Wert im
Template crawler-beans.cxml File auf den Wert 2.0 reduziert. Der
Delay Factor gibt an, um welches Vielfache die bei dem letzten
Download einer URI eines Web-Servers aufgewendete Zeit
gewartet werden soll, bis derselbe Web-Server wieder kontaktiert
werden darf.
 Die unter Crawl Limits aufgeführten Obergrenzen für die
Downloadgröße sowie für die Laufzeit besitzen als Default den
Wert 0. Der Wert 0 steht hier im Sinne einer Konvention für einen
unbegrenzten Download-Umfang sowie für eine unbe-grenzte
Laufzeit. Mittels kleiner Werte für den Download-Umfang
und/oder für die Laufzeit sind kurze Testläufe möglich.
41
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013
Flow Control und Crawl Limits
42
Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013