diff --git a/SUMMARY.md b/SUMMARY.md index 55c0a0a..d060b18 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -5,11 +5,7 @@ * [Summerschool](README.md) * [Arbeitsumgebung](arbeitsumgebung.md) * [Metadatenformate und Schnittstellen](metadatenformate-und-schnittstellen.md) - -## Linux Kommandozeile - * [Arbeiten mit der Kommandozeile](linux-kommandozeile/arbeiten-mit-der-kommandozeile.md) -* [Beispieldaten laden und ansehen](linux-kommandozeile/beispieldaten-laden-und-ansehen.md) ## Auswahl der Anwendungssoftware @@ -27,12 +23,10 @@ * [Installation von MarcEdit](marcedit/installation-von-marcedit.md) * [Verwendung mit OpenRefine](marcedit/verwendung-mit-openrefine.md) -* [Abfrage von Schnittstellen](marcedit/abfrage-von-schnittstellen.md) ## Anwendungsfall MARC21 -* [Konvertierung von MARC21 in TSV mit MarcEdit](anwendungsfall-marc21/konvertierung-von-marc21-in-tsv-mit-marcedit.md) -* [Vorverarbeitung mit OpenRefine](anwendungsfall-marc21/vorverarbeitung-mit-openrefine.md) +* [Vorverarbeitung mit MarcEdit und OpenRefine](anwendungsfall-marc21/vorverarbeitung-mit-marcedit-und-openrefine.md) * [Transformation mit OpenRefine in finc-Schema](anwendungsfall-marc21/transformation-mit-openrefine-in-finc-schema.md) ## Weitere Anwendungsfälle @@ -53,5 +47,4 @@ * [Installation von TYPO3 und TYPO3-find](katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md) * [Beispielkonfiguration für Online-Katalog mit TYPO3-find](katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md) -* [Anpassungsmöglichkeiten TYPO3-find](katalog-mit-typo3-find/anpassungsmoglichkeiten-typo3-find.md) diff --git a/anwendungsfall-marc21/konvertierung-von-marc21-in-tsv-mit-marcedit.md b/anwendungsfall-marc21/konvertierung-von-marc21-in-tsv-mit-marcedit.md deleted file mode 100644 index e69de29..0000000 diff --git a/anwendungsfall-marc21/transformation-mit-openrefine-in-finc-schema.md b/anwendungsfall-marc21/transformation-mit-openrefine-in-finc-schema.md index e69de29..4b1b420 100644 --- a/anwendungsfall-marc21/transformation-mit-openrefine-in-finc-schema.md +++ b/anwendungsfall-marc21/transformation-mit-openrefine-in-finc-schema.md @@ -0,0 +1,34 @@ +# Transformation mit OpenRefine in finc-Schema + +Ziel: Daten für den Import in den Suchindex vorbereiten + +MARC21 ist sehr komplex und das [finc-Schema](https://github.com/finc/index/blob/master/schema.xml) hat ebenfalls etliche Felder, die teilweise kompliziert zu bilden sind. In dieser Summerschool können wir daher nur einen Teil erproben. + +## Werte belegen (am Beispiel von Feldern 001 und 245) + +* show as: rows +* column Tags / Facet / text facet / 245 +* column Subfields / Facet / text facet / "a", "b", "c" +* column Tags / edit cells / transform... / "title" +* close facets +* column Tags / Facet / text facet / 001 +* column Tags / edit cells / transform... / "id" +* close facet +* ... + +## Transponieren + +* All / Edit columns / Re-order / remove columns / Spalten "RecordNumber", "Indicators", "Subfields2" nach rechts bewegen (d.h. löschen) +* column Tags / Facet / text facet / include: "id", "title", "..." / invert +* All / Edit rows / Remove all matching rows +* close facet +* column Tags / edit cells / Blank down +* column Content / edit cells / join multi-valued cells / $ +* column Content / Facet / customized facets / Facet by blank / true +* All / Edit rows / Remove all matching rows +* close facet +* Column key / transpose / columnize by key/value columns / ok + +## Export + +Wählen Sie oben rechts im Menü Export den Menüpunkt ```Tab-separated-value``` diff --git a/anwendungsfall-marc21/vorverarbeitung-mit-marcedit-und-openrefine.md b/anwendungsfall-marc21/vorverarbeitung-mit-marcedit-und-openrefine.md new file mode 100644 index 0000000..974a19b --- /dev/null +++ b/anwendungsfall-marc21/vorverarbeitung-mit-marcedit-und-openrefine.md @@ -0,0 +1,36 @@ +# Vorverarbeitung mit MarcEdit und OpenRefine + +## Beispieldaten von MARC21 in TSV konvertieren + +vgl. Anleitung im vorigen Kapitel + +## Daten in OpenRefine laden + +* Menü Create Project +* TSV-Datei hochladen +* In den Optionen "store blank rows" deaktivieren + +## Subfields aufteilen + +Führen Sie folgende Transformationsschritte in OpenRefine durch: + +* column Column / Edit column / Remove this column +* column Content / Text filter: $ +* column Content / add column based on this column / Subfields / forEach(value.split("$"),v,get(v,0)).join("$") +* column Content / edit cells / transform... / forEach(value.split("$"),v,slice(v,1)).join("$") +* close text filter +* column Subfields / edit cells / split multi-valued cells... / $ +* column Content / edit cells / split multi-valued cells... / $ + +## Records bilden + +Führen Sie folgende Transformationsschritte in OpenRefine durch: + +column Subfields / Facet / customized facets / Facet by blank / false +column RecordNumber / edit cells / Fill down +column Tags / edit cells / Fill down +column Indicators / edit cells / Fill down +close facet +column RecordNumber / edit cells / Blank down +Show: 5 rows +Show as: records diff --git a/anwendungsfall-marc21/vorverarbeitung-mit-openrefine.md b/anwendungsfall-marc21/vorverarbeitung-mit-openrefine.md deleted file mode 100644 index e69de29..0000000 diff --git a/arbeiten-mit-der-kommandozeile.md b/arbeiten-mit-der-kommandozeile.md new file mode 100644 index 0000000..4208fd2 --- /dev/null +++ b/arbeiten-mit-der-kommandozeile.md @@ -0,0 +1,61 @@ +# Arbeiten mit der Kommandozeile + +Im Laufe der Summerschool verwenden wir des Öfteren die [Kommandozeile](https://de.wikipedia.org/wiki/Kommandozeile), um Programme zu installieren und zu konfigurieren. Gleichzeitig ist sie ein mächtiges Werkzeug, um mit Textdateien umzugehen. Es lohnt also den Umgang damit kurz zu üben. + +## Kommandozeile (Terminal) starten + +Die Kommandozeile (auch "[Terminal](https://wiki.ubuntuusers.de/Terminal/)" genannt) von Ubuntu MATE erreichen wir über das Menü "Anwendungen -> Systemwerkzeuge -> MATE-Terminal". + +![Screenshot Terminal starten](/images/screenshot-terminal-starten.png) + +![Screenshot Terminal geöffnet](/images/screenshot-terminal.png) + +## Installieren Sie das kleine Programm curl + +Für die folgende Übung wird das (sehr) kleine Programm curl benötigt. Bei vielen Linux-Distributionen ist es vorinstalliert, aber bei Ubuntu MATE nicht. Starten Sie zur Installation die Kommandozeile (Terminal) und geben Sie den folgenden Befehl ein: + +```sudo apt-get install curl``` + +Sie werden nach Ihrem Passwort gefragt, anschließend startet der Installationsprozess. So sollte es danach aussehen: + +![Screenshot Installation curl](/images/screenshot-curl-installieren.png) + +## Übung: Text durchsuchen und Wörter zählen + +Starten Sie die Kommandozeile (Terminal) und geben Sie die folgenden Befehle ein: + +### Schritt 1: "War and Peace" von Leo Tolstoy herunterladen und anzeigen +* ```curl http://www.gutenberg.org/files/2600/2600-0.txt > war_and_peace.txt``` +* ```cat war_and_peace.txt | less``` + +Der Anhang ```| less``` am zweiten Befehl zeigt den Text so an, dass Sie mit den Pfeiltasten scrollen können. Beenden können Sie die Ansicht mit der Taste ```q```. + +### Schritt 2: Zeilen, Wörter und Zeichen zählen mit wc +* ```wc war_and_peace.txt``` + +Die drei Nummern sind Zeilen, Wörter und Zeichen (in dieser Reihenfolge). + +### Schritt 3: Suche nach Vorkommnissen der Wörter "war" and "peace" +* ```cat war_and_peace.txt | grep -i -ow war | wc``` +* ```cat war_and_peace.txt | grep -i -ow peace | wc``` + +Was wird häufiger in diesem Text erwähnt? Krieg oder Frieden? + +## Hilfreiche Grundlagen bei der Arbeit mit der Kommandozeile + +* Dateien und Verzeichnisse: siehe [Cheatsheet](http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/) +* Abbruch / Programm beenden: ***STRG*** und ***C*** +* Kurzhilfe eines Programms aufrufen: ***Programmname* --help** +* Handbuch eines Programms aufrufen: **man** ***Programmname*** +* Automatische Ergänzung von Befehlen: ***Tab*** +* Vorige Kommandos anzeigen: ***Pfeiltaste nach oben*** +* Suche in Historie der Kommandozeile: ***STRG*** und ***R*** + +Die meisten Antworten finden sich über einfache Suchen im Internet. Meist reicht es an die passenden Suchbegriffe das Wort "linux" mit anzuhängen. + +## Literatur + +* Ausführlichere Übung im Blog des Projekts Librecat/Catmandu: https://librecatproject.wordpress.com/2014/12/04/day-4-grep-less-and-wc/. Dabei bitte beachten: Die dort referenzierte Textdatei ist anders strukturiert als die obige *war_and_peace.txt* und liefert daher andere Zählergebnisse. +* Dreistündiger Einführungskurs "Shell Lessons for Librarians" im Projekt "Library Carpentry" http://data-lessons.github.io/library-shell/ +* Eine gute Einführung in die Linux-Kommandozeile bietet [http://linuxcommand.org](http://linuxcommand.org) von William E. Shotts, der auch ein kostenfreies [540-Seiten-Buch](http://linuxcommand.org/tlcl.php) darüber geschrieben hat. +* Es gibt sehr viele praktische kleine Programme auf der Kommandozeile. Zur Übersicht eignet sich daher ein Spickzettel ("Cheatsheet") sehr gut. Ein Beispiel für die unzähligen Cheatsheets: [http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/](http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/). diff --git a/arbeitsumgebung.md b/arbeitsumgebung.md index e69de29..e15ee50 100644 --- a/arbeitsumgebung.md +++ b/arbeitsumgebung.md @@ -0,0 +1,9 @@ +# Arbeitsumgebung + +Wir verwenden das Linux-Betriebssystem [Ubuntu MATE](https://ubuntu-mate.org/) als Arbeitsumgebung. In der Summerschool in Dresden stehen vorinstallierte Computer bereit. + +Wer dieses Skript im Selbststudium durcharbeiten möchte, könnte sich Ubuntu MATE mit Hilfe von [VirtualBox](https://www.virtualbox.org/) auf dem eigenen Windows-Computer installieren (siehe [Anleitung im Skript zum Seminar an der Hochschule Hannover](https://felixlohmeier.gitbooks.io/seminar-praxis-der-digitalen-bibliothek/content/1-3-1-installation-der-virtuellen-maschine.html)) + +Alle hier verwendeten Anwendungen ([MarcEdit](http://marcedit.reeset.net/), [OpenRefine](http://openrefine.org/), [Solr](http://lucene.apache.org/solr/), [TYPO3](https://typo3.org/)) können auch unter Windows installiert werden. + +Für die Summerschool werden Beispieldaten aus dem Arbeitsalltag verwendet, die leider nicht unter freien Lizenzen stehen und daher nicht öffentlich bereitgestellt werden können. diff --git a/auswahl-der-anwendungssoftware/auswahl-der-software-fur-die-summerschool.md b/auswahl-der-anwendungssoftware/auswahl-der-software-fur-die-summerschool.md index e69de29..8e7e8ef 100644 --- a/auswahl-der-anwendungssoftware/auswahl-der-software-fur-die-summerschool.md +++ b/auswahl-der-anwendungssoftware/auswahl-der-software-fur-die-summerschool.md @@ -0,0 +1,37 @@ +# Auswahl der Software für die Summerschool + +## Software, die wir verwenden werden + +**Verarbeitung und Analyse der Metadaten**: [OpenRefine](http://openrefine.org) + +OpenRefine bietet eine grafische Oberfläche zur Analyse und Transformation von Daten, die ähnlich wie eine klassische Tabellenverarbeitungssoftware (MS Excel, LibreOffice Calc, usw.) aufgebaut ist. Wir verwenden diese Software in der Summerschool, um die Beispieldaten zu manipulieren und in ein passendes Format für den Suchmaschinenindex zu transformieren. + +Als "Spezialist" für MARC21 kommt zusätzlich die Software [MarcEdit](http://marcedit.reeset.net/) zum Einsatz. + +**Suchmaschinenindex**: [Solr](http://lucene.apache.org/solr/) + +Apache Solr ist eine der Standardsuchmaschinen, die auch in vielen kommerziellen Discovery-Systemen zum Einsatz kommt. Die Indexierung der Daten in Solr ermöglicht sehr schnelle und flexible Suchen. Der Suchmaschinenindex läuft im Hintergrund, wird von den Nutzerinnen und Nutzern also nie direkt aufgerufen. + +**Katalogoberfläche**: [TYPO3-find](https://github.com/subugoe/typo3-find) + +Das, was die Nutzerinnen und Nutzer zu sehen bekommen, ist schließlich die Katalogoberfläche. Im Grunde handelt es sich um eine Webseite mit Suchfunktion. Wir verwenden im Seminar die Software TYPO3-find, eine Erweiterung für das Content-Management-System TYPO3, die an der Staats- und Universitätsbibliothek Göttingen entwickelt wurde. TYPO3-find kommuniziert mit dem Suchmaschinenindex Solr über die Software [Solarium](http://www.solarium-project.org/), die ebenfalls Open Source ist. + +## Schaubild zum Datenfluss + +``` ++----------+ +------------+ +------+ +------------+ +| | | | | | Solarium | | +| MarcEdit | +-----> | OpenRefine | +-----> | Solr | +--------+ | TYPO3-find | +| | | | | | | | ++----------+ +------------+ +------+ +------------+ +``` + +## Alternativen, die auch interessant wären + +Es gibt eine ausgereifte Komplettlösung, die alle drei Funktionen (Verarbeitung der Metadaten, Suchmaschinenindex und Katalogoberfläche) in einer Open-Source-Lösung vereint: [VuFind](http://vufind-org.github.io/vufind/). Diese Lösung kann am ehesten als vollständiger Ersatz für ein kommerzielles Discovery-System gelten (mal abgesehen vom "Central Index" für elektronische Artikel). Wir verwenden VuFind in dieser Summerschool nicht, weil die Software zu viele Schritte im Hintergrund erledigt, die das Verständnis der zugrundeliegenden Prozesse erschweren würden. VuFind ist international an vielen Bibliotheken im Einsatz und hat eine sehr aktive Community. In Deutschland finden regelmäßig Anwendertreffen statt, [im Oktober 2016 beispielsweise in Freiburg](https://www.ub.uni-freiburg.de/ihre-ub/veranstaltungen/vufind-anwendertreffen/). Die lange Historie von VuFind (Entwicklung seit 2008) ist gleichzeitig Hauptkritikpunkt: Der Code ist "gewachsen" und entsprechend schwierig zu warten. Die Komplettlösung ist wenig modular aufgebaut und damit schwieriger in andere Systeme integrierbar. + +Neu auf dem Markt ist auch die Komplettlösung [Lukida](https://www.lukida.org/), die vom Bibliotheksverbund GBV als Service angeboten wird und auch als [Open Source](https://github.com/gbv/Lukida) zur Verfügung steht. Die Software ist in PHP entwickelt und zeichnet sich durch einen neuen Ansatz in der Darstellung der Suchergebnisse aus. + +Alternativen für die Verarbeitung und Analyse der Metadaten wurden im vorigen Kapitel bereits vorgestellt. Für das Ziel der Summerschool kämen vor allem Catmandu und d:swarm in Frage. [Catmandu](http://librecat.org/) muss über die Kommandozeile gesteuert werden und hat damit eine höhere Einstiegshürde für diejenigen, die grafische Oberflächen aus Windows gewohnt sind. [d:swarm](http://www.dswarm.org) hingegen bietet einen optischen Zugang, ist jedoch noch in Entwicklung und hat eine relativ komplexe Systemarchitektur. + +Als Alternative für die Katalogoberfläche ist noch [Blacklight](http://projectblacklight.org/) zu nennen, das in Universitätsbibliotheken in den USA weit verbreitet ist. diff --git a/auswahl-der-anwendungssoftware/open-source-software-fur-verarbeitung-von-metadaten.md b/auswahl-der-anwendungssoftware/open-source-software-fur-verarbeitung-von-metadaten.md index e69de29..c847f0e 100644 --- a/auswahl-der-anwendungssoftware/open-source-software-fur-verarbeitung-von-metadaten.md +++ b/auswahl-der-anwendungssoftware/open-source-software-fur-verarbeitung-von-metadaten.md @@ -0,0 +1,33 @@ +# 1.2.2 Open Source Software zur Verarbeitung und Analyse von Metadaten + +## Präsentation Magnus Pfeffer (2016) + +Prof. Magnus Pfeffer (2016): Open Source Software zur Verarbeitung und Analyse von Metadaten. Präsentation auf dem 6. Bibliothekskongress. http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:0290-opus4-24490 + +[![Screenshot Pfeffer (2016)](images/screenshot-pfeffer-2016.png)](http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:0290-opus4-24490) + +## Kernpunkte + +Der erste Schritt zum selbstentwickelten Bibliothekskatalog ist die Analyse und Verarbeitung der Metadaten. Welche Medien sollen im Katalog angezeigt werden und welche Daten liegen dazu bereits vor? Oftmals müssen die beschreibenden Daten über die Objekte (Metadaten) erst aufbereitet werden, um sie in einen Suchmaschinenindex laden zu können. + +Aufgrund der zunehmenden Komplexität an Datenformaten, Regelwerken und Datenquellen ist eine ganze Reihe von Open Source Werkzeugen entstanden. Magnus Pfeffer stellt in seiner Präsentation die Vielfalt der verfügbaren Software dar, die sich zum Einsatz in der Lehre eignet. + +Die einzusetzende Software sollte für den Zweck der Lehre drei Arbeitsschritte ermöglichen (das gilt auch für dieses Seminar): +1. Validierung und einfache Analyse von Datenlieferungen (z.B. konsistente Feldbelegungen, Erkennen von Unstimmigkeiten, statistische Analysen) +2. Anpassung von Datenlieferungen (Filtern von Datensätzen, Anpassen einzelner Felder) +3. Durchführen eines ETL-Prozesses ([Extract, Transform, Load](https://de.wikipedia.org/wiki/ETL-Prozess): Daten aus dem Bibliothekssystem extrahieren, anpassen und in einen Suchindex laden) + +Magnus Pfeffer unterscheidet drei Kategorien von Software: +* Einzelne Programme: MABLE+/MARCEL, MAB-Tools, MARCTools, MarcEdit usw. +* Toolkits: Metafacture, Catmandu, MarcXimiL +* Web-basierte Software: OpenRefine, d:swarm + +Schwierigkeiten für den Einsatz in der Lehre bestehen darin, dass oftmals die Dokumentation nicht für Einstieger geeignet ist, teilweise sehr spezielle Systemvoraussetzungen bestehen, die Anwendungen teilweise frustrierend zu bedienen sind und realistische Workflows nur mit Kombinationen von unterschiedlichen Programmen umsetzbar sind. Im Modul Metadatenmanagement an der HDM Stuttgart plant er daher typische Workflows mit der Software Librecat/Catmandu und OpenRefine nachzustellen. + +## Was bedeutet das für die Summerschool? + +Es gibt zahlreiche Profi-Software, die für die Aufbereitung der Metadaten zum Einsatz kommen kann. + +In dieser Summerschool (zum Bau eines Bibliothekskatalogs) bietet sich besonders OpenRefine an, weil das Programm vergleichsweise einfach zu bedienen ist, eine grafische Oberfläche bietet und Transformationsergebnisse direkt sichtbar werden. Gleichzeitig ist es ein vielgenutztes Werkzeug auch über die Bibliothekscommunity hinaus (z.B. im Datenjournalismus beliebt) und somit vielfältig einsetzbar. + +Im konkreten Arbeitsalltag in den IT-Abteilungen der Bibliotheken kommt je nach Anwendungsfall und Vorliebe des Personals oft spezialisierte Software zum Einsatz. Die Arbeitsprozesse sind aber ähnlich und lassen sich am Beispiel von OpenRefine gut erlernen. diff --git a/katalog-mit-typo3-find/anpassungsmoglichkeiten-typo3-find.md b/katalog-mit-typo3-find/anpassungsmoglichkeiten-typo3-find.md deleted file mode 100644 index e69de29..0000000 diff --git a/katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md b/katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md index 03d834f..9c4e539 100644 --- a/katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md +++ b/katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md @@ -1,75 +1,64 @@ -# Skript zur Summerschool zu OpenRefine \(15.-17.5.2017, SLUB Dresden\) +# Beispielkonfiguration für Online-Katalog mit TYPO3-find -Hauptgegenstand ist die Schulung der Open-Source-Software [OpenRefine](http://www.openrefine.org) zur Verarbeitung und zur Analyse von bibliothekarischen Metadaten sowie eine praktische Einführung in die grundlegende Funktionsweise des Suchmaschinenindex [Solr](http://lucene.apache.org/solr/) und der Katalogsoftware [TYPO3-find](https://github.com/subugoe/typo3-find). +Falls der Computer zwischenzeitlich neu gestartet wurde, muss der Suchindex Solr neu gestartet werden: +``` +~/solr-6.5.0/bin/solr start -s ~/solr-6.5.0/example/schemaless/solr +``` -## Formate {#formate} +Die Administrationsoberfläche von TYPO3 ist unter folgender URL verfügbar: http://localhost/typo3/. -* Lesefassung bei GitBook \(HTML\): - [https://www.gitbook.com/read/book/felixlohmeier/summerschool-openrefine](https://www.gitbook.com/read/book/felixlohmeier/summerschool-openrefine) -* Druckfassung bei GitBook \(PDF\): - [https://www.gitbook.com/download/pdf/book/felixlohmeier/summerschool-openrefine](https://www.gitbook.com/download/pdf/book/felixlohmeier/summerschool-openrefine) -* Repository bei GitHub \(zum Nachnutzen\): - [https://github.com/felixlohmeier/summerschool-openrefine](https://github.com/felixlohmeier/summerschool-openrefine) +## Menü Extensions -## Inhalte +* In der Liste neben dem Eintrag ```Find``` auf den Würfel klicken, um die Extension zu aktivieren -Einleitung +## Menü Page -* [Ziele und Ablauf](/ziele-und-ablauf.md) -* [Arbeitsumgebung](/arbeitsumgebung.md) -* [Metadatenformate und Schnittstellen](/metadatenformate-und-schnittstellen.md) +* Seite ```Home``` auswählen +* Button +Content in Spalte "Normal" drücken und im Reiter ```Plugins``` das Plugin ```TYPO3 Find``` auswählen +* Oben den Save-Button betätigen. -Linux Kommandozeile +## Menü List -* [Arbeiten mit der Kommandozeile](/linux-kommandozeile/arbeiten-mit-der-kommandozeile.md) -* [Beispieldaten laden und ansehen](/linux-kommandozeile/beispieldaten-laden-und-ansehen.md) +* Gleiche Seite auswählen, auf der vorhin das Plugin eingefügt wurde (müsste noch vorausgewählt sein) +* Das Template ```Main TypoScript Rendering``` bearbeiten +* Reiter ```General```: In Textfeld ```Setup``` den vorhandenen Inhalt durch Folgendes ersetzen +``` +page = PAGE +page.100 < styles.content.get +page.javascriptLibs.jQuery = 1 +page.includeJS.find = EXT:find/Resources/Public/JavaScript/find.js +plugin.tx_find.features.requireCHashArgumentForActionArguments = 0 +plugin.tx_find.settings { + connections { + default { + options { + host = localhost + port = 8983 + path = /solr/gettingstarted + } + } + } + standardFields { + title = title + snippet = author + } + facets { + 10 { + id = title + field = title + sortOrder = count + } + 20 { + id = author + field = author + sortOrder = count + } + } +} +``` +* Reiter ```Includes```: Rechts bei ```available items``` das Item ```Find (find)``` anklicken. +* Oben den Save-Button betätigen -Auswahl der Anwendungssoftware - -* [Open-Source-Software für Verarbeitung von Metadaten](/auswahl-der-anwendungssoftware/open-source-software-fur-verarbeitung-von-metadaten.md) -* [Auswahl der Software für die Summerschool](/auswahl-der-anwendungssoftware/auswahl-der-software-fur-die-summerschool.md) - -OpenRefine - -* [Installation von OpenRefine](/openrefine/installation-von-openrefine.md) -* [Allgemeines Tutorial](/openrefine/allgemeines-tutorial.md) -* [Automatisierung](/openrefine/automatisierung.md) -* [Verarbeitung von bibliothekarischen Metadaten](/openrefine/verarbeitung-von-bibliothekarischen-metadaten.md) - -MarcEdit - -* [Installation von MarcEdit](/marcedit/installation-von-marcedit.md) -* [Verwendung mit OpenRefine](/marcedit/verwendung-mit-openrefine.md) -* [Abfrage von Schnittstellen](/marcedit/abfrage-von-schnittstellen.md) - -Anwendungsfall 1 - -* [Konvertierung von MARC21 in TSV mit MarcEdit](/anwendungsfall-1/konvertierung-von-marc21-in-tsv-mit-marcedit.md) -* [Transformation mit OpenRefine in finc-Schema](/anwendungsfall-1/transformation-mit-openrefine-in-finc-schema.md) - -Weitere Anwendungsfälle - -* [Metadaten eines Anbieters im CSV-Format](/weitere-anwendungsfalle/metadaten-eines-anbieters-im-csv-format.md) -* [Nachlässe aus Kalliope via SRU](/weitere-anwendungsfalle/nachlasse-aus-kalliope-via-sru.md) -* [CSV zu MIDAS-XML und MIDAS-XML zu Excel](/weitere-anwendungsfalle/csv-zu-midas-xml-und-midas-xml-zu-excel.md) -* [Dublin Core XML manipulieren](/weitere-anwendungsfalle/dublin-core-xml-manipulieren.md) -* [RDF vom AV-Portal der TIB](/weitere-anwendungsfalle/rdf-vom-av-portal-der-tib.md) - -Suchindex Solr - -* [Installation von Solr](/suchindex-solr/installation-von-solr.md) -* [Daten in Solr laden](/suchindex-solr/daten-in-solr-laden.md) -* [Konfiguration des Schemas](/suchindex-solr/konfiguration-des-schemas.md) - -Katalog mit TYPO3-find - -* [Installation von TYPO3 und TYPO3-find](/katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md) -* [Beispielkonfiguration für Online-Katalog mit TYPO3-find](/katalog-mit-typo3-find/beispielkonfiguration-fur-online-katalog-mit-typo3-find.md) -* [Anpassungsmöglichkeiten TYPO3-find](/katalog-mit-typo3-find/anpassungsmoglichkeiten-typo3-find.md) - -## Lizenz {#lizenz} - -Dieses Werk ist lizenziert unter einer [Creative Commons Namensnennung 4.0 International Lizenz](http://creativecommons.org/licenses/by/4.0/) - -[![](https://i.creativecommons.org/l/by/4.0/88x31.png)](http://creativecommons.org/licenses/by/4.0/) +Rufen Sie anschließend die Webseite http://localhost auf. Der Katalog sollte erscheinen. +Über das Template im Textfeld ```Setup``` kann TYPO3-find konfiguriert werden. Die Funktionen und Konfigurationsmöglichkeiten sind in der Dokumentation beschrieben: http://typo3-find.readthedocs.io/en/latest/index.html diff --git a/katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md b/katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md index e69de29..c778162 100644 --- a/katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md +++ b/katalog-mit-typo3-find/installation-von-typo3-und-typo3-find.md @@ -0,0 +1,77 @@ +# Installation von TYPO3 und TYPO3-find + +Ziel: In diesem Kapitel fügt sich das Puzzle zusammen. Wir haben mit OpenRefine die Daten transformiert und als TSV-Dateien gespeichert. Mit dem Suchindex Solr haben wir die TSV-Dateien indexiert. Nun installieren wir die Katalogoberfläche TYPO3-find, um die Daten aus dem Suchindex auf einer Webseite für die NutzerInnen zur Verfügung zu stellen. + +Begriffe: + +* TYPO3 ist ein häufig genutztes Content Management System (CMS) für Webseiten +* TYPO3-find ist eine von der SUB Göttingen entwickelte Erweiterung für TYPO3 + +Für Ubuntu gibt es derzeit kein Installationspaket, daher müssen wir die für TYPO3 benötigten Komponenten (Webserver, Datenbank, PHP) manuell installieren. + +## Benötigte Pakete (Apache, MySQL, PHP, Composer) installieren + +``` +sudo apt-get install apache2 libapache2-mod-php7.0 php7.0 php7.0-mysql mysql-server php-gd php-json php-imagick php-mbstring php-curl php-apcu php-soap php-xml php-zip composer +``` + +Während der Installation müssen Sie ein Root-Passwort für MySQL vergeben. Denken Sie sich eins aus und notieren Sie dies. + +## Konfiguration MySQL + +Wenn die Installation abgeschlossen ist, müssen wir eine Datenbank und eine/n Nutzer/in anlegen: +* ```mysql -u root -p``` +* MySQL-root-Passwort eingeben +* Anschließend folgende Befehle eingeben (_secretpassword_ durch ein eigenes Passwort ersetzen): +``` +CREATE DATABASE typo3 DEFAULT CHARACTER SET utf8; +CREATE USER typo3_db_user@localhost IDENTIFIED BY 'secretpassword'; +GRANT ALL PRIVILEGES ON typo3.* TO typo3_db_user@localhost; +FLUSH PRIVILEGES; +quit; +``` + +## Konfiguration PHP + +Optimieren Sie die Einstellungen von PHP für TYPO3: +``` +sudo sed -i 's/max_execution_time = 30/max_execution_time = 240/' /etc/php/7.0/apache2/php.ini +sudo sed -i 's/; max_input_vars = 1000/max_input_vars = 1500/' /etc/php/7.0/apache2/php.ini +sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/7.0/apache2/php.ini +``` + +Abschließend ist ein Neustart des Webservers erforderlich: +``` +sudo /etc/init.d/apache2 restart +``` + +## TYPO3 mit Composer installieren + +Wir nutzen eine [Distribution von Cedric Ziel](https://github.com/cedricziel/typo3-find-distribution), die TYPO3 und die Erweiterung TYPO3-find beinhaltet. Die Installation erfolgt mit Hilfe des Tools Composer, das wir im ersten Schritt zusammen mit den anderen Paketen installiert haben. + +Geben Sie folgende Befehle ins Terminal ein: + +``` +cd /var/www/ +sudo composer create-project cedricziel/typo3-find-distribution katalog dev-master +cd katalog +sudo chown www-data:www-data -R web +sudo touch web/FIRST_INSTALL +sudo sh -c 'echo " + DocumentRoot /var/www/katalog/web + ServerName katalog + Options -Indexes + DirectoryIndex index.php index.html +" > /etc/apache2/sites-available/katalog.conf' +sudo a2ensite katalog.conf +sudo a2dissite 000-default.conf +sudo service apache2 reload +``` + +## Konfiguration von TYPO3 mit dem Installationsassistent + +Nach der Installation erreichen Sie TYPO3 unter der Adresse http://localhost. Dort treffen Sie zunächst auf den Installationsassistenten. +* In Schritt 2 muss als Username ```typo3_db_user``` und das von Ihnen für den Nutzer typo3_db_user gesetzte Passwort (secretpassword) eingetragen werden. +* In Schritt 3 wählen Sie "use an existing empty database" +* In Schritt 4 müssen Sie einen weiteren Account anlegen, diesmal für die Administration von TYPO3. Notieren Sie sich Benutzername und Passwort. +* Wählen Sie in Schritt 5 die Option ```Yes, create a base empty page to start from.``` diff --git a/linux-kommandozeile/arbeiten-mit-der-kommandozeile.md b/linux-kommandozeile/arbeiten-mit-der-kommandozeile.md deleted file mode 100644 index e69de29..0000000 diff --git a/linux-kommandozeile/beispieldaten-laden-und-ansehen.md b/linux-kommandozeile/beispieldaten-laden-und-ansehen.md deleted file mode 100644 index e69de29..0000000 diff --git a/marcedit/abfrage-von-schnittstellen.md b/marcedit/abfrage-von-schnittstellen.md deleted file mode 100644 index e69de29..0000000 diff --git a/marcedit/installation-von-marcedit.md b/marcedit/installation-von-marcedit.md index e69de29..934f827 100644 --- a/marcedit/installation-von-marcedit.md +++ b/marcedit/installation-von-marcedit.md @@ -0,0 +1,37 @@ +# Installation von MarcEdit + +## MarcEdit herunterladen und entpacken + +``` +wget http://marcedit.reeset.net/software/marcedit.bin.zip +unzip marcedit.bin.zip +``` + +## Benötigte Programmbibliotheken installieren + +``` +sudo sh -c 'echo "deb http://ftp.indexdata.dk/ubuntu xenial main +deb-src http://ftp.indexdata.dk/ubuntu xenial main" >> /etc/apt/sources.list' +wget http://ftp.indexdata.dk/debian/indexdata.asc +sudo apt-key add indexdata.asc +sudo apt-get install mono-complete zlibc libyaz5 libyaz5-dev +``` + +## Konfiguration von MarcEdit anpassen + +``` +echo " +- + + + +" > ~/marcedit/Zoom.Net.YazSharp.dll.config +``` + +## MarcEdit starten + +``` +mono ~/marcedit/MarcEdit.exe +``` + +Beim ersten Start muss noch im Menü ```Locations``` der Pfad zur Programmbibliothek Mono (```Mono Path```) angegeben werden: ```/usr/bin/mono``` diff --git a/marcedit/verwendung-mit-openrefine.md b/marcedit/verwendung-mit-openrefine.md index e69de29..87a4242 100644 --- a/marcedit/verwendung-mit-openrefine.md +++ b/marcedit/verwendung-mit-openrefine.md @@ -0,0 +1,9 @@ +# Verwendung mit OpenRefine + +Der Entwickler von MarcEdit hat Anfang 2016 eine Export- und Importmöglichkeit für den Datenaustausch mit OpenRefine geschaffen. Er erklärt die Funktion ausführlich in seinem Blog: + +Terry Reese (16.1.2016): [MarcEdit and OpenRefine](http://blog.reeset.net/archives/1873). In: Terry's Worklog. + +Die [Übersetzung von Google Translate](https://translate.google.com/translate?hl=de&sl=en&tl=de&u=http%3A%2F%2Fprogramminghistorian.org%2Flessons%2Fcleaning-data-with-openrefine) ist brauchbar. + +Wir nutzen die Konvertierungsfunktionen von MarcEdit in dieser Summerschool, um MARC21-Binärformat in TSV zu konvertieren. diff --git a/metadatenformate-und-schnittstellen.md b/metadatenformate-und-schnittstellen.md index e69de29..e2d63a6 100644 --- a/metadatenformate-und-schnittstellen.md +++ b/metadatenformate-und-schnittstellen.md @@ -0,0 +1,22 @@ +# Metadatenformate und -standards + +## Präsentation Kirsten Jeude (2013) + +http://www.slideshare.net/suvanni/auf-du-und-du-mit-dublin-core-co-berufsfeld-metadatenmanagement-im-kontext-der-bibliothek-der-zukunft + +[![Screenshot Präsentation Kirsten Jeude](images/screenshot-jeude-2013.png)](http://www.slideshare.net/suvanni/auf-du-und-du-mit-dublin-core-co-berufsfeld-metadatenmanagement-im-kontext-der-bibliothek-der-zukunft) + +## Interview mit Kirsten Jeude +ZBW Podcast: ["Kirsten Jeude - Die Datenübersetzerin"](https://www.youtube.com/watch?v=YwbRTDvt_sA) + +## Kernpunkte + +* Es gibt viele verschiedene Definitionen für Metadaten, je nach Perspektive (z.B. der IT, der KatalogbastlerInnen, der BibliothekarInnen usw.). Grundsätzlich sind es (vgl. Folie 13) **strukturierte "Daten über Daten"**, also eine formale Beschreibung einer Vielzahl von Dingen (Texte, Bilder, Objekte, Personen, usw.). Metadaten sollen u.a. das Auffinden, Identifizieren, Auswählen und den Zugang zu einer Ressource erleichtern. Metadaten können getrennt vom beschriebenen Objekt in einer separaten Datei gespeichert oder in das Objekt eingebettet sein. Bilddateien wie JPG enthalten zum Beispiel eingebettete Metadaten (Aufnahmedatum, Auflösung usw.). +* Da die Anforderungen an Metadaten kontextabhängig sind, gibt es eine Vielzahl an Standards, die sich entwickelt haben. Beispiele im Bibliothekswesen sind **PICA, MODS, DC, MAB, MARC21, METS, EAD, TEI, LIDO** (vgl. Folie 44). Diese Standards können technisch in verschiedenen Formaten (Text, XML) umgesetzt werden. Die Regeln der Standards werden oft in einem **Schema** dokumentiert, mit dem sich prüfen lässt, ob eine Datei (technisch) standardkonform ist. Wenn eine Anwendung genauere Festlegungen treffen will oder gar Elemente aus verschiedenen Standards kombiniert werden sollen, dann wird dies in einem **Anwendungsprofil** festgelegt (vgl. Folie 59). +* Um Metadaten aus verschiedenen Quellen zusammenzuführen, ist meist ein "Übersetzen" der Daten aus verschiedenen Quellschemas (MARC21, PICA) in ein einheitliches Zielschema notwendig. Dieser Prozess wird **Mapping (oder auch "Crosswalk")** genannt. Dabei gehen je nach Schema mehr oder weniger Informationen verloren. Es gibt Standard-Crosswalks zwischen Metadatenstandards, die als Grundlage dienen können. Da aber jede Einrichtung die Daten etwas anders erfasst (ist ja nur menschlich), lohnt es sich immer in die Daten zu schauen, wie die einzelnen Metadatenfelder wirklich befüllt sind. Die meisten Mappings werden daher teils auf Basis von Standard-Crosswalks, teils auf Basis von Beispieldaten erstellt (zu Problemen beim "Mapping in der Praxis" vgl. die Folien 70ff). +* Für den Austausch von Metadaten gibt es **Schnittstellen wie Z39.50, SRU oder OAI-PMH** (vgl. Folie 86ff). + +## Literatur +* Wikipedia zu Metadaten: https://de.wikipedia.org/wiki/Metadaten +* Onlinetutorial "Einführung in Metadaten und Metadatenformate" von Claudia Effenberger und Stefanie Rühle: http://moodle.dnb.de/course/view.php?id=14 +* Kleines Handbuch der DINI AG KIM: http://www.kim-forum.org/Subsites/kim/DE/Materialien/Handbuch/handbuch_node.html diff --git a/openrefine/allgemeines-tutorial.md b/openrefine/allgemeines-tutorial.md index e69de29..653c12c 100644 --- a/openrefine/allgemeines-tutorial.md +++ b/openrefine/allgemeines-tutorial.md @@ -0,0 +1,11 @@ +# Allgemeines Tutorial + +Für OpenRefine gibt es eine riesige Fülle von Tutorials, die den Einstieg erleichtern. Um die Funktionsweise kennenzulernen, ist es am einfachsten eins dieser Tutorials durchzuarbeiten. + +Wir bearbeiten das folgende Tutorial: + +Seth van Hooland , Ruben Verborgh and Max De Wilde , "Cleaning Data with OpenRefine," Programming Historian, (2013-08-05), http://programminghistorian.org/lessons/cleaning-data-with-openrefine + +Die [Übersetzung von Google Translate](https://translate.google.com/translate?hl=de&sl=en&tl=de&u=http%3A%2F%2Fprogramminghistorian.org%2Flessons%2Fcleaning-data-with-openrefine) ist ganz brauchbar. + +Die im Tutorial benannte Ausgangsdatei ```phm-collection.tsv``` ist unter folgender Adresse erreichbar: http://data.freeyourmetadata.org/powerhouse-museum/phm-collection.tsv diff --git a/openrefine/automatisierung.md b/openrefine/automatisierung.md index e69de29..79187c0 100644 --- a/openrefine/automatisierung.md +++ b/openrefine/automatisierung.md @@ -0,0 +1,47 @@ +# Automatisierung + +Die Systemarchitektur von OpenRefine macht es möglich, die Anwendung nicht nur über die grafische Oberfläche, sondern auch über eine API "fernzusteuern". Für die [HTTP-API von OpenRefine](https://github.com/OpenRefine/OpenRefine/wiki/OpenRefine-API) gibt es Clients in den Programmiersprachen Python, Ruby, node.js, PHP und für R. Am ausgereiftesten ist der [Python-Client von Paul Makepeace](https://github.com/PaulMakepeace/refine-client-py/). + +Darauf aufbauend habe ich ein Shell-Script geschrieben, das gespeicherte Transformationsregeln auf eine Vielzahl von Dateien anwenden kann. Es lädt sich alle benötigten Komponenten wie beispielsweise den Python-Client automatisch aus dem Internet. Die zu verarbeitenden Daten und die Transformationsregeln (als JSON-Dateien) müssen vorab in Dateiordnern bereitgestellt werden. Das Script ist bei GitHub frei verfügbar: [felixlohmeier/openrefine-batch](https://github.com/felixlohmeier/openrefine-batch). + +## Transformationshistorie + +OpenRefine verfügt über hilfreiche Undo/Redo-Funktionen, mit denen Sie auch alle bisher in einem Projekt durchgeführten Transformationsregeln speichern und auf ein anderes Projekt anwenden können. + +Transformationsregeln extrahieren (altes Projekt): + +* {%s%}Oben links Menü Undo / Redo den Button Extract... drücken{%ends%} +* {%s%}Alles im rechten Textfeld in die Zwischenablage kopieren (z.B. mit STRG+A und STRG+C){%ends%} + +Transformationsregeln anwenden (neues Projekt): + +* Neues Projekt erstellen +* {%s%}Oben links Menü Undo / Redo den Button Apply... drücken{%ends%} +* {%s%}Den Inhalt der Zwischenablage einfügen (z.B. mit STRG+V) und den Button Perform Operations drücken.{%ends%} + +## Download des Shell-Scripts openrefine-batch + +* Falls OpenRefine im Terminal noch läuft, beenden Sie es durch die Tastenkombination ```STRG```+```C```. +* Geben Sie im Terminal folgende Befehle ein: + +``` +wget https://github.com/felixlohmeier/openrefine-batch/archive/master.zip +unzip master.zip +cd openrefine-batch-master +chmod +x openrefine-batch.sh +``` + +## Tutorial aus dem vorigen Kapitel automatisiert bearbeiten + +In dem Download sind die Daten aus dem Tutorial enthalten. Wenn Sie mögen, können Sie die JSON-Datei im Ordner examples/powerhouse-museum/config/ durch Ihre eigene Transformationshistorie ersetzen. + +``` +./openrefine-batch.sh \ +-a examples/powerhouse-museum/input/ \ +-b examples/powerhouse-museum/config/ \ +-c examples/powerhouse-museum/output/ \ +-f tsv \ +-i processQuotes=false \ +-i guessCellValueTypes=true \ +-RX +``` diff --git a/openrefine/installation-von-openrefine.md b/openrefine/installation-von-openrefine.md index e69de29..bc8bd9b 100644 --- a/openrefine/installation-von-openrefine.md +++ b/openrefine/installation-von-openrefine.md @@ -0,0 +1,53 @@ +# Installation von OpenRefine + +[OpenRefine](http://www.openrefine.org) bietet eine grafische Oberfläche zur Analyse und Transformation von Daten, die ähnlich wie eine klassische Tabellenverarbeitungssoftware (MS Excel, LibreOffice Calc, usw.) aufgebaut ist. Wir verwenden diese Software in der Summerschool um die Beispieldaten zu manipulieren und in ein passendes Format für den Suchmaschinenindex zu transformieren. + +Dem [Repository bei GitHub](https://github.com/OpenRefine/OpenRefine/graphs/contributors) ist zu entnehmen, wer wann zur Entwicklung der Software beigetragen hat. + +## OpenRefine herunterladen und entpacken + +Auf der Webseite von OpenRefine werden verschiedene Varianten zum [Download](http://openrefine.org/download.html) angeboten. Wir laden die neueste Version (Stand 15.5.2017: OpenRefine 2.7-rc2) für das Betriebssystem Linux. Die Installationsanleitung auf der Webseite ist simpel: "Download, extract, then type ./refine to start." + +Wir erledigen dies wieder mit der Kommandozeile (MATE-Terminal): +* Download: ```wget https://github.com/OpenRefine/OpenRefine/releases/download/2.7-rc.2/openrefine-linux-2.7-rc.2.tar.gz``` +* Extract (entpacken): ```tar -xzf openrefine-linux-2.7-rc.2.tar.gz``` + +Im Ordner ```openrefine-2.7-rc.2``` finden Sie jetzt das Programm OpenRefine. + +Als Standardeinstellung verwendet OpenRefine maximal 1400M Arbeitsspeicher. Wir wollen auch größere Dateien verarbeiten und setzen daher gleich das Limit hoch. Die Einstellung ist in der Datei ```refine.ini``` mit einem Texteditor vorzunehmen oder mit folgendem Befehl auf der Kommandozeile: + +``` +sed -i 's/REFINE_MEMORY=1400M/REFINE_MEMORY=3000M/' ~/openrefine-2.7-rc.2/refine.ini +``` + +## OpenRefine starten + +``` +~/openrefine-2.7-rc.2/refine +``` + +Die Tilde (```~```) ist ein Kürzel für ihr Benutzerverzeichnis. Dieser Befehl funktioniert immer, egal in welchem Verzeichnis Sie sich gerade befinden. Wenn Sie sich im Ordner von OpenRefine befinden (```cd ~/openrefine-2.7-rc.2```) reicht ein simples ```refine``` + +Ist der Startvorgang erfolgreich, dann öffnet sich der Browser (Firefox) automatisch und Sie bekommen das Programm direkt angezeigt. OpenRefine ist in der Standardeinstellung unter der IP-Adresse http://127.0.0.1:3333 erreichbar. + +Rufen Sie den Menüpunkt "Open Project" auf und klicken Sie ganz unten auf den Link "Browse workspace directory". Es öffnet sich der Ordner, in dem OpenRefine die Daten speichert. In der Standardkonfiguration unter Linux ist dies das Verzeichnis ```~/.local/share/openrefine``` + +### OpenRefine beenden + +OpenRefine ist nur solange verfügbar, wie der oben verwendete Befehl in der Kommandozeile läuft. + +1. Beenden Sie OpenRefine mit ```STRG``` und ```C``` auf der Kommandozeile. Der Browser schließt sich automatisch. +2. Starten Sie OpenRefine erneut, indem Sie auf der Kommandozeile mit der ```Pfeiltaste nach oben``` den vorigen Befehl auswählen und mit ```Enter``` ausführen. + +Auf der Kommandozeile können Sie übrigens mitverfolgen, wie der Browser und OpenRefine miteinander kommunizieren. Beim Aufruf von OpenRefine im Browser erscheinen beispielsweise die folgenden POST und GET Befehle in der Kommandozeile: + +``` +15:10:34.819 [ refine] POST /command/core/load-language (19332ms) +15:10:34.940 [ refine] POST /command/core/load-language (121ms) +15:10:35.223 [ refine] POST /command/core/get-importing-configuration (283ms) +15:10:35.509 [ refine] GET /command/core/get-all-project-metadata (286ms) +15:10:35.632 [ refine] GET /command/core/get-languages (123ms) +15:10:35.721 [ refine] GET /command/core/get-version (89ms) +``` + +Doch dazu später mehr. diff --git a/openrefine/verarbeitung-von-bibliothekarischen-metadaten.md b/openrefine/verarbeitung-von-bibliothekarischen-metadaten.md index e69de29..d748a2e 100644 --- a/openrefine/verarbeitung-von-bibliothekarischen-metadaten.md +++ b/openrefine/verarbeitung-von-bibliothekarischen-metadaten.md @@ -0,0 +1,8 @@ +# Verarbeitung von bibliothekarischen Metadaten + +Ein möglicher Weg zum Laden von Metadaten in den Suchindex Solr ist die Transformation der bibliothekarischen Metadaten in eine klassische Tabellenstruktur: +* Spaltenüberschriften wie Felder im Suchindex +* Mehrfachbelegung mit Trennzeichen +* Export in CSV/TSV + +OpenRefine ist ein generisches Werkzeug und kennt den MARC-Standard nicht. MARCXML kann allgemein als XML geladen werden, aber binäres MARC-Format kann OpenRefine nicht laden. Daher ist es sinnvoll für die Verarbeitung von Daten im Format MARC21 die zusätzliche Software MarcEdit zu verwenden. diff --git a/suchindex-solr/daten-in-solr-laden.md b/suchindex-solr/daten-in-solr-laden.md index e69de29..50345ec 100644 --- a/suchindex-solr/daten-in-solr-laden.md +++ b/suchindex-solr/daten-in-solr-laden.md @@ -0,0 +1,50 @@ +# TSV-Dateien in Solr laden + +## Konfiguration neu einlesen + +* Menü "Core Admin" aufrufen: http://localhost:8983/solr/#/~cores/gettingstarted +* Button "Reload" drücken + +## Index leeren (im Terminal) + +Der folgende Befehl löscht alle Daten im Index ```gettingstarted``` + +``` +curl "http://localhost:8983/solr/gettingstarted/update?commit=true&stream.body=%3Cdelete%3E%3Cquery%3E*%3A*%3C/query%3E%3C/delete%3E" +``` + +## Daten laden (im Terminal) + +Der folgende Befehl indexiert die Daten aus der Datei ```test.tsv```. Der Befehl ist so lang, weil Solr mitgeteilt werden muss, welche Felder mehrfachbelegt sind und mit welchem Zeichen diese getrennt sind. + +``` +curl "http://localhost:8983/solr/gettingstarted/update/csv?commit=true&separator=%09&f.title.split=true&f.title.separator=%E2%90%9F" --data-binary @test.tsv -H 'Content-type:text/plain; charset=utf-8' +``` + +Weitere mehrfachbelegte Felder ergänzen Sie, indem Sie vor dem zweiten Anführungszeichen einen weiteren Teil wie folgt anfügen: +``` +&f.year.split=true&f.year.separator=%E2%90%9F +``` + +Beispiel: +``` +curl "http://localhost:8983/solr/gettingstarted/update/csv?commit=true&separator=%09&f.title.split=true&f.title.separator=%E2%90%9F&f.year.split=true&f.year.separator=%E2%90%9F" --data-binary @test.tsv -H 'Content-type:text/plain; charset=utf-8' +``` + + +## Prüfen Sie das Ergebnis + +Rufen Sie die Browsing-Oberfläche auf (http://localhost:8983/solr/gettingstarted/browse). Machen Sie ein paar Beispielsuchen, um sicherzugehen, dass die Daten richtig indexiert wurden. + +## Solr beenden und starten + +Solr wurde als Prozess gestartet, der bis zum nächsten Neustart des Rechners weiterläuft. Sie können Solr jederzeit manuell beenden und starten: + +* Solr beenden:```~/solr-6.5.0/bin/solr stop``` +* Solr starten:```~/solr-6.5.0/bin/solr start -s ~/solr-6.5.0/example/schemaless/solr``` + +Etwa 15-30 Sekunden nach dem Startbefehl sollte die Administrations- und die Browsingoberfläche unter den gewohnten Adressen erreichbar sein. + +## Literatur + +* [Offizielle Anleitung zum Einspielen von CSV-Daten](https://wiki.apache.org/solr/UpdateCSV#Updating_a_Solr_Index_with_CSV) diff --git a/suchindex-solr/installation-von-solr.md b/suchindex-solr/installation-von-solr.md index e69de29..e544a1b 100644 --- a/suchindex-solr/installation-von-solr.md +++ b/suchindex-solr/installation-von-solr.md @@ -0,0 +1,37 @@ +# Installation von Solr + +## Installation + +* Geben Sie im Terminal folgende Befehle ein: + +``` +wget http://archive.apache.org/dist/lucene/solr/6.5.0/solr-6.5.0.tgz +tar zxf solr-6.5.0.tgz +``` + +siehe auch: [Offizielle Installationsanleitung](https://cwiki.apache.org/confluence/display/solr/Installing+Solr) + + +## Solr mit Beispielkonfiguration starten + +* Geben Sie im Terminal folgenden Befehl ein, um Solr mit der Beispielkonfiguration "schemaless" zu starten: + +``` +~/solr-6.5.0/bin/solr -e schemaless +``` + +* Laden Sie anschließend ein paar mitgelieferte Beispieldaten, damit in der integrierten Suchoberfläche schon einmal etwas zu sehen ist: + +``` +~/solr-6.5.0/bin/post -c gettingstarted ~/solr-6.5.0/example/exampledocs/books.csv +``` + +siehe auch: [Offizielle Anleitung "Running Solr"](https://cwiki.apache.org/confluence/display/solr/Running+Solr) + + +## Administrationsoberfläche + +Nach einer kurzen Wartezeit (max. 1 Minute) sollten folgende Oberflächen im Browser (nur innerhalb der virtuellen Maschine! Menü Anwendungen/Internet/Firefox Web Browser) erreichbar sein: + +* Administrationsoberfläche: http://localhost:8983/ +* Integrierte Suchoberfläche: http://localhost:8983/solr/gettingstarted/browse diff --git a/suchindex-solr/konfiguration-des-schemas.md b/suchindex-solr/konfiguration-des-schemas.md index e69de29..6d54dfe 100644 --- a/suchindex-solr/konfiguration-des-schemas.md +++ b/suchindex-solr/konfiguration-des-schemas.md @@ -0,0 +1,16 @@ +# Konfiguration des Solr Schemas + +Ab Solr Version 6.0 ist das sogenannte "managed schema" (auch "schemaless mode" genannt) voreingestellt. Solr analysiert bei der Indexierung die Daten und versucht das Schema selbst zu generieren. Felder können aber weiterhin zusätzlich manuell definiert werden. + +## Schema über Admin-Oberfläche konfigurieren + +* Admin-Oberfläche aufrufen. Im Menü "Core Selector" den Index "gettingstarted" auswählen. Dann im zweiten Menü "Schema" aufrufen. Direktlink: http://localhost:8983/solr/#/gettingstarted/schema +* Button "Add Field" drücken +* Name eingeben (Groß- und Kleinschreibung ist wichtig) +* Einen ```field type``` (z.B. string) auswählen +* ggf. ```multivalued``` markieren. + +## Literatur + +* [Einführungsartikel zu "Managed Schema"](https://support.lucidworks.com/hc/en-us/articles/221618187-What-is-Managed-Schema-) +* [Einführungsartikel zur Definition von Feldern im Schema](http://www.solrtutorial.com/schema-xml.html)