From 1df6da0506c68e0f4ec808c42b42981f2e5622eb Mon Sep 17 00:00:00 2001 From: Felix Lohmeier Date: Sat, 8 Apr 2017 05:30:26 +0200 Subject: [PATCH] =?UTF-8?q?Kapitel=204=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...typ-eines-katalogs-mit-typo3-find-bauen.md | 9 +- 4-1-0-katalogoberflaeche-typo3-find.md | 14 +++ 4-1-1-installation-von-typo3.md | 65 ++++++++++++++ 4-1-2-erweiterung-typo3-find-installieren.md | 89 +++++++++++++++++++ 4-1-3-typo3-find-anpassen.md | 54 +++++++++++ 4-2-0-zwischenfazit.md | 8 ++ 4-2-1-was-haben-wir-im-seminar-erreicht.md | 8 ++ ...-fehlt-noch-fuer-einen-produktivbetrieb.md | 15 ++++ 8 files changed, 257 insertions(+), 5 deletions(-) create mode 100644 4-1-0-katalogoberflaeche-typo3-find.md create mode 100644 4-1-1-installation-von-typo3.md create mode 100644 4-1-2-erweiterung-typo3-find-installieren.md create mode 100644 4-1-3-typo3-find-anpassen.md create mode 100644 4-2-0-zwischenfazit.md create mode 100644 4-2-1-was-haben-wir-im-seminar-erreicht.md create mode 100644 4-2-2-was-fehlt-noch-fuer-einen-produktivbetrieb.md diff --git a/4-0-prototyp-eines-katalogs-mit-typo3-find-bauen.md b/4-0-prototyp-eines-katalogs-mit-typo3-find-bauen.md index 4fe6c6f..1b2ddfd 100644 --- a/4-0-prototyp-eines-katalogs-mit-typo3-find-bauen.md +++ b/4-0-prototyp-eines-katalogs-mit-typo3-find-bauen.md @@ -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) diff --git a/4-1-0-katalogoberflaeche-typo3-find.md b/4-1-0-katalogoberflaeche-typo3-find.md new file mode 100644 index 0000000..d11b53a --- /dev/null +++ b/4-1-0-katalogoberflaeche-typo3-find.md @@ -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) diff --git a/4-1-1-installation-von-typo3.md b/4-1-1-installation-von-typo3.md new file mode 100644 index 0000000..d7421d7 --- /dev/null +++ b/4-1-1-installation-von-typo3.md @@ -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``` diff --git a/4-1-2-erweiterung-typo3-find-installieren.md b/4-1-2-erweiterung-typo3-find-installieren.md new file mode 100644 index 0000000..eda6dc5 --- /dev/null +++ b/4-1-2-erweiterung-typo3-find-installieren.md @@ -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 + } + } +} +``` diff --git a/4-1-3-typo3-find-anpassen.md b/4-1-3-typo3-find-anpassen.md new file mode 100644 index 0000000..8ea7ed1 --- /dev/null +++ b/4-1-3-typo3-find-anpassen.md @@ -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. diff --git a/4-2-0-zwischenfazit.md b/4-2-0-zwischenfazit.md new file mode 100644 index 0000000..76ed4f6 --- /dev/null +++ b/4-2-0-zwischenfazit.md @@ -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) diff --git a/4-2-1-was-haben-wir-im-seminar-erreicht.md b/4-2-1-was-haben-wir-im-seminar-erreicht.md new file mode 100644 index 0000000..d0ec85b --- /dev/null +++ b/4-2-1-was-haben-wir-im-seminar-erreicht.md @@ -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. diff --git a/4-2-2-was-fehlt-noch-fuer-einen-produktivbetrieb.md b/4-2-2-was-fehlt-noch-fuer-einen-produktivbetrieb.md new file mode 100644 index 0000000..53f7b2b --- /dev/null +++ b/4-2-2-was-fehlt-noch-fuer-einen-produktivbetrieb.md @@ -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).