Kapitel 4 ergänzt

This commit is contained in:
Felix Lohmeier 2017-04-08 05:30:26 +02:00
parent 31969dbf5d
commit 1df6da0506
8 changed files with 257 additions and 5 deletions

View File

@ -1,9 +1,8 @@
# 4 Prototyp eines Katalogs mit TYPO3-find bauen
Ziel: ...
Ziel: Mit der Erweiterung TYPO3-find für das Content-Management-System TYPO3 einen Prototyp eines Katalogs einrichten.
Bitte nehmen Sie sich für die folgenden Abschnitte insgesamt etwa 4 Stunden Zeit:
Bitte nehmen Sie sich für die folgenden Abschnitte insgesamt etwa 2 Stunden Zeit:
* [...]()
* [...]()
* [...]()
* [4.1 Katalogoberfläche TYPO3-find](4-1-0-katalogoberflaeche-typo3-find.md)
* [4.2 Zwischenfazit](4-2-0-zwischenfazit.md)

View File

@ -0,0 +1,14 @@
# 4.1.0 Katalogoberfläche 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
Inhalte:
1. [Installation von TYPO3](4-1-1-installation-von-typo3.md)
2. [Erweiterung TYPO3-find installieren](4-1-2-erweiterung-typo3-find-installieren.md)
3. [TYPO3-find anpassen](4-1-3-typo3-find-anpassen.md)

View File

@ -0,0 +1,65 @@
# 4.1.1 Installation von 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) 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
```
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 installieren
Geben Sie folgende Befehle ins Terminal ein, um die neueste Version von TYPO3 7 zu installieren.
```
cd /var/www/
sudo wget get.typo3.org/8 --content-disposition
sudo tar xzf typo3_src-8*
sudo chown root:www-data -R html
sudo chmod 775 html
cd html
sudo ln -s $(find .. -name typo3_* -type d) typo3_src
sudo ln -s typo3_src/typo3 typo3
sudo ln -s typo3_src/index.php index.php
sudo rm index.html
sudo touch FIRST_INSTALL
```
## 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, download the list of distributions.``` und installieren Sie nach dem Login das Paket ```The official Introduction Package```

View File

@ -0,0 +1,89 @@
# 4.1.2 Erweiterung TYPO3-find installieren
Normalerweise können Erweiterungen für TYPO3 ganz einfach über die Administrationsoberfläche installiert werden, so wie bei einem App Store. Die EntwicklerInnen legen ihre Erweiterungen dazu im offiziellen TYPO3 Extension Repository ab. Leider ist zum Zeitpunkt der Erstellung des Skripts (April 2017) von der Erweiterung TYPO3-find nur eine uralte Version im Extension Repository verfügbar. Dort liegt Version 1.0.1 (Nov 2013), während bei GitHub Version 3.1.1 (Jan 2017) zur Verfügung steht.
## Schritt 1: Installation von TYPO3-find aus Quellcode bei GitHub
Wir installieren den Code aus dem GitHub-Repository https://github.com/subugoe/typo3-find
### 1.1 Code aus GitHub Repository herunterladen
```
cd ~
wget https://github.com/subugoe/typo3-find/archive/master.zip
unzip master.zip
cd typo3-find-master
```
### 1.2 Abhängigkeiten der TYPO3-Erweiterung mit Composer nachladen
```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar install
```
### 1.3 Daten in Extension-Verzeichnis kopieren
```
sudo mkdir /var/www/html/typo3/ext
sudo mkdir /var/www/html/typo3/ext/find
sudo cp -r . /var/www/html/typo3/ext/find
sudo chown :www-data -R /var/www/html/typo3/ext
sudo chmod 775 ext
```
## Schritt 2: Extension in Administrationsoberfläche aktivieren
Login in Administrationsoberfläche unter http://localhost/typo3 (localhost durch IP-Adresse ersetzen)
### 2.1 Menü Extensions
* Neben Extension ```Find``` auf den Würfel klicken, um die Extension zu aktivieren
### 2.2 Menü Page
* Seite auswählen, auf welcher der Katalog eingefügt werden soll, hier ```Congratulations``` (Startseite)
* Folgende Kästen löschen (Mülleimer-Symbol): "Start browsing", "Example Pages", "Test the CMS", "Divider", "Make it your own"
* Button +Content in Spalte "Normal" drücken und im Reiter ```Plugins / General Plugin``` unten auf der Seite im Punkt ```Selected Plugin``` die Erweiterung ```Find``` auswählen und anschließend oben den Save-Button betätigen.
### 2.3 Menü Template
* Gleiche Seite auswählen, auf der vorhin das Plugin eingefügt wurde (müsste noch vorausgewählt sein)
* Im Pulldown oben ```Info/Modify``` auswählen
* Button ```Edit the whole template record```
* Reiter ```Includes```: Rechts bei ```available items``` die Option ```Find (find)``` anklicken
* Oben den Save-Button betätigen
* Reiter ```General```: In Textfeld ```Setup``` Folgendes einfügen
```
plugin.tx_find.settings {
connections {
default {
options {
host = localhost
port = 8983
path = /solr/gettingstarted
}
}
}
standardFields {
title = Titel
snippet = Urheber
}
facets {
10 {
id = Medientyp
field = Medientyp
sortOrder = count
}
20 {
id = Sprache
field = Sprache
sortOrder = count
}
}
}
```

View File

@ -0,0 +1,54 @@
# 4.1.3 TYPO3-find anpassen
Über die Setup-Datei (vgl. den letzten Schritt aus Kapitel 9.3) kann die Erweiterung TYPO3-find konfiguriert werden.
## Aufgabe: Ergänzen Sie eine weitere Facette
Hinweise:
* Verwenden Sie das Feld ```Jahr``` für die Facette
Literatur:
* Dokumentation von TYPO3-find: http://typo3-find.readthedocs.io/en/latest/index.html
## Lösung
```
plugin.tx_find.settings {
connections {
default {
options {
host = localhost
port = 8983
path = /solr/gettingstarted
}
}
}
standardFields {
title = Titel
snippet = Urheber
}
facets {
10 {
id = Medientyp
field = Medientyp
sortOrder = count
}
20 {
id = Sprache
field = Sprache
sortOrder = count
}
30 {
id = Jahr
field = Jahr
sortOrder = count
}
}
}
```
## Bonus: Darstellung der Trefferliste und Detailseite anpassen
Für die Anpassung der Detailseiten müssen gemäß der Dokumentation von TYPO3-find die Dateien ```Result.html``` und ```Detail.html``` im Ordner ```Resources/Private/Partials/Display/``` bearbeitet werden.

8
4-2-0-zwischenfazit.md Normal file
View File

@ -0,0 +1,8 @@
# 4.2 Zwischenfazit
Ziel: Reflexion zur Frage "Was fehlt noch für einen Produktivbetrieb?"
Inhalte:
1. [Was haben wir im Seminar erreicht?](4-2-1-was-haben-wir-im-seminar-erreicht.md)
2. [Was fehlt noch für einen Produktivbetrieb?](4-2-2-was-fehlt-noch-fuer-einen-produktivbetrieb.md)

View File

@ -0,0 +1,8 @@
# 4.2.1 Was haben wir im Seminar erreicht?
* Sie haben grundlegende Funktionsweisen von Webservern und Virtualisierungstechnologien (VirtualBox) kennengelernt und erschrecken nicht vor der Kommandozeile von Linux.
* Sie haben Datensätze in verschiedenen Metadatenstandards (MARC21, PICA, Dublin Core, usw.) angesehen und bibliothekarische Metadaten im Format MARC21/XML mit OpenRefine transformiert.
* Sie haben die transformierten Daten in den Suchmaschinenindex Solr geladen.
* Sie haben TYPO3-find als Beispiel für eine Katalogsoftware installiert und konfiguriert.
Über die praktische Auseinandersetzung mit der Technik haben Sie sich einen Blick hinter die Kulissen von Discovery-Systemen verschafft. Auf Ihrem persönlichen Webserver läuft jetzt der Suchmaschinenindex Solr und das Content-Management-System TYPO3 mit der Erweiterung TYPO3-find. Für die Zusammenarbeit mit IT-KollegInnen an einem Discovery-Projekt in einer Bibliothek sind Sie jetzt gerüstet, da Sie viele der IT-Prozesse aus eigener Erfahrung besser einschätzen können.

View File

@ -0,0 +1,15 @@
# 4.2.2 Was fehlt noch für einen Produktivbetrieb?
Für den Betrieb eines Discovery-Systems fehlen noch zahlreiche Funktionen. Ohne Anspruch auf Vollständigkeit:
* Anbindung Benutzerkonto/Ausleihe
* Exemplarinformationen dynamisch anzeigen
* Schema erweitern
* Standard-Crosswalks verwenden oder MARC-Daten genau analysieren
* Datenquellen erweitern und einzeln betrachten (Open Access!)
* Design
* Automatisierung (tägliche Aktualisierungen der Daten)
* Zusatzfunktionen wie Merkliste und Export in Literaturverwaltungsprogramme
* Apps für Mobilgeräte
Darüber hinaus haben wir im Seminar nur eine Testinstallation der benötigten Softwarekomponenten vorgenommen. Für einen öffentlichen Dauerbetrieb würde ein/e Systemadministrator/in noch einige Vorkehrungen zur IT-Sicherheit und zur Wartung der Systeme treffen (müssen).