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