initial commit Herbstsemester 2020

This commit is contained in:
Felix Lohmeier 2020-09-14 17:51:42 +02:00
parent 9f4d161b6c
commit c0f730fa62
25 changed files with 58 additions and 1439 deletions

View File

@ -1,276 +1,7 @@
# Technische Grundlagen
* Schaubild zu Lehrinhalten
* Einrichtung der Arbeitsumgebung (Linux)
* Grundlagen der Unix Shell
* Versionskontrolle mit Git
Note:
- Den heutigen Tag werden wir vor allem mit allgemeinen technischen Grundlagen verbringen.
- Als Arbeitsumgebung verwenden wir ein Linux-Betriebssystem auf einer virtuellen Maschine. Im [vorigen Semester](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/releases/tag/v1.0) wurden im Kurs BAIN die virtuellen Maschinen lokal auf den Laptops der Studierenden mit [VirtualBox](https://www.virtualbox.org) installiert. Dabei treten aber in 1-2 von 10 Fällen Probleme in Verbindung mit BIOS/UEFI-Einstellungen, Sicherheitsfeatures und teilweise vorinstallierten Windows-Services (Hyper-V) auf.
- Die Unix Shell werden wir im Kurs öfter für Installation und Konfiguration der Software verwenden. Daher beginnen wir hier mit einer Wiederholung der wichtigsten Kommandos, damit uns das später leichter fällt.
- Durch die Plattform GitHub, auf der Informatiker\*innen Ihren Quellcode ablegen, ist das Versionskontrollsystem Git sehr populär geworden. Es ist nicht nur für die Entwicklung von Software, sondern generell für die Zusammenarbeit in Projekten extrem hilfreich.
- Die Übungen zu Unix Shell und Git basieren auf den Lehrmaterialien von [Library Carpentry](https://librarycarpentry.org/). Wer von Ihnen hat davon schon einmal gehört? Ggf. Lessons auf der Webseite zeigen.
## Einrichtung der Arbeitsumgebung (Linux)
* Wir verwenden virtuelle Maschinen der Cloud-Plattform Microsoft Azure.
* Auf den virtuellen Maschinen ist das Linux-Betriebssystem [Ubuntu 19.10 Server](https://wiki.ubuntu.com/EoanErmine/ReleaseNotes) mit der Oberfläche [XFCE](https://www.xfce.org) installiert.
* Sie erhalten alle eine eigene virtuelle Maschine, die Sie auch "kaputtspielen" dürfen.
Note:
- Normalerweise werden Linux-Server aus Sicherheitsgründen ohne grafische Oberfläche administriert, also nur über die Kommandozeile. Wir verwenden hier XFCE (extra leichtgewichtig, es gibt hübschere Linux-Desktops...), um den Einstieg zu erleichtern.
- "Kaputtspielen" bedeutet, dass die virtuelle Maschine einfach von mir auf den Ausgangszustand zurückgesetzt werden kann, wenn etwas schief geht. Scheuen Sie sich also nicht davor etwas auszuprobieren.
- Ausschlaggebende Gründe für Verwendung von [Microsoft Azure Lab Services](https://azure.microsoft.com/de-de/services/lab-services/) gegenüber anderen Plattformen:
- Studierende müssen nur wenig Daten preisgeben (Microsoft-Konto, aber keine Zahlungsdaten)
- Studierende können virtuelle Maschinen über eine einfach gehaltene Oberfläche selbst starten und stoppen.
- Kosten entstehen nur für tatsächlich genutzte Zeit und nicht im ausgeschalteten Zustand.
- Anleitung für Lehrende: [Azure Lab einrichten](https://bain.felixlohmeier.de/#/azure-lab-einrichten)
### Registrierung im Lab
* Sie erhalten jetzt einen Registrierungslink an Ihre E-Mail-Adresse.
* Nach Login unter <https://labs.azure.com> sollte es so ähnlich aussehen:
![Screenshot Azure Lab Services - Meine virtuellen Computer](images/01_azure-vms.png)
Note:
- Memo für Lehrende: Jetzt in Azure Lab Services einloggen, alle VMs starten und Registrierungslinks versenden.
- Es ist erforderlich, dass Sie im Zuge der Registrierung ein persönliches Microsoft-Konto einrichten oder ihre E-Mail-Adresse mit einem vorhandenen persönlichen Microsoft-Konto verbinden. Das lässt sich leider nicht vermeiden. Es müssen dabei E-Mail, Name und Geburtsdatum angegeben werden.
- Falls Sie nach dem Login erneut auf der Startseite der Lab Services landen:
* Abmelden
* Browser schließen
* Browser neu starten
* Seite <https://labs.azure.com> aufrufen und erneut anmelden.
### Verbindung mit der VM
* Nachdem die Virtuelle Maschine (VM) gestartet wurde (2-3 Minuten), können Sie über das kleine Bildschirm-Symbol die Zugangsdaten für Remote Desktop (RDP) laden.
* Beim ersten Aufruf müssen Sie ein Passwort vergeben.
* RDP-Datei öffnen mit:
* Windows: Remote Desktop (vorinstalliert)
* macOS: [Microsoft Remote Desktop 10](https://apps.apple.com/de/app/microsoft-remote-desktop-10/id1295203466) (siehe auch [Anleitung von Microsoft für macOS](https://docs.microsoft.com/de-de/azure/lab-services/classroom-labs/how-to-use-classroom-lab#connect-to-a-vm-using-rdp-on-a-mac))
* Linux: [Remmina](https://remmina.org/)
Note:
- Während der Unterrichtszeiten starte und stoppe ich die VMs zentral.
- Bei der Verbindung von Zuhause denken Sie bitte daran, die Maschine nach der Verwendung zu stoppen, damit keine unnötigen Kosten anfallen.
- Das Passwort können Sie über das Zusatzmenü (drei kleine Punkte) jederzeit neu setzen.
### Login (Linux)
![Screenshot Azure Lab Services - Meine virtuellen Computer](images/01_login.png)
Note:
- Benutzername: `bain`
- Passwort: (haben Sie beim ersten Start festgelegt)
### Orientierung (Linux)
![Screenshot Ubuntu XFCE](images/01_ubuntu_xfce.png)
Note:
- Ubuntu Server 19.10 mit XFCE
- Benötigte Programme unten im Dock:
1. Terminal
2. Dateimanager (ähnlich Windows Explorer)
3. Firefox-Browser
4. Texteditor "Mousepad" (ähnlich Windows Notepad)
- Herunterfahren über die Azure Labs Oberfläche unter <https://labs.azure.com> (ein `sudo poweroff` im Terminal reicht nicht aus)
## Grundlagen der Unix Shell
* Wird benötigt zur Administration von Servern
* Ist aber auch zur Automatisierung von kleineren Aufgaben beliebt (Shell-Scripte)
* Mit der Unix Shell lässt sich sogar "Text Mining" betreiben (dazu später eine kleine Übung)
### Download Materialien
1. In das Home-Verzeichnis wechseln
```shell
cd
```
2. Archiv shell-lesson.zip von Library Carpentry herunterladen
```shell
wget https://librarycarpentry.org/lc-shell/data/shell-lesson.zip
```
3. Archiv in den Ordner shell-lesson entpacken und Archiv löschen
```shell
unzip shell-lesson.zip -d shell-lesson
rm shell-lesson.zip
```
### Übungen
Bitte bearbeiten Sie zur Auffrischung Ihrer Shell-Kenntnisse die Kapitel 2 und 3 der Library Carpentry Lesson:
* Kapitel 2: <https://librarycarpentry.org/lc-shell/02-navigating-the-filesystem/>
* Kapitel 3: <https://librarycarpentry.org/lc-shell/03-working-with-files-and-folders/>
### Tipps
* Nutzen Sie immer die Tab-Taste für die Autovervollständigung
* Seien Sie faul, verwenden Sie Ihre persönliche Befehlshistorie (Pfeiltaste nach oben / Suche in der Historie mit `STRG`+`R`)
* Wichtig ist die Unterscheidung zwischen Programm (`ls`) und Parametern (`-l`).
* Nutzen Sie Spickzettel für die wichtigsten Kommandos wie z.B. [Library Carpentry Reference](https://librarycarpentry.org/lc-shell/reference.html) oder [Cheatsheet für Shell-Scripte](https://devhints.io/bash)
Note:
- Alle Programme in der Unix Shell sind ähnlich aufgebaut. Wenn Sie das Grundprinzip mit der Unterscheidung von Programm und Parametern verinnerlicht haben, dann hilft Ihnen auch die integrierte Hilfe (`--help`) weiter.
### Redirects und Pipes
![Library Carpentry Illustration Redirects and Pipes](https://librarycarpentry.org/lc-shell/fig/redirects-and-pipes.png)
Note:
1. Bei einer normalen Eingabe landet das Ergebnis im Terminal. `wc` steht für "word count" und liefert mit dem Parameter `-l` die Anzahl der Zeilen. Die Angabe `*.tsv` bedeutet alle Dateien mit der Dateiendung "tsv".
2. Stattdessen kann das Ergebnis aber auch in eine Datei umgelenkt werden mit der spitzen Klammer `>`
3. Das Ergebnis eines Programms kann mit "Pipes" (`|`) direkt weiterverarbeitet werden. Welche Ausgabe erwarten Sie?
## Versionskontrolle mit Git
* Aus Zeitgründen schauen wir uns nur kurz gemeinsam einige Grundfunktionen von `git` an.
* Wenn Sie im Anschluss selbst üben möchten, bietet Library Carpentry dazu [ausführliche Lehrmaterialien](<https://librarycarpentry.org/lc-git/>)
### Wozu Git?
* Git ist eine Software zur Versionskontrolle
* Ermöglicht die Arbeit an Textdateien auf mehreren Computern und/oder mit mehreren Personen zu synchronisieren.
* Jede Änderung wird nachvollziehbar.
* Funktioniert mit allen Textdateien, also geeignet für Code, Plain Text oder auch Tabellen (CSV).
Note:
* Git wurde entwickelt für die gemeinsame Software-Entwicklung; heute gibt es weitere Anwendungsfälle (z.B. Texte, Präsentationen oder Forschungsdaten).
### Unterschied Git und GitHub
* Git kann zunächst auch lokal auf einem Computer verwendet werden.
* Wenn ein Git Repository im Netz bereitgestellt werden soll, braucht es eine Installation von git auf einem Webserver.
* Das kann man selber machen oder eine Plattform nutzen. Die bekannteste ist [GitHub](https://www.github.com).
Note:
- GitHub ist ein 2007 gegründetes Unternehmen, das 2018 aufgekauft wurde. Die meisten Dienstleistungen sind kostenfrei, aber das muss nicht unbedingt so bleiben. Es ist so erfolgreich, dass praktisch jedes Open-Source-Projekt dort seinen Code ablegt.
- Alternativen zu GitHub sind unter anderem [GitLab](https://gitlab.com), [BitBucket](https://bitbucket.org) oder auch das Urgestein [SourceForge](https://sourceforge.net).
- Viele Bibliotheken nutzen GitHub oder GitLab. Es gibt eine gemeinschaftlich gepflegte Liste [BibsOnGitHub](https://github.com/axel-klinger/BibsOnGitHub), auf der [Listen von Bibliotheken](https://axel-klinger.github.io/BibsOnGitHub/libraries.html) und [deren Repositorien](https://axel-klinger.github.io/BibsOnGitHub/repositories.html) eingesehen werden können.
### Vorführung Grundfunktionen
* Als Beispiel nutzen wir das GitHub Repository für diesen Kurs, in dem die Lehrmaterialien liegen: <https://github.com/felixlohmeier/bibliotheks-und-archivinformatik>
* Zur Vorführung machen wir jetzt Folgendes:
1. Die Dateien aus dem GitHub Repository herunterladen ("klonen")
2. Eine der Textdateien verändern
3. Die Änderung mit einer erläuternden Notiz hochladen
#### Repository klonen
```shell
git clone https://github.com/felixlohmeier/bibliotheks-und-archivinformatik.git
```
![Screenshot git clone](images/01_git-demo_1.png)
#### Änderung mit Texteditor
```shell
cd bibliotheks-und-archivinformatik
nano 01_technische-grundlagen.md
```
![Screenshot nano](images/01_git-demo_2.png)
Note:
* Beim Aufruf des Programms nano wird das Terminal zu einem Texteditor.
* Wir ergänzen eine Zeile in das leere Skript "Dies ist ein Test!"
* Speichern und Verlassen des Texteditors
* `STRG`+`X`
* `y` ("yes" zu "save modified buffer"?)
* Dateiname bestätigen zum Überschreiben der Datei
#### Änderung anzeigen
```shell
git diff
```
![Screenshot git diff](images/01_git-demo_3.png)
#### Lokaler Status
```shell
git status
```
![Screenshot git status](images/01_git-demo_4.png)
#### Datei zum Päckchen hinzufügen
```shell
git add 01_technische-grundlagen.md
git status
```
![Screenshot git add](images/01_git-demo_5.png)
#### Absender eintragen
```shell
git config user.email "mail@felixlohmeier.de"
git config user.name "Felix Lohmeier"
```
![Screenshot git config](images/01_git-demo_6.png)
Note:
* Es werden Schreibrechte für das Git Repository benötigt, um Änderungen direkt einbringen zu können. Die Authentifizierung erfolgt über die E-Mail-Adresse.
* Falls man keine Schreibrechte hat, kann man aber eine Kopie (Fork) erstellen, darein schreiben und anschließend einen sogenannten "Pull Request" stellen. Die Besitzerin des ursprünglichen Repositorys erhält dann eine Benachrichtigung und kann die Änderung übernehmen oder ablehnen. Das üben wir zum nächsten Termin.
#### Packzettel beilegen und Päckchen schließen
```shell
git commit -m "Test Päckchen"
```
![Screenshot git commit](images/01_git-demo_7.png)
#### Päckchen abschicken
```shell
git status
git push
```
![Screenshot git push](images/01_git-demo_8.png)
#### Ergebnis auf GitHub
[Das Päckchen ("commit") bei GitHub](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/commit/caa6dc8dd640e0d1df86780288f84e0c47b81bef)
![Screenshot GitHub](images/01_git-demo_9.png)
### Blog mit GitHub Pages
* Mit GitHub Pages lassen sich statische Webseiten direkt aus den Dateien im GitHub Repository generieren und auf Servern von GitHub kostenfrei veröffentlichen.
* GitHub verwendet dazu den (hauseigenen) Static-Site-Generator [Jekyll](https://help.github.com/en/github/working-with-github-pages/about-github-pages-and-jekyll).
* Die Software nimmt Markdown- und HTML-Dateien und generiert daraus eine komplette Webseite.
* Die Darstellung (Themes) lässt sich über eine Konfigurationsdatei einstellen.
* [Vorlage für ein Lerntagebuch mit GitHub Pages](https://github.com/felixlohmeier/lerntagebuch) (mit Schritt-für-Schritt-Anleitung)
* Siehe auch: [Interaktives Tutorial von GitHub](https://lab.github.com/githubtraining/github-pages)
### Übung: Pull Requests
**Aufgabe (10 Minuten):** Link zum Lerntagebuch im Skript ergänzen
1. Fork von Repository https://github.com/felixlohmeier/bibliotheks-und-archivinformatik erstellen ([Direktlink](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/fork ))
2. Datei `README.md` in Ihrem Fork bearbeiten und Link zu Ihrem Lerntagebuch in [Abschnitt "Lerntagebücher"](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/blob/master/README.md#lerntageb%C3%BCcher) ergänzen
3. Pull Request erstellen
Siehe auch: [Anleitung von GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
### Alternative zu GitHub: GitLab
* GitLab wird von einem kleinen Unternehmen entwickelt
* basiert ebenfalls auf der Software git
* Hat eine vergleichbare Funktion zu GitHub Pages: [GitLab Pages](https://docs.gitlab.com/ce/user/project/pages/)
* Kann auf einem eigenen Server installiert werden
* Vergleich von GitHub und GitLab: <https://www.heise.de/tipps-tricks/GitHub-vs-GitLab-4597154.html>
* Blog mit GitHub Pages

View File

@ -3,232 +3,3 @@
* Metadatenstandards in Bibliotheken (MARC21)
* Installation und Konfiguration von Koha
* Marktüberblick Bibliothekssysteme
## Metadatenstandards in Bibliotheken (MARC21)
* MARC21: International verbreiteter Metadaten-Standard, begründet von der Library of Congress 1999: <https://www.loc.gov/marc/bibliographic/>
* Hat ein [eigenes Binärformat](http://format.gbv.de/marc/iso) (.mrc), gibt's aber auch [als XML](http://format.gbv.de/marc/xml)
* wegen unterschiedlicher Katalogisierungsregeln und der Möglichkeit eigene Felder zu belegen, weicht die Verwendung international und auch nach Institution [stark vom vermeintlichen Standard ab](https://docs.google.com/presentation/d/e/2PACX-1vRU4J_rln00UVD7pNPT0_02NOad0HfSk_UKqRI0v29y8QkMAplEDlyjc0Ot_VE_paV6WBW29Fh_V-iN/pub?start=false&loop=false&delayms=3000#slide=id.g574306292a_0_35)
* wird zukünftig voraussichtlich von [BIBFRAME](http://format.gbv.de/bibframe), einem Datenmodell basierend auf [RDF](http://format.gbv.de/rdf), abgelöst
* Koha und alle anderen großen Bibliothekssysteme basieren auf MARC21 oder unterstützen es als Austauschformat
### Übung: Vergleich MARC21 und Dublin Core
* Dublin Core ist ein Standard, der als kleinster gemeinsamer Nenner gilt
* Als Beispiele nutzen wir den Katalog der Bibliothek der FH Graubünden
* Wir beziehen die Daten über die SRU-Schnittstelle von Swissbib (auf das Thema Schnittstellen und SRU gehen wir an einem anderen Tag noch ein)
**Aufgabe (15 Minuten):** Laden Sie über das Formular auf der Webseite http://sru.swissbib.ch Daten mit den folgenden Parametern einmal im Format MARC21 und einmal im Format Dublin Core und vergleichen Sie diese.
| Searchfield | value |
| ------------------------ | ------------- |
| dc.possessingInstitution | `E27` |
| dc.title | `open access` |
Note:
- Das Projekt Swissbib sammelt Metadaten aller schweizer Universitätsbibliotheken, der Nationalbibliothek und einiger Kantonsbibliotheken sowie weiterer Institutionen.
- Der gemeinsame Katalog ermöglicht eine übergreifende Suche, gleichzeitig bietet Swissbib auch Schnittstellen an, über welche Metadaten der teilnehmenden Institutionen zentral bezogen werden können.
- Siehe auch: [Dokumentation Swissbib SRU](http://www.swissbib.org/wiki/index.php?title=SRU)
## Installation und Konfiguration von Koha
### Einführung in Koha
* Webseite: <https://koha-community.org>
* Weltweites Open Source Projekt, gegründet 1999 in Neuseeland, heute mit Beteiligung von Unternehmen wie ByWater Solutions, Biblibre, Catalyst IT, PTFS Europe, Theke Solutions
* Status des Projekts: Siehe [Statistik bei Open Hub](https://www.openhub.net/p/koha)
#### Koha Dokumentation
* Professionelle Entwicklungsstrukturen, vgl. Dashboard: <https://dashboard.koha-community.org>
* Release Notes zur Version 19.11: <https://koha-community.org/koha-19-11-release/>
* Handbuch zur Version 19.11: [englisch](https://koha-community.org/manual/19.11/en/html/), [deutsch](http://koha-community.org/manual/19.11/de/html/index.html) (noch nicht vollständig übersetzt)
#### Koha Demo
* MARC21, Koha 19.11 bereitgestellt von schweizer Unternehmen "Admin Kuhn"
* [OPAC](http://koha.adminkuhn.ch/)
* [Staff Interface](http://koha.adminkuhn.ch:8080/) (Benutzername `demo` / Passwort `demo`)
### Installation von Koha 19.11
Die folgenden Befehle orientieren sich an der [offiziellen Installationsanleitung](http://wiki.koha-community.org/wiki/Debian).
#### Paketquellen für Koha registrieren
```shell
echo 'deb http://debian.koha-community.org/koha 19.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
wget -q -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
sudo apt-get update
```
#### Koha und die Datenbank MariaDB installieren
```shell
sudo apt install koha-common mariadb-server
```
#### Domain `meine-schule.org` für Koha konfigurieren
```shell
sudo sed -i 's/DOMAIN=".myDNSname.org"/DOMAIN=".meine-schule.org"/' /etc/koha/koha-sites.conf
```
#### Apache Konfiguration
```shell
sudo a2enmod rewrite
sudo a2enmod cgi
sudo service apache2 restart
```
#### Eine Bibliothek in Koha erstellen
```shell
sudo koha-create --create-db bibliothek
```
#### Deutsche Übersetzung für Koha installieren
```shell
sudo koha-translate --install de-DE
```
#### Host-Datei ergänzen
```shell
echo '# Koha
127.0.0.1 bibliothek.meine-schule.org
127.0.0.1 bibliothek-intra.meine-schule.org
' | sudo tee -a /etc/hosts
```
#### Befehl, um generiertes Passwort herauszufinden
```shell
sudo koha-passwd bibliothek
```
#### Fertig?
Wenn die Installation erfolgreich war, dann sollten Sie mit dem Browser auf dem virtuellen Server die Webseite http://bibliothek-intra.meine-schule.org aufrufen können. Dort sollte der Koha-Installationsassistent erscheinen.
### Grundkonfiguration mit Tutorial
Wir verwenden ein Tutorial von Stephan Tetzel, das auf deutsch und englisch verfügbar ist:
* Deutsch: <https://zefanjas.de/wie-man-koha-installiert-und-fuer-schulen-einrichtet-teil-1/>
* Englisch: <https://openschoolsolutions.org/how-to-install-and-set-up-koha-for-schools-part-1/>
**Aufgabe (45 Minuten)**: Bitte bearbeiten Sie das Tutorial, um die Grundkonfiguration von Koha vorzunehmen. Das Tutorial besteht aus 6 Kapiteln (die Links zu den weiteren Kapiteln sind immer am Anfang der Blogartikel):
1. Installation und Einrichtung einer ersten Bibliothek
* Die im Tutorial erwähnte Grundinstallation haben wir oben bereits durchgeführt. Bitte starten Sie in Kapitel 1 unter der Überschrift "Koha einrichten": <https://zefanjas.de/wie-man-koha-installiert-und-fuer-schulen-einrichtet-teil-1/>
2. Das bibliografische Framework
* Hier bitte nur lesen, den Export/Import nicht durchführen.
3. Grundeinstellungen
4. Buchaufnahme
5. Drucken von Etiketten
6. Ausleihkonditionen
### Übung: Manuelle Bedienung
**Aufgabe (15 Minuten)**: Damit Sie ein Gespür für das System erhalten, machen wir nun ein Minimalbeispiel für einen vereinfachten Bibliotheksworkflow:
1. Buch erfassen
2. Benutzer anlegen
3. Buch an Theke ausleihen
4. Buch an Theke zurücknehmen
Schauen Sie sich dabei auch ein wenig um, welche Optionen das Bibliothekssystem Koha bietet.
#### Buch erfassen
Start > Katalogisierung > Neuer Titel > Schnellaufnahme
1. Neuer Marc Datensatz: Pflichtfelder ausfüllen
* `000` und `008` werden automatisch befüllt beim Anklicken
* In `245a` muss ein Titel vergeben werden
2. Exemplar hinzufügen
* `p - Barcode` muss vergeben werden (sonst können wir später nicht ausleihen)
* Unten Button "Exemplar hinzufügen" nicht vergessen
#### Benutzer anlegen
* Start > Benutzer > Benutzer-Schnellerfassung
* Hinzufügen Benutzer: Name und Ausweisnummer vergeben
#### Buch an Theke ausleihen
* Oben im Suchschlitz Reiter Ausleihe wählen, Ausweisnummer eingeben und abschicken
* Dann in Box "Ausleihe an" den Exemplarbarcode eingeben und Ausleihe abschicken
#### Buch an Theke zurücknehmen
* Oben im Suchschlitz Reiter Rückgabe wählen, Barcode eingeben und abschicken
### Übung: Datenimport und Export
**Aufgabe (15 Minuten)**: Koha verfügt über einige Schnittstellen. Hier ein kleines Beispiel für semi-automatische Erfassung ("copy cataloging"):
1. Z39.50 Server einrichten
2. "Copy Cataloging"
3. Datenexport
#### Z39.50 Server einrichten
Start > Administration > Z39.50/SRU-Server / Neuer Z39.50-Server
* Servername: `NEBIS`
* Hostname: `opac.nebis.ch`
* Port: `9909`
* Ausgewählt (Standardsuche): ja
* Datenbank: `NEBIS`
* Syntax: `MARC21/USMARC`
* Codierung: `MARC-8`
#### "Copy Cataloging"
Start > Katalogisierung > Import über Z39.50/SRU
* Nach etwas suchen (z.B. Titel: `open educational resources`)
* Bei gewünschtem Eintrag Aktionen > Import auswählen (oder vorher Vorschau prüfen, ob es der richtige Titel ist).
* Im folgenden Katalogisierungsbildschirm können Sie versuchen zu speichern. Es muss aber auf jeden Fall noch der Medientyp in Feld `942c` ausgewählt werden (ein Pflichtfeld).
* Im nächsten Bildschirm einen Barcode vergeben und Exemplar hinzufügen.
#### Datenexport
Start > Werkzeuge > Datenexport
* Dateiformat: `XML`
* Dateiname: `koha.xml`
* Download speichern (landet im Ordner `/home/bain/Downloads`)
### Literatur
* Koha Anwenderhandbuch des Bibliothekservice-Zentrum Baden-Württemberg: <https://wiki.bsz-bw.de/doku.php?id=l-team:koha:koha-handbuch:start> (für ältere Versionen geschrieben)
* Felix Hemme (2016): Katalogisierung mit dem Open-Source-Bibliothekssystem Koha unter Berücksichtigung des Metadatenstandards MARC 21 und dem Regelwerk RDA. Bachelorarbeit im Studiengang Bibliotheksmanagement der FH Potsdam. <https://nbn-resolving.org/urn:nbn:de:kobv:525-13882>
* Implementation Checklist: <https://koha-community.org/manual/19.11/en/html/implementation_checklist.html>
* Fred King: How to use Koha, MarcEdit, a Raspberry Pi, and a Chicken (optional) to create an ILS for under $100 (September 2019, Vortrag auf Koha-Konferenz): <http://avengingchicken.online/misc/installing_koha_on_raspberry-pi-4.pdf>
## Marktüberblick Bibliothekssysteme
### Statistiken zum Markt USA/UK
* Marshall Breeding veröffentlicht jährlich im American Libraries Magazine den "Library Systems Report" und erfasst dafür regelmäßig Statistiken. Daran lässt sich die internationale Entwicklung der Produkte am ehesten ablesen.
* [Zusammenfassende Tabellen mit aktuellen Statistiken (2019)](https://americanlibrariesmagazine.org/wp-content/uploads/2019/04/2019-Library-Systems-Report-Tables-UPDATED.pdf)
* Vollständiger Bericht: Marshall Breeding (1.5.2019): Library Systems Report 2019. Cycles of innovation. In: American Libraries Magazine. <https://americanlibrariesmagazine.org/2019/05/01/library-systems-report-2019/>
### Aktuelle Entwicklungen
* Swiss Library Service Platform (SLSP) wird Alma (reines Cloud-Angebot, Server wird in Amsterdam stehen) einführen
* Größte Open-Source-Alternative in Entwicklung: [FOLIO](https://www.folio.org)
### Alma im Vergleich zu Aleph und Koha
* Eine Stärke von Alma ist das ERM (Electronic Resource Management). Aleph und Koha verfügen über kein integriertes ERM.
* Siehe dazu Vortrag von Katrin Fischer: [Koha und ERM - Optionen für die Verwaltung von elektronischen Ressourcen](https://nbn-resolving.org/urn:nbn:de:0290-opus4-35840) auf dem Bibliothekartag 2018.
* Alma ist auf dem aktuellsten Stand der Technik und bietet vorbildliche Programmierschnittstellen.
* Alma ist cloudbasiert, d.h. zentrale Installation auf Servern von Ex Libris und regelmäßige Updates.
* Kritiker befürchten langfristig Nachteile durch die Abhängigkeit vom Hersteller Ex Libris und dessen Marktmacht (Vendor-Lock-in).

View File

@ -1,294 +1,5 @@
# Funktion und Aufbau von Archivsystemen
* Metadatenstandards in Archiven (ISAD(G) und EAD) (45 Minuten)
* Installation und Konfiguration von ArchivesSpace (125 Minuten)
* Marktüberblick Archivsysteme (10 Minuten)
## Metadatenstandards in Archiven (ISAD(G) und EAD)
1. ISAD(G) (15 Minuten)
2. Übung Archivkataloge (20 Minuten)
3. EAD (5 Minuten)
4. Aktuelle Entwicklungen (5 Minuten)
### ISAD(G)
* Als digitale Archivsysteme entwickelt wurden, orientierte sich die Datenstruktur an analogen Findmitteln wie Findbüchern und Zettelkästen.
* Ein wichtiger Verzeichnungsstandard im Archivwesen wurde 1994 (Revision 2000) eingeführt, die "International Standard Archival Description (General)" - kurz [ISAD(G)](https://de.wikipedia.org/wiki/ISAD(G)).
* Grundsätzlich gibt es hier eine mehrstufige Verzeichnung im Provenienzprinzip, um den Entstehungszusammenhang abzubilden.
#### Informationsbereiche
Der Standard enthält 26 Verzeichnungselemente in 7 Informationsbereichen:
1. Identifikation
2. Kontext
3. Inhalt und innere Ordnung
4. Zugangs- und Benutzungsbedingungen
5. Sachverwandte Unterlagen
6. Anmerkungen
7. Kontrolle
#### Pflichtfelder
Von besonderer Bedeutung sind 6 Pflichtfelder:
* Signatur
* Titel
* Provenienz
* Entstehungszeitraum
* Umfang
* Verzeichnungsstufe
#### Grenzen von ISAD(G)
1. Ein einzelner Datensatz ist unter Umständen nur im Kontext verständlich (z. B. nur "Protokoll" als Titel).
2. Die Tektonik ist eindimensional (keine Mehrfachzuordnung möglich).
3. Der Standard enthält keine Vorgaben zur Digitalisierung oder zur digitalen Langzeitarchivierung.
#### Normdaten mit ISAD(G)
* Um Normdateien verzeichnen zu können, wurde später ein ergänzender Standard "International Standard Archival Authority Record for Corporate Bodies, Persons, and Families" - kurz [ISAAR(CPF)](https://de.wikipedia.org/wiki/ISAAR%28CPF%29) verabschiedet. Dieser wird in der Praxis wegen dem Zusatzaufwand bei der Erschließung jedoch nur selten verwendet.
* Aktuell ist ein neuer Standard ["Records in Contexts" (RIC)](https://de.wikipedia.org/wiki/Records_in_Contexts) in Entwicklung. Dieser basiert auf Linked-Data-Prinzipien und soll neue und mehrfache Beziehungen zwischen Entitäten ermöglichen.
Note:
* In den Archiven der ETH-Bibliothek ist wegen der Bibliothekszugehörigkeit die [GND](https://de.wikipedia.org/wiki/Gemeinsame_Normdatei)-ID von besonderer Bedeutung.
* Projektgruppe [ENSEMEN](https://vsa-aas.ch/arbeitsgruppen/projektgruppe-ensemen/) arbeitet an einer schweizerischen Ausprägung des neuen Standards [Records in Contexts](https://www.ica.org/en/records-contexts-german) (RiC), mit Beteiligung von Niklaus Stettler (FH Graubünden)
### Übung: Archivkataloge
**Aufgabe (20 Minuten):**
* Suchen Sie nach:
* `Einstein` im [Online Archivkatalog des Staatsarchivs BS](https://query.staatsarchiv.bs.ch/query/suchinfo.aspx)
* `Einstein Ehrat` im [Hochschularchiv ETH Zürich](http://archivdatenbank-online.ethz.ch/)
* Beantworten Sie die folgenden Fragen:
1. Welche Informationen enthält die Trefferliste?
2. Welche Verzeichnungsstufen sind vertreten?
3. Sind die ISAD(G)-Informationsbereiche erkennbar?
4. Decken sich die grundlegenden Informationen oder gibt es bemerkenswerte Unterschiede?
5. Worin liegen die zentralen Unterschiede zu einem Bibliothekskatalog?
* Zum Nachschlagen: [ISAD(G) Guidelines](https://www.ica.org/sites/default/files/CBPS_2000_Guidelines_ISAD%28G%29_Second-edition_DE.pdf)
### EAD
* [Encoded Archival Description](https://de.wikipedia.org/wiki/Encoded_Archival_Description) (EAD) ist ein XML-Standard
* Verschiedene Versionen: EAD2002 und EAD3 (August 2015 veröffentlicht)
* Lässt viele Wahlmöglichkeiten offen, daher gibt es oft Anwendungsprofile, die genauer spezifizieren welche Werte zugelassen sind.
* Anwendungsfälle: [Archives Portal Europa](https://www.archivesportaleurope.net/de/), [Archivportal-D](https://www.archivportal-d.de), [Kalliope](https://kalliope-verbund.info)
* Einführung: [Nicolas Moretto (2014): EAD und digitalisiertes Archivgut](https://wiki.dnb.de/download/attachments/90410326/20140414_KIMWS_EAD.pdf?version=1&modificationDate=1398246420000&api=v2). Präsentation auf dem [DINI AG KIM Workshop 2014](https://wiki.dnb.de/display/DINIAGKIM/KIM+WS+2014) in Mannheim.
Note:
* Wir werden später praktisch mit EAD-Dateien arbeiten, daher hier nur diese Kurzinfo.
* Die Präsentationsfolien von Nicolas Moretto geben einen guten Überblick über EAD2002.
* Liste der Elemente in EAD2002: https://eadiva.com/2/elements/
### Aktuelle Entwicklungen
* Umstieg von ISAD(G) auf RiC wird mit viel Aufwand verbunden sein, auch mit einem Systemwechsel.
* Generierung von mehr Volltexten u.a. durch Optical Character Recognition (OCR) auch für Handschriften. Automatisierte Anreicherung von Volltexten durch Named Entity Recognition.
* In Wikidata werden Online-Findmittel über Property [Archives at](https://www.wikidata.org/wiki/Property:P485) verzeichnet. Beispiel [Albert Einstein in Wikidata](https://www.wikidata.org/wiki/Q937).
* In der Schweiz gibt es eine Vernetzungsinitiative [Metagrid](https://metagrid.ch) und weitere Dienste von [histHub](https://histhub.ch), einer Forschungsplattform für die Historischen Wissenschaften.
* Literaturempfehlung: [Umfrage "Was sich Historiker\*innen von Archiven wünschen"](https://dhdhi.hypotheses.org/6107)
## Installation und Konfiguration von ArchivesSpace
1. Einführung in ArchivesSpace (10 Minuten)
2. Exkurs zur Systemadministration (5 Minuten)
3. Installation ArchivesSpace (30 Minuten)
4. Bedienung (45 Minuten)
5. Import und Export (30 Minuten)
6. Literatur zu ArchivesSpace (5 Minuten)
### Einführung in ArchivesSpace
* Open-Source-Software für Archivinformationssysteme
* 400 zahlende [Mitglieder](http://archivesspace.org/community/whos-using-archivesspace/), woraus fast 5 Vollzeitstellen finanziert werden.
* Code bei GitHub: <https://github.com/archivesspace/archivesspace>
* ArchivesSpace ist institutionell verankert bei [Lyrasis](https://en.wikipedia.org/wiki/Lyrasis), einem internationalen "nonprofit" Bibliotheksnetzwerk vorrangig aus den USA. Es gibt auch zwei weitere Unternehmen, die dazu professionellen Support anbieten.
#### Funktionen
"What ASpace does and how do we use it" ([aus Fortbildungsmaterialien der NYU](https://guides.nyu.edu/ld.php?content_id=23461999))
* System of record for archival materials. Not everything is public, or open to staff, nor is it intended to be.
* Perform core archival functions: accessioning, arrangement and description
* Aid in public services
* Record and report location holdings information; stacks management
* Manage digital objects
* Produce access tools
* Statistics gathering, prioritization, holistic planning
* Contribute to various interdepartmental processes (preservation and digitization)
#### Metadaten in ArchivesSpace
* basiert auf den Standards [DACS](https://en.wikipedia.org/wiki/Describing_Archives:_A_Content_Standard), ISAD(G) und ISAAR(CPF)
* unterstützt Import/Export in EAD, MARCXML und METS
### Exkurs zur Systemadministration
Wir haben auf unserem Server bereits Koha installiert. Gibt es Probleme wenn wir ArchivesSpace zusätzlich installieren?
* Es könnten Versions- oder Ressourcenkonflikte entstehen.
* Best Practice: Jedes System in einer eigenen Umgebung.
* Koha und ArchivesSpace vertragen sich aber zufällig gut, daher installieren wir hier ArchivesSpace einfach zusätzlich.
Note:
* Es könnte Konflikte geben, wenn die Systeme unterschiedliche Versionen der gleichen Programmiersprache (z.B. Java, PHP) oder der Datenbank (z.B. MySQL, PostgreSQL) benötigen. Es könnten auch die Ressourcen (insbesondere Arbeitsspeicher) knapp werden.
* Um den Wartungsaufwand zu reduzieren und Ressourcen zu sparen, werden üblicherwese virtuelle Maschinen oder Container eingesetzt.
### Installation ArchivesSpace
Wir werden nun ArchivesSpace auf den virtuellen Maschinen installieren.
1. Installation ArchivesSpace 2.7.1
2. Staff Interface aufrufen
3. Exkurs: Konfigurationsmöglichkeiten
4. Grundkonfiguration
#### Installation ArchivesSpace 2.7.1
1. Java 8 installieren
```bash
sudo apt update
sudo apt install openjdk-8-jre-headless
```
2. Zip-Archiv herunterladen und entpacken
```bash
wget https://github.com/archivesspace/archivesspace/releases/download/v2.7.1/archivesspace-v2.7.1.zip
unzip -q archivesspace-v2.7.1.zip
```
3. ArchivesSpace starten
```bash
archivesspace/archivesspace.sh
```
Note:
* Während Koha in der Standardinstallation so eingerichtet ist, dass es automatisch beim Systemstart zur Verfügung steht, muss ArchivesSpace in der Standardinstallation manuell gestartet werden.
* Es ist nur solange verfügbar wie der Prozess im Terminal läuft. Es handelt sich um eine Webanwendung. Im Terminal läuft die Server-Applikation. Über den Browser greifen wir darauf zu. Wenn das Terminal geschlossen wird, dann wird auch der Server beendet und die Webseite im Browser ist nicht mehr erreichbar.
#### Staff Interface aufrufen
Nach ein paar Minuten sollte ArchivesSpace unter folgenden URLs erreichbar sein:
* http://localhost:8080/ the staff interface
* http://localhost:8081/ the public interface
* http://localhost:8082/ the OAI-PMH server
* http://localhost:8089/ the backend
* http://localhost:8090/ the Solr admin console
Zugangsdaten für das "Staff Interface" sind:
* Username: `admin`
* Password: `admin`
Note:
* Da es sich um eine lokale Installation handelt, sind die Adressen nur über den Webbrowser innerhalb der Virtuellen Maschine erreichbar.
#### Exkurs: Konfigurationsmöglichkeiten
* Spracheinstellung: Es gibt noch keine deutsche Übersetzung aber Spanisch, Französisch und Japanisch
* Konfiguration: <https://archivesspace.github.io/archivesspace/user/configuring-archivesspace/#Language>
* Sprachdateien: <https://github.com/archivesspace/archivesspace/tree/master/common/locales>
* Weitere Optionen: Siehe technische Dokumentation <https://archivesspace.github.io/archivesspace/user/configuring-archivesspace/>
#### Grundkonfiguration
Nach dem ersten Login erscheint die Meldung:
> To create your first Repository, click the **System** menu above and then **Manage Repositories**.
Dort nutzen Sie den Button `Create Repository` um ihr Repository anzulegen.
* Notwendig sind zunächst nur `Repository Short Name` und `Repository Name`.
* Die Checkbox `Publish?` definiert, ob die Daten im "public interface" unter http://localhost:8081 erreichbar sind.
#### Beispiel
![](images/03_archivesspace-repository-angelegt.png)
### Bedienung
Wir nutzen nun die zuvor diskutierten Grundlagen und die Erfahrungen aus der Übung zu "Einstein", um Datensätze in ArchivesSpace zu erschließen.
Versuchen Sie bei der folgenden Gruppenarbeit intuitiv vorzugehen und tauschen Sie sich untereinander aus.
#### Übung: Datensätze erstellen
**Aufgabe (40 Minuten)**
* Aufgabe: Erstellen Sie eigene Datensätze in Ihrer ArchivesSpace Installation. Erfinden Sie dazu sinnvolle Archivdaten oder suchen Sie sich Beispieldaten (z.B. im [Hochschularchiv der ETH](http://archivdatenbank-online.ethz.ch)).
* Ziel: Ihre Datensätze erscheinen in der öffentlichen Ansicht unter http://localhost:8081. Machen Sie einen Screenshot und laden Sie das Bild hier in das gemeinsame Dokument.
* Hinweis: Orientieren Sie sich beim Vorgehen an der Übung der NYU: [Create Your Own Record](https://guides.nyu.edu/ld.php?content_id=23198351)
### Import und Export
ArchivesSpace bietet dateibasierten Import und Export in diversen Formaten (EAD, MARCXML, CSV) und auch eine OAI-PMH-Schnittstelle (diese lernen wir später noch kennen).
In den folgenden zwei Übungen werden wir die vorhin selbst erstellten Daten in MARCXML exportieren und EAD-Beispieldaten in ArchivesSpace importieren.
#### Übung: Export
**Aufgabe (10 Minuten)**
* Aufgabe: Exportieren Sie die von Ihnen eingegebenen Datensätze im Format MARCXML. Vergleichen Sie die exportierte XML-Datei kurz mit den in ArchivesSpace vorhandenen Informationen. Ist der Export in MARCXML verlustfrei?
* Ziel: Dokumentieren Sie Ihre Erkenntnisse unten im gemeinsamen Dokument.
* Hinweis: Die Export-Funktion finden Sie etwas versteckt in der Button-Leiste bei einzelnen Datensätzen.
Note:
* Mappingtabellen als XLS (Stand 2013, unklar ob aktuell) stellt ArchivesSpace auf der Webseite zur Verfügung: <https://archivesspace.org/using-archivesspace/migration-tools-and-data-mapping>
* Technische Dokumentation der Konvertierung in MARCXML (falls jemand die Proogrammiersprache Ruby können sollte): https://archivesspace.github.io/archivesspace/doc/MarcXMLConverter.html
#### Übung: Import
**Aufgabe (15 Minuten)**
* Beispieldaten: https://eadiva.com/2/sample-ead2002-files/ (laden Sie eine der als "a raw XML file" verlinkten Dateien herunter)
* Aufgabe: Importieren Sie Beispieldaten im Format EAD in ArchivesSpace. Vergleichen Sie die Anzeige in ArchivesSpace mit der bei den Beispieldaten verlinkten HTML-Ansicht.
* Ziel: Dokumentieren Sie Ihre Erkenntnisse unten im gemeinsamen Dokument.
* Hinweis: Die Import-Funktion finden Sie etwas versteckt unter `Create` > `Background Job` > `Import Data`
Note:
* Import kann etwas länger dauern weil,
* wir nur die mitgelieferte Datenbank (für Testzwecke) verwendet haben und keine separate MySQL-Datenbank
* EAD ein komplexes Dateiformat ist, was etwas aufwendiger auszuwerten ist (daher auch die mehreren "Cycles" in der Log-Datei)
* ArchivesSpace in der Grundeinstellung nur 1 GB RAM benutzt, siehe Dokumentation zu "Tuning": <http://archivesspace.github.io/archivesspace/user/tuning-archivesspace/>
### Literatur zu ArchivesSpace
* Einführungsvideos: https://www.youtube.com/playlist?list=PL3cxupmXL7WiXaHnpVquPrUUiLiDAMhg0
* ArchivesSpace Wiki: https://archivesspace.atlassian.net/wiki/spaces/ADC/
* ArchivesSpace Manual for Local Usage at NYU: https://docs.google.com/document/d/11kWxbFTazB6q5fDNBWDHJxMf3wdVsp8cd7HzjEhE-ao/edit#
* Workflow Overview bei Orbis Cascade Alliance (ArchivesSpace 1.5.2): https://www.orbiscascade.org/achivesspace-workflow-overview/
Note:
* Das Benutzerhandbuch von ArchivesSpace steht nur zahlenden Mitgliedern zur Verfügung. Bei Open-Source-Software suchen die Communities oft nach einem Zusatzvorteil für Mitglieder, weil die Software selbst ja kostenfrei erhältlich ist. Wirklich "open" ist diese Zurückhaltung von Informationen nicht so recht.
## Marktüberblick Archivsysteme
* ArchivesSpace hat eine große Community in den USA
* Weitere Open-Source-Alternative: [Access to Memory (Atom)](https://www.accesstomemory.org)
* Der Markt in der Schweiz wird von den Produkten [scope.Archiv](http://www.scope.ch) und [CMISTAR](https://www.cmiag.ch/cmistar) dominiert.
* Für die Online-Präsentation von digitalisiertem Archivgut wird oft zusätzliche Software eingesetzt. Beispiele:
* [E-Pics Plattform der ETH Zürich](https://www.e-pics.ethz.ch)
* [e-manuscripta.ch - Kooperative Präsentationsplattorm für handschriftliche Quellen](http://www.e-manuscripta.ch)
Note:
* In den Archiven der ETH-Bibliothek wird CMI STAR verwendet. Im "Rich-Client" (Programm für die Mitarbeiter\*innen) wird die Erschließung anhand der ISAD(G) Informationsbereiche kategorisiert. CMI STAR beinhaltet auch ein grafisches Mapping-Tool für den Import von Excel oder CSV. Das wird verwendet, um Eingaben von Hilfskräften in Excel in das System zu importieren.
### Unterschiede zwischen Bibliotheks- und Archivsystemen
* Bibliothek
* Medium, Benutzerinteraktion (Ausleihe)
* Software medienzentriert
* Metadatenformat: MARC21, zukünftig BIBFRAME?
* Archiv
* Entstehungszusammenhang, eher stehender Bestand (auf Anfrage)
* Software orientiert sich an analogen Findmitteln
* Metadatenformat: EAD, zukünftig RiC
Note:
* Herausforderung: Datenaustausch zwischen den Systemen (kommen wir später darauf zurück)
* Metadatenstandards in Archiven (ISAD(G) und EAD)
* Installation und Konfiguration von ArchivesSpace
* Marktüberblick Archivsysteme

View File

@ -1,123 +1,5 @@
# Repository-Software für Publikationen und Forschungsdaten
* Open Access und Open Data (15 Minuten)
* Installation und Konfiguration von DSpace (70 Minuten)
* Marktüberblick Repository-Software (10 Minuten)
## Open Access und Open Data
* Publikationen
* Open Access
* [Statistik zu Open-Access-Repositorien](https://v2.sherpa.ac.uk/view/repository_visualisations/1.html)
* Fokus: Zweitveröffentlichungen ("grüner Weg") und Hochschulschriften
* Forschungsdaten
* Open Data
* [Verzeichnis von Forschungsdaten-Repositorien](https://www.re3data.org)
* Fokus: Primärdaten, die bei der Forschung entstehen. Oft Daten als Anhang zu Zeitschriftenartikeln.
### Forschungsinformationen
* Informationen über Forschende, Drittmittelprojekte, Patente und vieles mehr.
* Ziel ist die Forschungsberichterstattung. Um die Daten zusammenzuführen und Berichte erstellen zu können, werden oft Forschungsinformationssysteme an den Universitäten eingeführt.
* Beispiel: ["Kerndatensatz Forschung" in Deutschland](https://kerndatensatz-forschung.de/version1/technisches_datenmodell/ER-Modell.html)
* Zum Stand in der Schweiz: Ackermann Krzemnicki, Sonia and Hägele, Bernd F. (2016): Die Standardisierung von Forschungsinformationen an Schweizer universitären Hochschulen. <https://edoc.unibas.ch/54788/>
### Beispiele
* [Zenodo](https://zenodo.org) (Invenio)
* [TUHH Open Research](https://tore.tuhh.de) (DSpace-CRIS)
## Installation und Konfiguration von DSpace
1. Einführung in DSpace (5 Minuten)
2. DSpace Demo (5 Minuten)
3. Übung: Communities und Collections (30 Minuten)
4. Übung: Einreichung und Review (20 Minuten)
5. Import und Export (5 Minuten)
6. Literatur zu DSpace (5 Minuten)
### Einführung in DSpace
* Software geeignet für Publikationen und Forschungsdaten
* Erweiterung für Forschungsinformationen: DSpace-CRIS.
* Metadatenstandard: Qualified Dublin Core, kann aber auch mit [DataCite](https://schema.datacite.org/) Metadatenschema betrieben werden.
* DSpace 6.x: 2016 erstmalig veröffentlicht, wird gepflegt, aber nicht mehr weiterentwickelt.
* DSpace 7.x: Veröffentlichung in 2020 geplant, neue Technologien im Frontend (Angular) und Backend (neue REST API).
### DSpace Demo
Aus Zeitgründen keine Installation, nur Test mit öffentlich zugänglicher Demo.
DSpace 6.x Demo: <https://demo.dspace.org>
* Site Administrator: `dspacedemo+admin@gmail.com`
* Community Administrator: `dspacedemo+commadmin@gmail.com`
* Collection Administrator: `dspacedemo+colladmin@gmail.com`
* Submitter: `dspacedemo+submit@gmail.com`
* Passwort immer: `dspace`
Note:
* Sie können die XMLUI oder die JSPUI verwenden. Beide Oberflächen sind mit dem gleichen Backend verbunden.
### Übung: Communities und Collections
**Aufgabe (30 Minuten)**
* Aufgabe: Melden Sich mit dem Account "Site Administrator" in der DSpace demo an. Erstellen Sie dann eine Community und legen Sie darin eine Collection an.
* Ziel: Dokumentieren Sie den Link zur Collection unten im gemeinsamen Dokument.
* Hinweis: [Erläuterungen in der How-To von DSpaceDirect](https://wiki.lyrasis.org/display/DSpaceDirectKB/Getting+Started+How-To#GettingStartedHowTo-Communities&Collections)
### Übung: Einreichung und Review
**Aufgabe (20 Minuten)**
* Aufgabe: Reichen Sie ein Beispieldokument für Ihre Collection ein. Starten Sie falls nötig den Begutachtungsprozess (falls beim Anlegen der Collection aktiviert) und veröffentlichen Sie das Dokument.
* Ziel: Dokumentieren Sie den Link zur Veröffentlichung unten im gemeinsamen Dokument.
* Hinweis: [Erläuterungen in der How-To von DSpaceDirect](https://wiki.lyrasis.org/display/DSpaceDirectKB/Getting+Started+How-To#GettingStartedHowTo-Adding/SubmittingItems).
Note:
* Der Einreichungs- und Begutachtungsprozess in DSpace ist sehr umfangreich konfigurierbar. Alle Formulare können angepasst und vereinfacht werden.
* Der Hinweis von DSpaceDirect, dass das Geld kostet, bezieht sich auf deren Hosting. Wenn Sie DSpace selbst hosten, können Sie natürlich alles selbst kostenfrei konfigurieren.
* Automatische Datenübernahme via DOIs kann auch angeboten werden, so dass nicht alle Daten manuell eingegeben werden müssen.
### Import und Export
DSpace bietet auch dateibasierten Import, besonders relevant sind im Kontext von Repositorien aber die Schnittstellen:
* SWORD ermöglicht den Import aus anderen Systemen.
* OAI-PMH ermöglicht es externen Systemen die in DSpace verzeichneten Metadaten abzurufen.
OAI-PMH-Schnittstelle der DSpace-Demo (Daten erscheinen dort zeitverzögert): <http://demo.dspace.org/oai/request?verb=ListSets>
Beispiel für Portal auf Basis von OAI-PMH: Die [Bielefeld Academic Search Engine (BASE)](base-search.net) "erntet" weltweit OAI-PMH-Schnittstellen und verzeichnet damit weit über 100 Mio. Dokumente.
### Literatur zu DSpace
* Videomitschnitte der Präsentationen auf dem D/A/CH-Anwendertreffen 2020: <https://wiki.lyrasis.org/display/DSPACE/DSpace-Anwendertreffen+2020>
* Weitere Demo-Installationen:
* DSpace 5.x mit DSpace-CRIS: <https://dspace-cris.4science.it/> (nur lesend)
* DSpace 7.x: <https://dspace7-demo.atmire.com> (nur lesend)
* Suchmaschinenoptimierung (SEO): [Abschnitt im Nutzerhandbuch von DSpace zu SEO](https://wiki.lyrasis.org/display/DSDOC5x/Search+Engine+Optimization)
## Marktüberblick Repository-Software
* Grundsätzliches zu Repositorien: <https://open-access.net/informationen-zu-open-access/repositorien>
* Open Directory of Open Access Repositories (OpenDOAR)
* [Weltweit](https://v2.sherpa.ac.uk/view/repository_visualisations/1.html)
* [Schweiz](https://v2.sherpa.ac.uk/view/repository_by_country/Switzerland.default.html)
* [Open Access Repository Ranking 2015](https://web.archive.org/web/20160110005003/http://repositoryranking.org/) (via Wayback-Machine)
### Relevante Systeme in D/A/CH
Alle Open Source!
* [DSpace](https://www.dspace.org)
* [EPrints](https://www.eprints.org)
* [Fedora](http://fedorarepository.org) / [Islandora](https://islandora.ca)
* [Invenio](https://invenio-software.org)
* [MyCoRe](https://www.mycore.de)
* [OPUS](https://www.opus-repository.org)
Note:
* Invenio arbeitet an interessanten neuen Lösungen:
* [InvenioRDM](https://invenio-software.org/products/rdm/) - "The turn-key research data management repository. Launching in the summer 2020"
* [InvenioILS](https://invenio-software.org/products/ils/) - "Modern Integrated Library System. Coming soon - beginning of 2020"
* Open Access und Open Data
* Installation und Konfiguration von DSpace
* Marktüberblick Repository-Software

View File

@ -1,144 +1,7 @@
# Metadaten modellieren und Schnittstellen nutzen
1. Transformation von Metadaten mit OpenRefine (15 Minuten)
2. XSLT Crosswalks mit MarcEdit (25 Minuten)
3. Austauschprotokolle für Metadaten (OAI-PMH, SRU) (45 Minuten)
4. Weitere Tools zur Metadatentransformation (10 Minuten)
5. Nutzung von JSON-APIs (20 Minuten)
## Transformation von Metadaten mit OpenRefine
**Aufgabe (ca. 4 Stunden):** [Library Carpentry Lesson zu OpenRefine](https://librarycarpentry.org/lc-open-refine/)
### Von OpenRefine unterstützte Formate
* Besonders geeignet für tabellarische Daten (CSV, TSV, XLS, XLSX und auch TXT mit Trennzeichen oder festen Spaltenbreiten)
* Einfaches "flaches" XML (z.B. MARCXML) oder JSON ist mit etwas Übung noch relativ einfach zu modellieren
* Komplexes XML mit Hierarchien (z.B. EAD) ist möglich, aber nur mit Zusatztools
* Kann in Kombination mit MarcEdit für MARC21 benutzt werden
### Einsatzmöglichkeiten von OpenRefine
* Exploration von Datenlieferungen
* Vereinheitlichung und Bereinigung (zur Datenqualität in der Praxis siehe Präsentation von Peter Király ["Validating 126 million MARC records"](https://docs.google.com/presentation/d/e/2PACX-1vRU4J_rln00UVD7pNPT0_02NOad0HfSk_UKqRI0v29y8QkMAplEDlyjc0Ot_VE_paV6WBW29Fh_V-iN/pub))
* Abgleich mit Normdaten ("Reconciliation") in Wikidata, GND und VIAF
* Für lokalen Einsatz ausgelegt (Installation auf Webservern und Automatisierung möglich, aber nur mit Zusatzsoftware)
## XSLT Crosswalks mit MarcEdit
**Aufgabe (ca. 4 Stunden):** [Library Carpentry Lesson zu MarcEdit](https://librarycarpentry.org/lc-marcedit/01-introduction/index.html) (noch in Entwicklung, aber brauchbar)
### Crosswalks? XSLT?
* Crosswalks
* Gängiger Begriff, um die Konvertierung von einem Metadatenstandard in einen anderen zu beschreiben.
* Beispiel: MARC21 zu Dublin Core.
* Der "Crosswalk" beinhaltet Regeln wie Elemente und Werte zugeordnet/verändert werden müssen.
* Im Idealfall verlustfrei, aber meist keine 1:1-Zuordnung möglich.
* XSLT
* Programmiersprache zur Transformation von XML-Dokumenten (W3C Empfehlung, 1999)
* Literaturempfehlung für Einstieg in XSLT: <https://programminghistorian.org/en/lessons/transforming-xml-with-xsl>
### XSLT mit MarcEdit
* Anleitung für "XML Conversion" mit MarcEdit von der Unibibliothek aus Illinois: <https://guides.library.illinois.edu/c.php?g=463460&p=3168159>
* Von MarcEdit verwendete XSLT Dateien liegen auch hier: <https://github.com/reeset/marcedit_xslt_files> und <https://github.com/reeset/marcedit-xslts>
### Gruppenarbeit
**Aufgabe (30 Minuten):**
* MarcEdit installieren (falls noch nicht erfolgt), siehe Erläuterungen unter <https://librarycarpentry.org/lc-marcedit/01-introduction/index.html>
* Beispieldatei herunterladen: <http://demonstrators.ostephens.com/training/data/me-eg-records.mrc>
* XSLT Transformationen ausprobieren: Button "MARC Tools"
## Austauschprotokolle für Metadaten (OAI-PMH, SRU)
### Schnittstellen SRU, OAI-PMH und Z39.50
Es gibt zahlreiche Übertragungsprotokolle im Bibliotheks- und Archivbereich. Drei davon sind besonders weit verbreitet:
* Z39.50 (Library of Congress)
* SRU - Search/Retrieve via URL (Library of Congress)
* OAI-PMH - Open Archives Initiative Protocol for Metadata Harvesting (Open Archives Initiative)
Note:
* Z39.50 ist sehr alt, aber immer noch im Einsatz. Meist wird das modernere SRU als Ergänzung angeboten.
* Während Z39.50 und SRU sich besonders für Live-Abfragen oder gezielten Datenabruf mit vielen Parametern eignet, zielt OAI-PMH vor allem auf größere Datenabzüge und regelmäßige Aktualisierungen.
* Das Schöne an SRU und OAI-PMH ist, dass die Anfragen als Internetadresse (URL) zusammengestellt werden können und direkt über den Browser ohne Zusatzsoftware aufrufbar sind.
### SRU und OAI am Beispiel von Swissbib
Das Projekt swissbib sammelt Metadaten aller schweizer Universitätsbibliotheken, der Nationalbibliothek und einiger Kantonsbibliotheken sowie weiterer Institutionen. Der gemeinsame Katalog ermöglicht eine übergreifende Suche, gleichzeitig bietet swissbib auch Schnittstellen an, über welche Metadaten der teilnehmenden Institutionen zentral bezogen werden können.
* Dokumentation Swissbib SRU: <http://www.swissbib.org/wiki/index.php?title=SRU>
* Dokumentation Swissbib OAI: <http://www.swissbib.org/wiki/index.php?title=Swissbib_oai>
#### Aufgabe 1
Lesen Sie die [Dokumentation zur SRU-Schnittstelle von Swissbib](http://www.swissbib.org/wiki/index.php?title=SRU) und stellen Sie eine Abfrage mit folgenden Parametern zusammen:
* Katalog der Bibliothek der FH Graubünden
* Suche über alle Felder nach Suchbegriff: open
* Format:MARC XML - swissbib
Sie können dazu das Formular auf der Webseite <http://sru.swissbib.ch> verwenden oder die URL anhand der Dokumentation selbst zusammenbauen.
#### Aufgabe 2
Laden Sie die gleichen Daten in anderen Metadatenstandards (z.B. Dublin Core) und vergleichen Sie.
Tipp: Öffnen Sie zwei Browserfenster nebeneinander, um die Unterschiede leichter sehen zu können.
Note:
* Swissbib nutzt XSL Stylesheets, um live bei einer Suchanfrage, die Daten in verschiedene Formate zu konvertieren.
#### Aufgabe 3
Lesen Sie die [Dokumentation zur OAI-Schnittstelle von Swissbib](http://www.swissbib.org/wiki/index.php?title=Swissbib_oai).
Laden Sie einige Datensätze aus dem gesamten Swissbib-Verbund, die seit dem 01.06.2020 verändert wurden im Format MARC21. Speichern Sie die Daten in der Datei `swissbib-2020-06-01.xml`.
#### Bonusaufgabe
Finden Sie heraus, nach welchen Regeln die SRU-Schnittstelle von Swissbib MARC21 in Dublin Core transformiert.
Tipp: Nutzen Sie den Explain-Befehl der SRU-Schnittstelle
## Weitere Tools zur Metadatentransformation
### Zur Motivation
Metadaten-Management in der Praxis, hier beim Leibniz-Informationszentrum Wirtschaft (ZBW) in Hamburg:
* Infoseite: <https://www.zbw.eu/de/ueber-uns/arbeitsschwerpunkte/metadaten/>
* Videointerview mit Kirsten Jeude: <https://www.youtube.com/watch?v=YwbRTDvt_sA>
### Tools
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>
* Catmandu (Perl): <https://librecat.org>
* Metafacture (Java): <https://github.com/metafacture/metafacture-core>
* OAI harvester für die Kommandozeile: <https://github.com/miku/metha>
* siehe auch die vielen Tools zu MARC21: <https://wiki.code4lib.org/Working_with_MARC>
## Nutzung von JSON-APIs
### Beispiel für API: lobid-gnd
<https://lobid.org/gnd/api>
* Suchergebnisse als JSON
* Datensätze über ID direkt als JSON abrufen
* Bulk-Downloads mit JSON lines
* Was kann man damit bauen? Beispiel Autovervollständigung
### Beispiel für Tool: ScrAPIr
<https://scrapir.org>
* Das Tool erlaubt Daten von bekannten Webseiten zu beziehen
* genutzt werden dazu die APIs der Webseiten (in der Regel JSON)
* es werden auch Vorlagen für Code (Javascript, Python) bereitgestellt
* Beispiel YouTube: <https://scrapir.org/data-management?api=YouTube_API>
1. Transformation von Metadaten mit OpenRefine
2. XSLT Crosswalks mit MarcEdit
3. Austauschprotokolle für Metadaten (OAI-PMH, SRU)
4. Weitere Tools zur Metadatentransformation
5. Nutzung von JSON-APIs

View File

@ -1,185 +1,6 @@
# Suchmaschinen und Discovery-Systeme
1. Funktion von Suchmaschinen am Beispiel von Solr (15 Minuten)
2. Installation und Konfiguration von VuFind (120 Minuten)
3. Marktüberblick Discovery-Systeme (15 Minuten)
## Funktion von Suchmaschinen am Beispiel von Solr
**Aufgabe (ca. 2 Stunden):** [Solr Tutorial](https://lucene.apache.org/solr/guide/8_5/solr-tutorial.html)
### Zur Einordnung von Solr
* Solr ist zusammen mit Elasticsearch quasi "Industriestandard".
* Solr kann verschiedene Dateiformate (.doc, .xml .json, .ppt usw.) importieren.
* Üblicherweise sollte vor dem Import der Daten in einem Schema festgelegt werden welche Felder existieren und welche Datentypen diese beinhalten dürfen.
* Solr hat zwar eine integrierte Suchoberfläche, aber diese ist nur zu Demo-Zwecken gedacht.
* Das Discovery-System VuFind basiert auf Solr (ebenso wie viele kommerzielle Lösungen wie z.B. Ex Libris Primo).
## Installation und Konfiguration von VuFind
* VuFind Internetseite: <https://vufind.org>
* VuFind Code bei GitHub: <https://github.com/vufind-org/vufind>
* Deutsche VuFind Anwendergemeinschaft: <https://vufind.de>
* Präsentation “10 Jahre VuFind” (2017): <https://felixlohmeier.de/slides/2017-09-28_vufind-anwendertreffen-keynote.html>
* VuFind-Installationen weltweit: <https://vufind.org/wiki/community:installations>
* Beispiel TU Hamburg: <https://katalog.tub.tuhh.de>
* Beispiel UB Leipzig: <https://katalog.ub.uni-leipzig.de>
### Installation
Gemeinsame Installation nach offizieller Anleitung für VuFind unter Ubuntu: <https://vufind.org/wiki/installation:ubuntu>
Es folgen die relevanten Auszüge und Hinweise/Erklärungen dazu.
#### VuFind on Ubuntu
> These instructions assume that you are starting with a clean installation of Ubuntu. If you already have an Ubuntu server, you will be able to skip some steps, but you may have to reconfigure some existing software.
Zur Erinnerung: Best Practice ist die Installation von einer Anwendung pro Server (durch Virtualisierung und Container heute einfach möglich).
#### Version Requirements
> These instructions were most recently tested on Ubuntu 19.10 and Debian 10.1 (...)
Gut für uns, weil wir für unsere virtuelle Maschine Ubuntu Server 19.10 verwenden.
#### Installing VuFind from the DEB Package
> The easiest way to get VuFind up and running is to install it from the DEB package.
VuFind stellt ein Installationspaket bereit. Unter Linux gibt es viele verschiedene Formate für Installationspakete. Für Ubuntu und Debian gibt es DEB, für Fedora und SUSE beispielsweise RPM.
```
wget https://github.com/vufind-org/vufind/releases/download/v6.1.1/vufind_6.1.1.deb
sudo dpkg -i vufind_6.1.1.deb
sudo apt-get install -f
```
#### Important Notes / Database Issues
Hier ist ein Fehler in der Anleitung. Ubuntu Server 19.10 wird mit MariaDB ausgeliefert und nicht mit MySQL. Für uns ist daher "Case 4 - MariaDB" relevant.
#### MariaDB Passwort für root
> If you are using a distribution that includes MariaDB instead of MySQL, you will not be prompted to set a root password during installation. Instead, you should run “sudo /usr/bin/mysql_secure_installation” to properly set up security.
```
sudo /usr/bin/mysql_secure_installation
```
* Das aktuelle Passwort ist leer (Enter drücken).
* Die voreingestellten Antworten sind ok (alle Fragen können mit Enter bestätigt werden).
#### MariaDB Zugriff auf root erlauben
> (...) you may also need to disable the root account's “unix_socket” plugin, which prevents regular logins. You can do this by logging in with “sudo mysql -uroot -p” and then running "UPDATE mysql.user SET plugin='' WHERE User='root'; FLUSH PRIVILEGES;"
1. MySQL Administration öffnen (und Passwort eingeben)
```
sudo mysql -uroot -p
```
2. Konfigurationsbefehl eingeben
```
UPDATE mysql.user SET plugin='' WHERE User='root'; FLUSH PRIVILEGES;
```
3. MySQL Administration schließen
```
exit;
```
#### Important Notes / (Ende)
> You may want to restart your system one more time to be sure all the new settings are in place, or at least make sure appropriate environment variable settings are loaded by running: `source /etc/profile`
Ein Neustart ist in unserem Fall nicht erforderlich. Es reicht aus, den genannten Befehl einzugeben:
```
source /etc/profile
```
#### Configuring and starting VuFind / Start solr
```
cd /usr/local/vufind/
./solr.sh start
```
Die Warnungen zu den Limits können erstmal ignoriert werden. In der Doku von VuFind ist beschrieben, wie sich das korrigieren ließe: <https://vufind.org/wiki/administration:starting_and_stopping_solr>
#### Configuring and starting VuFind / Configure VuFind
> Open a web browser, and browse to this URL: <http://your-server-name/vufind/Install/Home> (Replace “your-server-name” with the address you wish to use to access VuFind; replace “vufind” with your custom base path if you changed the default setting during installation).
Wir haben keinen Domainnamen. Daher verwenden wir `localhost`. Öffnen Sie den Browser in der virtuellen Maschine (Linux) und rufen Sie die folgende Adresse auf:
<http://localhost/vufind/Install/Home>
#### Configuring and starting VuFind / Auto-Configuration
> If installation was successful, you should now see an Auto Configure screen. Some items on the list will be marked “Failed” with “Fix” links next to them. Click on each Fix link in turn and follow the on-screen instructions. (...) After an issue is successfully resolved, you can click the “Auto Configure” breadcrumb to go back to the main list and proceed to the next problem.
Die meisten Punkte können ohne weitere Angaben "gefixt" werden. Nur die beiden Punkte Database und ILS erfordern weitere Angaben.
#### Configuring and starting VuFind / Auto-Configuration / Database
Bei der Datenbank muss ein neues Passwort vergeben und das zuvor oben im Abschnitt "MariaDB Passwort für root" eingegeben werden.
#### Configuring and starting VuFind / Auto-Configuration / ILS
Wir haben kein Bibliothekssystem, daher wählen wir NoILS. Dann wird aber trotzdem noch "Failed" angezeigt und wenn wir nochmal auf "Fix" klicken erscheint die folgende Meldung:
> (...) You may need to edit the file at /usr/vufind/local/config/vufind/NoILS.ini
1. Datei mit Texteditor nano öffnen
```
sudo nano /usr/local/vufind/local/config/vufind/NoILS.ini
```
2. In Zeile 3 `ils-offline` in `ils-none` ändern.
3. nano beenden mit CTRL+X und bestätigen (y)
#### Weitere Sicherheitseinstellungen
Die in den Abschnitten [Locking Down Configurations](https://vufind.org/wiki/installation:ubuntu#locking_down_configurations) und [4. Secure your system](https://vufind.org/wiki/installation:ubuntu#secure_your_system) beschriebenen Einstellungen benötigen wir für unsere Testinstallation nicht.
#### Falls etwas schief geht...
* Bei Mehreren ist das Problem aufgetreten, dass die Seite "Auto Configuration" nicht mehr geladen werden konnte. Auch ein Drüberinstallieren und Entfernen und Neuinstallieren von VuFind hat nicht geholfen.
* Ursache: Lokale Konfiguration (im Verzeichnis /usr/local/vufind/local/) wird beim Drüberinstallieren und Entfernen nicht angetastet.
* Lösung: Lokale Konfigurationsdatei manuell löschen
```
sudo rm /usr/local/vufind/local/config/vufind/config.ini
```
* Danach ist die Seite "Auto Configuration" wieder aufrufbar.
## Konfiguration
Gruppenarbeit: Bearbeiten Sie die Kapitel 4-9 von folgendem Tutorial: https://felixlohmeier.gitbooks.io/vufind-tutorial-de/content/04_Installation_Testimport.html
Das Tutorial wurde ursprünglich von Stefan Niesner im Rahmen einer [Projektarbeit](http://malisprojekte.web.th-koeln.de/wordpress/stefan-niesner/) entwickelt und von mir für VuFind 4.1 aktualisiert.
#### Hinweise
* Der Befehl zum Kopieren der facets.ini schlägt fehl (`cp /usr/local/vufind/config/vufind/facets.ini /usr/local/vufind/local/config/vufind`). Es hilft ein Kopieren mit Administrationsrechten (`sudo` voranstellen). Gleiches gilt für die Bearbeitung der Konfigurationsdateien (`sudo` voranstellen).
* Das Ändern der Sprache funktioniert ggf. nur, wenn `browserDetectLanguage` auf `false` gesetzt wird.
* Kapitel 7 scheitert mit einem "Permission denied", hier muss das Tutorial überarbeitet werden. Bitte dieses Kapitel überspringen.
#### Ergebnis
So sollte es aussehen, wenn die Kapitel 4-9 des Tutorials bearbeitet wurden:
![VuFind konfiguriert](images/06_vufind-konfiguriert.png)
## Marktüberblick Discovery-Systeme
### International
Jährlicher Library Systems Report von Marshall Breeding im ALA Magazine: <https://americanlibrariesmagazine.org/2020/05/01/2020-library-systems-report/>
Anhängende Statistik gibt einen guten Überblick:
<https://americanlibrariesmagazine.org/wp-content/uploads/2020/04/charts-for-2020-Library-Systems-Report.pdf>
### Schweiz: SLSP
Durch [SLSP](https://slsp.ch) wird Ex Libris Alma und damit in der Regel auch das dazu gehörige Discovery-System Primo an den wissenschaftlichen Bibliotheken in der Schweiz eingeführt.
1. Funktion von Suchmaschinen am Beispiel von Solr
2. Installation und Konfiguration von VuFind
3. Marktüberblick Discovery-Systeme
4. Schaubild zu Lehrinhalten

View File

@ -1,92 +1,6 @@
# Linked Data und Testumgebung
1. Metadaten anreichern mit OpenRefine und Wikidata (45 Minuten)
2. Suchanfragen mit SPARQL am Beispiel des Wikidata Query Service (45 Minuten)
3. Testumgebung für Server-Software (30 Minuten)
4. Empfehlenswerte Tutorials zum Selbstlernen (5 Minuten)
Wir schauen uns hier in den verbleibenden zwei Lektionen das praktische Beispiel Wikidata an, dass für Bibliotheken und Archive zunehmend an Relevanz gewinnt. Ein Beispiel: Swissbib nutzt seit März 2020 die Daten aus Wikidata, siehe https://swissbib.blogspot.com/2020/03/wikidata.html.
## Metadaten anreichern mit OpenRefine und Wikidata
**Aufgabe (30 Minuten)**: Wir bearbeiten gemeinsam Teile des Tutorials "Cleaning Data with OpenRefine" von John Little (2018). Die Aufgaben unten enthalten Auszüge aus [Kapitel 5 Hands-on: Reconciliation](https://libjohn.github.io/openrefine/hands-on-reconciliation.html).
### Aufgabe 1: Neues Projekt
* `Create Project > Web Addresses (URLs)`
* https://raw.githubusercontent.com/libjohn/openrefine/master/data/AA-authors-you-should-read.csv
* `Next`
* You many want to give your project a pretty title
* Ja und bitte zusätzlich ein Namenskürzel/Pseudonym, damit wir uns auf dem Server nicht in die Quere kommen.
* `Create Project`
* Change Show: to 25 to see all 11 records.
### Aufgabe 2: Reconciliation
* `authors > Reconcile > Start reconciling…`
* Under Services, click Wikidata Reconciliation for OpenRefine (en)
* Under Reconcile each cell to an entity of one of these types:, choose, `human`
* Click, `Start Reconciling`
* By clicking the approriate single checkbox in each cell of the authors column, manually select the most appropriate author for our topic. (...) Cells 2, 10 need your intervention.
* In Cell 2, James Baldwin, select the first option which a match of “(100)”
* In Cell 10, Click on the first name, then the second name. Do you see an African-American writer? Choose him by clicking the corresponding single check-mark
### Aufgabe 3: Daten aus Wikidata ergänzen
* `authors > Edit column > Add columns from reconciled values…`
* Under Suggested Properties, click place of birth and place of death
* OK
### Literatur: Reconciliation mit OpenRefine
* Gemeinsame Normdatei (GND) über die API von lobid-gnd: <http://blog.lobid.org/2018/08/27/openrefine.html>
* Tutorial zu Reconciling bei histHub: <https://histhub.ch/reconciling/>
* Weitere Datenquellen, welche die OpenRefine Reconciliation API unterstützen: <https://github.com/OpenRefine/OpenRefine/wiki/Reconcilable-Data-Sources>
* Und es können auch Daten manuell aus dem Web geladen und zur Anreicherung verwendet werden. Das ist aber mühseliger. Dazu ein Tutorial: <https://programminghistorian.org/en/lessons/fetch-and-parse-data-with-openrefine>
## Suchanfragen mit SPARQL am Beispiel des Wikidata Query Service
* Handout zum Query Service: <https://www.wikidata.org/wiki/File:Wikidata_Query_Service_kurzgefasst.pdf>
* Query-Service: <https://query.wikidata.org> (dort integrierte Beispiele)
* Weitere Beispiele: <https://blog.wikimedia.de/2016/10/30/10-coole-wikidata-abfragen-die-dir-neue-horizonte-eroeffnen-nummer-7-wird-dich-schockieren/>
### Tutorial
* Alex Stinson hat ein schönes Tutorial geschrieben, das eigentlich für Lehrende gedacht ist, aber auch individuell bearbeitet werden kann. Nach einer Einleitung, die sich an Lehrende richtet, kommt unter der Überschrift "Writing a Query" das Skript.
* Aufgabe (30 Minuten): Bearbeiten Sie das Tutorial ab der Überschrift "Writing a Query": https://medium.com/freely-sharing-the-sum-of-all-knowledge/writing-a-wikidata-query-discovering-women-writers-from-north-africa-d020634f0f6c
### Literatur
* Empfehlenswerte Tutorials zu SPARQL:
* https://programminghistorian.org/en/lessons/intro-to-linked-data
* https://programminghistorian.org/en/lessons/graph-databases-and-SPARQL
* Beispiel, wie das Hochschularchiv der ETH-Bibliothek Wikidata nutzt:
* How to Link Your Institutions Collections to Wikidata? : a short manual to a semi-automatic way of using the “archives at” property (P485) https://doi.org/10.3929/ethz-b-000393724
## Testumgebung für Server-Software
* Während des Kurses besteht Zugriff auf die virtuellen Maschinen bei Azure Labs. Nach Ende des Kurses entfällt diese Möglichkeit.
* Wenn Sie zukünftig einmal Server-Software testen möchten, gibt es unabhängig von der Hochschule diverse Möglichkeiten.
### Vergleich Cloud vs. Lokal
* Cloud: Root-Server (Webserver mit vollem Administrationszugriff) bei einem Webhosting-Anbieter
* Cloud: Plattformen von Microsoft (Azure), Google (GCP), Amazon (AWS): [Kosten-Rechner](https://www.microfin.de/produkte/tools/cloud-kosten-rechner/)
* Lokal: [VirtualBox](https://www.virtualbox.org) (Virtuelle Maschinen)
* Lokal: [Docker Desktop](https://www.docker.com/products/docker-desktop) (Container)
* Lokal: Booten von USB-Stick oder USB-Festplatte: [Anleitung aus BAIN HS19](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/blob/v2.0/notes_bootfaehige-usb-sticks-erstellen.md)
### OpenRefine auf Root-Server
* In diesem Kurs zeige ich Ihnen die klassische Variante "Root-Server", weil dies per Videokonferenz geht und übersichtlicher ist als die Cloud-Plattformen.
* Wir nutzen dafür den Anbieter [Digitalocean](https://digitalocean.com), weil dieser Minutenpreise und eine einfache Benutzeroberfläche anbietet.
* Als Anwendungsfall installieren wir OpenRefine, da wir dieses für die kommende Aufgabe gebrauchen können.
* [Anleitung ohne Authentifizierung von mir](https://gist.github.com/felixlohmeier/0ec8b2e8241356ed52af072d9102b391)
* [Anleitung mit Authentifizierung von Tony Hirst](https://blog.ouseful.info/2019/01/07/running-openrefine-on-digital-ocean-using-simple-auth/) (dort auch ein Link für 100 Dollar Startkredit bei Digitalocean)
## Empfehlenswerte Tutorials zum Selbstlernen
* Library Carpentry: https://librarycarpentry.org/lessons/
* Programming Historian: https://programminghistorian.org/en/lessons/
* openHPI: https://open.hpi.de/courses
* Datenschule: https://datenschule.de/lernmaterialien/
1. Metadaten anreichern mit OpenRefine und Wikidata
2. Suchanfragen mit SPARQL am Beispiel des Wikidata Query Service
3. Aktuelle Datenmodelle für Metadaten (BIBFRAME, RiC)
4. Empfehlenswerte Tutorials zum Selbstlernen

View File

@ -1,79 +1,67 @@
# Skript zum Kurs "Bibliotheks- und Archivinformatik"
Dieses Skript entsteht in der Zeit von März bis Mai 2020 im Rahmen der folgenden Lehrveranstaltung:
Dieses Skript entsteht in der Zeit von September bis Dezember 2020 im Rahmen der folgenden Lehrveranstaltung:
- Kurs "Bibliotheks- und Archivinformatik"
- Dozent: [Felix Lohmeier](http://felixlohmeier.de)
- Frühlingssemester 2020
- Kurs "Bibliotheks- und Archivinformatik" (BAIN)
- Dozenten: [Felix Lohmeier](http://felixlohmeier.de), [Sebastian Meyer](https://twitter.com/_meyse_/)
- Herbstsemester 2020
- Lehrauftrag an der [FH Graubünden - Studiengang Information Science](https://www.fhgr.ch/studium/bachelorangebot/wirtschaft-und-dienstleistung/information-science/)
- Bachelor, 4. Semester, 4 ECTS
- Bachelor, 4 ECTS
## Gemeinsames Dokument
Für Notizen und zum Austausch verwenden wir ein gemeinsames Dokument in einer [CodiMD](https://github.com/codimd/server)-Installation [bei der GWDG](https://pad.gwdg.de/). Alle, die den Link kennen, können es bearbeiten. Zur Formatierung wird [Markdown](https://www.markdownguide.org/basic-syntax/) verwendet.
* [Gemeinsames Dokument](https://pad.gwdg.de/-r6PYpRjScC-w0JuI_Ovcg?both)
* [Gemeinsames Dokument](https://pad.gwdg.de/Tf-htntTR8COelT3Wgodzg?both)
## Inhalte
1. [Technische Grundlagen](01_technische-grundlagen.md) (13.03.2020)
1. [Technische Grundlagen](01_technische-grundlagen.md) (10.09.2020)
- Schaubild zu Lehrinhalten
- Einrichtung der Arbeitsumgebung (Linux)
- Grundlagen der Unix Shell
- Versionskontrolle mit Git
2. [Funktion und Aufbau von Bibliothekssystemen](02_funktion-und-aufbau-von-bibliothekssystemen.md) (03.04.2020)
- Blog mit GitHub Pages
2. [Funktion und Aufbau von Bibliothekssystemen](02_funktion-und-aufbau-von-bibliothekssystemen.md) (25.09.2020 / 02.10.2020)
- Metadatenstandards in Bibliotheken (MARC21)
- Installation und Konfiguration von Koha
- Marktüberblick Bibliothekssysteme
3. [Funktion und Aufbau von Archivsystemen](03_funktion-und-aufbau-von-archivsystemen.md) (24.04.2020)
3. [Funktion und Aufbau von Archivsystemen](03_funktion-und-aufbau-von-archivsystemen.md) (09.10.2020)
- Metadatenstandards in Archiven (ISAD(G) und EAD)
- Installation und Konfiguration von ArchivesSpace
- Marktüberblick Archivsysteme
4. [Repository-Software für Publikationen und Forschungsdaten](04_repository-software-fuer-publikationen-und-forschungsdaten.md) (24.04.2020)
4. [Repository-Software für Publikationen und Forschungsdaten](04_repository-software-fuer-publikationen-und-forschungsdaten.md) (16.10.2020)
- Installation und Konfiguration von DSpace
- Open Access und Open Data
- Marktüberblick Repository-Software
5. [Metadaten modellieren und Schnittstellen nutzen](05_metadaten-modellieren-und-schnittstellen-nutzen.md) (05.06.2020)
5. [Metadaten modellieren und Schnittstellen nutzen](05_metadaten-modellieren-und-schnittstellen-nutzen.md) (30.10.2020 / 20.11.2020)
- Transformation von Metadaten mit OpenRefine
- XSLT Crosswalks mit MarcEdit
- Austauschprotokolle für Metadaten (OAI-PMH, SRU)
- Weitere Tools zur Metadatentransformation
- Nutzung von JSON-APIs
6. [Suchmaschinen und Discovery-Systeme](06_suchmaschinen-und-discovery-systeme.md) (05.06.2020)
6. [Suchmaschinen und Discovery-Systeme](06_suchmaschinen-und-discovery-systeme.md) (27.11.2020 / 11.12.2020)
- Funktion von Suchmaschinen am Beispiel von Solr
- Installation und Konfiguration von VuFind
- Marktüberblick Discovery-Systeme
7. [Linked Data](07_linked-data.md) (06.06.2020)
- Testumgebung für Server-Software
- Suchanfragen mit SPARQL am Beispiel des Wikidata Query Service
- Schaubild zu Lehrinhalten
7. [Linked Data](07_linked-data.md) (18.12.2020)
- Metadaten anreichern mit OpenRefine und Wikidata
Hinweise für Lehrende:
* [Azure Lab einrichten](azure-lab-einrichten.md)
- Suchanfragen mit SPARQL am Beispiel des Wikidata Query Service
- Aktuelle Datenmodelle für Metadaten (BIBFRAME, RiC)
- Empfehlenswerte Tutorials zum Selbstlernen
## Lerntagebücher
Als Prüfungsleistung schreiben Studierende Blogs, in denen sie von ihren Erkenntnissen berichten und sich mit den Inhalten des Seminars auseinandersetzen.
* [Lerntagebuch Ibrahim Aközel](https://akoezeibrahi.github.io/Blogbeitraege_BAIN20_Akoezel/)
* [Lerntagebuch Alicja Bednarzewska](https://alset2103.github.io/LerntagebuchBAIN/)
* [Lerntagebuch Sarah Clavadetscher](https://sarahclavadetscher.github.io/bain-lernblog/)
* [Lerntagebuch Franziska Corradini](https://librarygirllost.github.io/bain-learning-by-doing/)
* [Lerntagebuch Erica von Flüe](https://mimbulus89.wordpress.com/)
* [Lerntagebuch Miklos Frank](https://bainmf.wordpress.com)
* [Lerntagebuch Daniel Fröhli](https://ltbdf.wordpress.com)
* [Lerntagebuch Muriel Fuhrer](https://muirgheal.gitlab.io/lerntagebuch_bain_iw_2020/)
* [Lerntagebuch Maximilian Grüninger](https://ismay7.github.io/Lerntagebuch-FS20-BAIN)
* [Lerntagebuch Kim Hunziker](https://kimhunzikerbain.wordpress.com)
* [Lerntagebuch Sidney Manhart](https://sidney-manhart.github.io)
* [Lerntagebuch Samuel Martin](https://flatland.samuelnmartin.ch)
* [Lerntagebuch Michael Mathys](https://michaelmathys.github.io/BAIN/Lerntagebuch)
* [Lerntagebuch Mona Meier](https://bainlerntagebuchmonameier.jimdofree.com)
* [Lerntagebuch Nadine Kramer](https://kramerbain.wixsite.com/website)
* [Lerntagebuch Lea Reinhold](https://leaena22.github.io/BAIN-2.0/)
* [Lerntagebuch Seraina Rutschmann](https://serainowitsch.github.io/bain/)
* [Lerntagebuch Rachel Noemi Thommen](https://rachel-noemi-thommen.github.io/Lerntagebuch/)
* [Lerntagebuch Matilda Z'Graggen](https://bainlernt.wordpress.com)
* [Lerntagebuch Anya Zysset-Baschera](https://bainltaz.wordpress.com)
* [Giulia D'Amico](https://damicogiulia.github.io/BAIN-Blog/)
* [Regina Eicher](https://gins-ctrl.github.io/Lerntagebuch_HS20/)
* [Sandra Flückiger](https://fluecksandra.github.io)
* [Shanna Grütter](https://shannarachel.github.io/storys)
* [Martina Gubser](https://tinablabla.github.io/bainotes/)
* [Gaby Leuenberger](https://regrebneuel.github.io/bain-log/)
* [Charles Winkler](https://charleswinkler.github.io)
## Modulbeschreibung
@ -89,9 +77,14 @@ Nach erfolgreicher Teilnahme am Modul sind die Studierenden in der Lage:
## Skripte der Vorjahre
Frühlingssemester 2020:
* Zenodo: [10.5281/zenodo.3885498](https://doi.org/10.5281/zenodo.3885498)
* GitHub: [v3.0](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/releases/tag/v3.0)
Herbstsemester 2019:
* Zenodo: [10.5281/zenodo.3701841](https://zenodo.org/record/3701841)
* Zenodo: [10.5281/zenodo.3701841](https://doi.org/10.5281/zenodo.3701841)
* GitHub: [v2.0](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/releases/tag/v2.0)
Herbstsemester 2017:

View File

@ -5,5 +5,4 @@
* [4. Repository-Software für Publikationen und Forschungsdaten](04_repository-software-fuer-publikationen-und-forschungsdaten.md)
* [5. Metadaten modellieren und Schnittstellen nutzen](05_metadaten-modellieren-und-schnittstellen-nutzen.md)
* [6. Suchmaschinen und Discovery-Systeme](06_suchmaschinen-und-discovery-systeme.md)
* [7. Linked Data](07_linked-data.md)
* [Azure Lab einrichten](azure-lab-einrichten.md)
* [7. Linked Data](07_linked-data.md)

View File

@ -1,66 +0,0 @@
# Azure Lab einrichten (Hinweis für Lehrende)
Basiert auf: Anleitung von Microsoft zum [Einrichten eines Labs zur Schulung in Shellskripts unter Linux](https://docs.microsoft.com/de-de/azure/lab-services/classroom-labs/class-type-shell-scripting-linux)
## Einrichtung
1. Kostenloses Konto bei Microsoft Azure registrieren (170 € Startguthaben): https://azure.microsoft.com/free/
2. In Azure Portal einloggen und ein neues Lab-Konto einrichten: https://docs.microsoft.com/de-de/azure/lab-services/classroom-labs/tutorial-setup-lab-account
- Wie im Tutorial beschrieben, muss der eigene Account (oder ein Gastaccount) unter **Access control (IAM)** noch als Rolle "Lab Creator" hinzugefügt werden.
- Zusätzlich muss unter **Policies > Marketplace Images** das Image "Ubuntu Server 19.10" aktiviert werden
3. Unter https://labs.azure.com anmelden und ein neues Lab erstellen: https://docs.microsoft.com/de-de/azure/lab-services/classroom-labs/tutorial-setup-classroom-lab (Template erstellen dauert ca. 1 Stunde!)
- Virtual machine (VM) size: `Small` (2 cores, 4GB RAM, $0.20 per hour)
- Achtung: Labs sind auf 50 cores beschränkt. Das Template zählt mit, also kann man mit dieser Konfiguration 24 user ausstatten. Wenn man mehr braucht, muss man eine Supportanfrage stellen.
- VM Image: `Ubuntu Server 19.10`
- Enable remote desktop connecton: `Enable`
- username: `bain`
- password: `bainFS20`
- quota: `40`
4. Mit dem Template via SSH verbinden und RDP einrichten: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/use-remote-desktop
- ```
sudo apt update && sudo apt upgrade
sudo apt install xfce4 xrdp
sudo systemctl enable xrdp
echo xfce4-session >~/.xsession
sudo service xrdp restart
```
5. Sprache einstellen: `sudo dpkg-reconfigure locales`
- `de_DE.UTF-8 UTF-8` auswählen
- Keyboard Layout muss nicht separat geändert werden
6. Browser (Firefox) und Texteditor (Mousepad) installieren: `sudo apt install firefox mousepad`
7. Dock aufräumen
- Ordner-Symbole links (minimieren) und rechts (Schnellzugriff) entfernen
- Application Launcher (Lupe) entfernen
- Launcher / Mousepad ergänzen
## Nutzung
* Die SSH und RDP-Verbindungen zu den VMs laufen auf dynamischen Ports im Bereich 49152-65535. Falls diese im Netzwerk (für die Public IP des Labs) nicht freigegeben werden können, dann muss ein Proxy verwendet werden (siehe unten: "Optional: Guacamole").
* Nutzer\*innen benötigen ein Microsoft-Konto. Die E-Mail-Adresse der Einladung und die E-Mail-Adresse des Microsoft-Kontos müssen übereinstimmen.
* Achtung: Wenn die Hochschule bereits mit Microsoft zusammenarbeitet, kann es sein, dass die E-Mail-Adressen der Studierenden für die Registrierung gesperrt sind. Dann müssen wohl oder übel private E-Mail-Adressen zur Einrichtung des Kontos verwendet werden.
* Längere Ladezeiten sind einzuplanen: Das Starten und Stoppen der VMs dauert einige Minuten. Die VMs einzurichten oder zurückzusetzen dauert 1 Stunde!
* Bei der ersten Anmeldung kann ein Passwort vergeben und jederzeit zurückgesetzt werden.
* Die VM kann von den Lehrenden auf den Ausgangszustand (Template) zurückgesetzt werden.
* RDP Clients für Nicht-Windows-Betriebssysteme:
* MacOS: [Microsoft Remote Desktop 10](https://apps.apple.com/de/app/microsoft-remote-desktop-10/id1295203466)
* Linux: [Remmina](https://remmina.org/)
* Die öffentliche IP-Adresse des Labs bleibt konstant. Einsehbar über portal.azure.com für die Lab Creator Rolle. Die einzelnen VMs unterscheiden sich nur durch den Port (leider sind diese nur für die Nutzer\*innen einsehbar?).
* In einem Lab kann nur eine VM bereitgestellt werden, also ggf. ein zweites Lab eröffnen. Alternativ kann das Template verändert und dann erneut veröffentlicht werden, was jedoch alle vorhandenen VMs mit dem neuen Template überschreibt.
## Optional: Guacamole
Basiert auf https://fortynorthsecurity.com/blog/apache-guacamole-how-to-install-and-configure/
1. Webserver mit Debian 9.x einrichten
2. Apache Guacamole installieren mit `apt install guacamole-tomcat`
3. Verbindungen einrichten in `/etc/guacamole/user-mapping.xml`
4. Nutzer\*innen können sich dann unter http://localhost:8080/guacamole mit ihren Zugangsdaten anmelden.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

View File

@ -1,9 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<title>Bibliotheks- und Archivinformatik FS2020</title>
<title>Bibliotheks- und Archivinformatik (BAIN)</title>
<meta name="author" content="Felix Lohmeier">
<meta name="description" content="Skript zum Kurs Bibliotheks- und Archivinformatik an der FH Graubünden im Frühlingssemester 2020">
<meta name="description" content="Skript zum Kurs Bibliotheks- und Archivinformatik (BAIN) an der FH Graubünden">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta charset="UTF-8">
@ -14,7 +14,7 @@
<div id="app"></div>
<script>
window.$docsify = {
name: "BAIN FS20",
name: "BAIN",
repo: "felixlohmeier/bibliotheks-und-archivinformatik",
subMaxLevel: 2,
search: 'auto',