Skip to content

Installation Kitodo.Presentation mit DFG Viewer und OCR On Demand als Beispielanwendung

Christos Sidiropoulos edited this page Mar 30, 2023 · 12 revisions

Installationsanleitungen

  1. Grundinstallation und Systemvoraussetzungen
  2. Installation der Erweiterungen: (eine Option wählen)
    2a. Installation Kitodo.Presentation
    2b. Installation Kitodo.Presentation mit DFG Viewer als Beispielanwendung
    2c. Installation Kitodo.Presentation mit DFG Viewer und OCR-On-Demand als Beispielanwendung

Installation Kitodo.Presentation mit DFG Viewer und OCR-On-Demand Testcode als Beispielanwendung

Installation

Im Folgenden wird die Installation der TYPO3-Extension DFG-Viewer mit OCR-On-Demand Funktionalität gezeigt.

cd /var/www/dfgviewer
composer config platform.php 7.4
#oder: sed -i s/7.2/7.4/ composer.json

apt install jq
jq '.repositories += [{"type": "git", "url": "https://github.com/csidirop/dfg-viewer.git" }, {"type": "git", "url": "https://github.com/csidirop/kitodo-presentation.git"}, {"type": "git", "url": "https://github.com/csidirop/slub_digitalcollections.git" }] | .require += {"csidirop/dfgviewer": "dev-6.x-ocr"} | . += {"minimum-stability": "dev"}' composer.json > composer-edit.json
mv composer.json composer.json.bak
mv composer-edit.json composer.json

composer update
vendor/bin/typo3 extensionmanager:extension:install dlf
vendor/bin/typo3 extensionmanager:extension:install dfgviewer

chown -R www-data:www-data .
chmod +x public/typo3conf/ext/dlf/Classes/Plugin/Tools/FullTextGenerationScripts/*.sh

Während der Installation werden drei Seiten erstellt: Die Stammseite, der Konfigurations-Ordner und die Hauptseite des Viewers. Nach einem Reload sollte nun unter Web -> Page der Seitenbaum "DFG Viewer" mit der Seite "Viewer" vorhanden sein.

Übersicht

Konfiguration

TYPO3 config

Einige Einstellungen müssen über die Kommandozeile gesetzt werden:

cd /var/www/dfgviewer
vendor/bin/typo3cms configuration:set SYS/systemLocale en_US.UTF-8
vendor/bin/typo3cms configuration:set SYS/fileCreateMask 0660
vendor/bin/typo3cms configuration:set SYS/folderCreateMask 2770

DFG Viewer config

Es müssen zwei TYPO3 Konfigurationseinstellungen gesetzt werden. Diese können entweder über das Backend erfolgen oder direkt in typo3conf/LocalConfiguration.php:

Weg 1: Backend
Unter Admin Tools -> Settings -> Configure Installation-Wide Options werden alle Konfigurationen aufgelistet. Ganz oben lassen sich diese filtern.

  1. pageNotFoundOnCHashError: Den Haken entfernen
  2. requireCacheHashPresenceParameters: "tx_dlf[id], set[mets]" eintragen
  3. Änderungen durch den Button "Write cofiguration" schreiben

Weg 2: direkt Im Installationsverzeichnis muss man (z. B. /var/www/dfgviewer/public/typo3conf) in die LocalConfigurartion.php folgende Werte in die Struktur einfügen:

'FE' => [
  'cacheHash' => [
    'requireCacheHashPresenceParameters' => [
        'tx_dlf[id]',
        'set[mets]',
    ],
  ],
  'pageNotFoundOnCHashError' => false,
],

Wobei darauf geachtet werden muss, dass bereits vorhandene Schlüssel abgeändert werden.

ID Fix

Falls der DFG-Viewer in einer neuen TYPO3 Instanz installiert wird sollten die IDs bereits korrekt gesetzt sein. Ansonsten könnten diese aber falsch gesetzt sein. Ist das der Fall müssen die ID Konstanten des DFG-Viewers angepasst werden:

  1. Zunächst muss man die UID der Seite herausfinden. Diese findet man unter: Web -> Template -> DFG Viewer -> Right-Click on Viewer -> Info
  2. Die UID muss man sich nun kopieren bzw. merken.
  3. Nun muss man in die Einstellungen für den DFG-Viewer. Diese findet man unter: DFG Viewer -> Constant Editor (im Drop-Down-Menü (links/mittig) auswählbar) -> Category: PLUGIN.TX_DFGVIEWER
  4. Unter der Einstellung config.kitodoPageView muss nun in dem vorgesehenen Feld die UID eingetragen werden.

Eingabefeld hinzufügen

Im Backend unter Web -> Page -> DFG-Viewer auf den Button "+ Content" klicken und ein HTML Objekt hinzufügen. Anschließend muss folgender Code eintragen werden:

<div class="abstract">
<form method="get" action="index.php">
  <div>
	<label for="mets">Fügen Sie hier den Link zu Ihrer <acronym title="(engl.) metadata encoding and transmission standard; (dt.) Metadatenkodierungs- und -übertragungsstandard">METS</acronym>-Datei bzw. <acronym title="(engl.) open archives initiative; (dt.) Initiative für freien Datenaustausch">OAI</acronym>-Schnittstelle ein:</label> <br/>
	<input type="hidden" name = "id" value = "2">
	<input type="text" class="url" name="tx_dlf[id]" value="" required="true" pattern="[0-9a-zA-Z].*" placeholder="https://digi.bib.uni-mannheim.de/fileadmin/digi/1652998276/1652998276.xml"/> <br/>
	<input type="hidden" name="no_cache" value="1" />
	<input type="reset">
	<input type="submit" class="submit" value="Demonstrator aufrufen!" />
  </div>
</form>
</div>

Wobei ggfs. die ID anhand der UID angepasst werden muss.

TSConfig anpassen

Im Backend Web -> Page -> DFG-Viewer -> Viewer -> Eigenschaften bearbeiten -> Resources

  1. Die TypoScript Configuration um die Extension dfgviewer aus dem rechten Feld ergänzen
  2. Die Page TSConfig um die Zeile TCEMAIN.permissions.groupid = UID ergänzen, wobei UID die ID aus dem vorherigen Schritt ist.
  3. Speichern

Extension settings anpassen

Im Backend unter Admin Tools -> Settings -> Extension Configuration -> dlf lassen sich Einstellungen zu Kitodo.Presentation bearbeiten. Unter dem Tab Fulltextocr müssen nun alle Einstellungen überprüft und ggfs. angepasst werden.

Beispielsweise:

  • fulltextocr.fulltextFolder = fileadmin/fulltextFolder
  • fulltextocr.fulltextTempFolder = fileadmin/_temp_/fulltextTempFolder
  • fulltextocr.fulltextImagesFolder = fileadmin/_temp_/imagesTempFolder
  • fulltextocr.ocrPlaceholder = true / Haken setzen
  • fulltextocr.ocrLock = true / Haken setzen

Falls die Arbeitsverzeichnisse noch nicht vorhanden sind, müssen diese in /var/www/dfgviewer/public/fileadmin angelegt werden und mit den entsprechenden Lese- und Schreibrechten für den www-data-User versehen werden:

cd /var/www/dfgviewer/public/fileadmin  
mkdir fulltextFolder _temp_/fulltextTempFolder _temp_/imagesTempFolder
chown -R www-data .

Ordnersturktur für die Volltexte anlegen

cd /var/www/dfgviewer/
mkdir -v -p public/fileadmin/fulltextFolder
mkdir -v -p public/fileadmin/_temp_/ocrTempFolder/fulltext
mkdir -v -p public/fileadmin/_temp_/ocrTempFolder/images
mkdir -v -p public/fileadmin/_temp_/ocrTempFolder/lock
chown -R www-data public/fileadmin/

Kurzinstallation Tesseract v5

sudo apt install tesseract

Unter Ubunutu 20.04 wird aktuell noch die veraltete Version 4 gelistet. Um die neuste Version zu installieren, muss folgendes Repo hinzugefügt werden: sudo add-apt-repository ppa:alex-p/tesseract-ocr5 . Um gute OCR Ergebnisse mit historischen Drucken zu erreichen, empfiehlt es sich ein dafür spezialisiertes Modell zu installieren. Aktuelle Modelle findet man bei der Universität Mannheim. Diese legt man unter /usr/share/tesseract-ocr/5/tessdata/ ab.

cd /usr/share/tesseract-ocr/5/tessdata/
wget https://ub-backup.bib.uni-mannheim.de/~stweil/tesstrain/frak2021/tessdata_fast/frak2021_1.069.traineddata

Mit tesseract --list-langs kann geprüft werden, welche Modelle vorhanden sind.

Test

Allgemein

Der Aufruf folgender Seite http://localhost/index.php?id=2&tx_dlf%5Bpage%5D=1&tx_dlf%5Bdouble%5D=0&tx_dlf%5Bid%5D=https%3A%2F%2Fdigital.slub-dresden.de%2Foai%2F%3Fverb%3DGetRecord%26metadataPrefix%3Dmets%26identifier%3Doai%3Ade%3Aslub-dresden%3Adb%3Aid-263566811&tx_dlf%5Bpagegrid%5D=1&cHash=3deb716062d5ea61c9640e5c5c5711dd sollte die Übersicht eines Digitalisates der SLUB Dresden öffnen. (Ggfs. muss die ID im Link angepasst werden und auf die UID des Viewers gesetzt werden.)

Weitere Information und Beispiele findet man hier.

Eingabefeld

Die Stammseite http://localhost/index.php?id=1 aufrufen und im Eingabefeld den Link zu einer Mets Datei eingeben.

OCR-On-Demand

Um die Volltexterzeugung zu testen, benötigt man ein Dokument ohne vorhandenen Volltext. Wird so ein Dokument im DFG-Viewer dargestellt, werden zwei zusätzliche Buttons angezeigt, mit denen man OCR für die aktuelle Seite oder das ganze Buch erstellen kann. Nach einem Reload der Seite sollte der Volltext vorhanden sein. Sollte er nicht angezeigt werden, kann man nachsehen, ob er im Verzeichnis /var/www/dfgviewer/public/fileadmin/fulltextFolder/*URN-PATH*/*OCR-Engine*/*filename.xml*/angelegt wurde.

Vorschau

DFGviewer-OCR-On-Demand https://user-images.githubusercontent.com/43964592/172356975-95cf1db3-95f1-40e6-8454-40d13f4b9a67.mp4

Anwendungsbeispiele

METS-Dateien für den Test der OCR-Funktionalität findet man u. a. bei den Bibliotheken, die Kitodo.Presentation verwenden oder in dieser Sammlung.