Nachtrag Kapitel 9

This commit is contained in:
Felix Lohmeier 2017-02-23 22:20:05 +01:00
parent 1eebc333b7
commit c2739ce9b9
5 changed files with 242 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# 9 Installation der 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 mit Docker](09_1_installation-von-typo3-mit-docker.md)
2. [Erstkonfiguration von TYPO3](09_2_erstkonfiguration-von-typo3.md)
3. [Erweiterung TYPO3-find installieren](09_3_erweiterung-typo3-find-installieren.md)
4. [TYPO3-find anpassen](09_4_typo3-find-anpassen.md)
Beiträge der Studierenden in den Lerntagebüchern:
* ...

View File

@ -0,0 +1,47 @@
# 9.1 Installation von TYPO3 mit Docker
Wir installieren TYPO3 mit den von Martin Helmich vorbereiteten Docker-Containern:
* Webseite mit Erläuterungen: https://www.martin-helmich.de/de/blog/typo3-cms-docker.html
* Container im Docker Hub: https://hub.docker.com/r/martinhelmich/typo3/
## Aufgabe 1: TYPO3 installieren
Hinweise:
* Der Docker-Container mit Solr aus Kapitel 8 muss laufen. Falls zwischenzeitlich beendet, mit folgendem Befehl starten: ```sudo docker start my_solr```
* Folgen Sie der oben verlinkten Anleitung von Martin Helmich. Abweichend davon müssen Sie jedoch einen Link zum Container mit dem Solr-Index einrichten, da wir später von TYPO3 aus darauf zugreifen müssen. Ergänzen Sie im Startbefehl für den Container typo3-web den Parameter ```--link my_solr```
## Lösung
### Schritt 1: Solr starten (bei Bedarf)
{%s%}sudo docker start my_solr{%ends%}
### Schritt 2: Container typo3-db für Datenbank starten (hier mit mariadb):
```
sudo docker run -d --name typo3-db \
-e MYSQL_ROOT_PASSWORD=yoursupersecretpassword \
-e MYSQL_USER=typo3 \
-e MYSQL_PASSWORD=yourothersupersecretpassword \
-e MYSQL_DATABASE=typo3 \
mariadb:latest \
--character-set-server=utf8 \
--collation-server=utf8_unicode_ci
```
### Schritt 3: Container typo3-web für die Weboberfläche von TYPO3 starten
```
sudo docker run -d --name typo3-web \
--link typo3-db:db \
--link my_solr \
-p 80:80 \
martinhelmich/typo3:7
```
### Befehle zum Stopp und Start von TYPO3
* TYPO3 stoppen: ```sudo docker stop typo3-web && sudo docker stop typo3-db```
* TYPO3 starten: ```sudo docker start typo3-db && sudo docker start typo3-web```

View File

@ -0,0 +1,10 @@
# 9.2 Erstkonfiguration von TYPO3
Nach dem Start der Docker-Container erreichen Sie TYPO3 unter der Adresse http://localhost (localhost wie üblich durch IP-Adresse ersetzen). Dort treffen Sie zunächst auf den Installationsassistenten.
## Aufgabe 1: Installationsassistent durchführen und Startpaket installieren
Hinweise:
* In Schritt 2 muss im Feld ```host``` der Name des Docker-Containers mit der Datenbank angegeben werden, also ```typo3-db```. Die Passwörter entsprechen den Passwörtern aus dem Startbefehl für die Datenbank. Falls Sie nichts verändert haben wäre der MYSQL-Nutzername ```typo3``` und das Passwort ```yourothersupersecretpassword```
* 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,100 @@
# 9.3 Erweiterung TYPO3-find installieren
Normalerweise können Erweiterungen für TYPO3 ganz einfach über die Administrationsoberfläche installiert werden, so bei einem App Store. Die EntwicklerInnen legen ihre Erweiterungen dazu im offiziellen TYPO3 Extension Repository ab. Leider ist zum Zeitpunkt der Erstellung des Skripts (Januar 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.0 (Jan 2017) zur Verfügung steht.
## Vorgehen zur manuellen Installation von TYPO3-find aus GitHub
Wir installieren den Code aus dem GitHub-Repository https://github.com/subugoe/typo3-find
### Schritt 1: Code aus GitHub Repository herunterladen
```
git clone https://github.com/subugoe/typo3-find.git
cd typo3-find
```
### Schritt 2: PHP5 installieren
```
sudo apt-get update
sudo apt-get install php5
```
### Schritt 3: 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') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { 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
```
### Schritt 4: Daten in TYPO3-Container kopieren
```
docker exec typo3-web mkdir /var/www/html/typo3/ext
docker cp . typo3-web:/var/www/html/typo3/ext/find
docker exec typo3-web chown www-data:www-data /var/www/html/typo3/ext/find
```
### Schritt 5: Aufräumen
```
sudo apt-get update
sudo apt-get remove apache2 php5
sudo apt-get autoremove
```
## Extension in Administrationsoberfläche aktivieren
Login in Administrationsoberfläche unter http://localhost/typo3 (localhost durch IP-Adresse ersetzen)
### Schritt 1: Menü Extensions
* Neben Extension "Find" auf den Würfel klicken, um die Extension zu aktivieren
### Schritt 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.
### Schritt 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 = my_solr
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,66 @@
# 9.4 TYPO3-find anpassen
Über die Setup-Datei (vgl. den letzten Schritt aus Kapitel 9.3) kann die Erweiterung konfiguriert werden.
## Aufgabe 1: 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 = my_solr
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. Da diese im Docker-Container liegen, ist die Bearbeitung nicht ganz so einfach. Hier ein mögliches Vorgehen:
```
sudo docker exec -it typo3-web bash
apt-get install nano
export TERM=xterm
cd /var/www/html/typo3conf/ext/find/Resources/Private/Partials/Display/
nano Result.html
nano Detail.html
```