Goobi viewer (Deutsch)
DokumentationenGoobi viewer Digests
  • Goobi viewer Handbuch
  • Dokumentationsübersicht
  • Was ist der Goobi viewer?
  • Konfiguration
    • 1. Goobi viewer Core
      • 1.1 Lokale Einstellungen
      • 1.2 Übersetzungen
      • 1.3 Ordnerkonfiguration
      • 1.4 URL Konfiguration
      • 1.5 Konten
        • 1.5.1 Authentifizierungs-Provider
        • 1.5.2 Emailversand
        • 1.5.3 Weitere Einstellungen
      • 1.6 Performanz
      • 1.7 Zugriffsbeschränkungen und Bilder
      • 1.8 Captcha
      • 1.9 PDF Download
        • 1.9.1 Varianten
        • 1.9.2 Download Links
        • 1.9.3 vorgeschaltete PDF Titelseite
      • 1.10 ePub Download
      • 1.11 Bild Optionen
        • 1.11.1 Erweitertes Blättern in der Bildanzeige
        • 1.11.2 Navigation zwischen Strukturtypen
        • 1.11.3 Konfiguration der Bildanzeige
        • 1.11.4 Erhalt des Zooms und der Rotation beim Blättern in der Bildanzeige
        • 1.11.5 Externe Bilder
        • 1.11.6 Einschränkung der Bild Skalierung
        • 1.11.7 Thumbnail Einstellungen
        • 1.11.8 Image Footer
      • 1.12 individuelle Seitentypen
      • 1.13 Öffnen bestimmter Dokumententypen in alternativen Seitenansichten
      • 1.14 Volltexthinweise
      • 1.15. Spracheinstellungen
      • 1.16 Theme
        • 1.16.1 externe Themes
      • 1.17 Suche
        • 1.17.1 Sortierung
        • 1.17.2 Facettierung
        • 1.17.3 Erweiterte Suche
        • 1.17.4 Zeitleiste
        • 1.17.5 Kalender
        • 1.17.6 Suche Speichern
        • 1.17.7 Expand Query für Such-Untertreffer
        • 1.17.8 aggregierte Suchtrefferanzeige
        • 1.17.9 Versionierung von Werken
        • 1.17.10 Export von Suchtreffern
        • 1.17.11 Suchtreffer Metadaten
      • 1.18 Sammlungen
        • 1.18.1 Untersammlungen
        • 1.18.2 Sortierung der Werke
        • 1.18.3 Sortierung der Sammlungen
        • 1.18.4 Blacklist
        • 1.18.5 Sammlungsgröße
        • 1.18.6 Weitere Einstellungen
        • 1.18.7 Strukturelement-Whitelist
      • 1.19 Metadaten
        • 1.19.1 Haupt-Metadaten
        • 1.19.2 Sidebar-Metadaten
        • 1.19.3 Suchtreffer-Metadaten
        • 1.19.4 Archiv-Metadaten
        • 1.19.5 Bild Metadaten
        • 1.19.6 Normdatenanzeige
        • 1.19.7 Kalender Strukturelemente
        • 1.19.8 Stöbern
        • 1.19.9 mehrsprachige Metadaten
        • 1.19.10 Lizenzen
      • 1.20 Inhaltsverzeichnisse
        • 1.20.1 Haupt Inhaltsverzeichnis
        • 1.20.2 Sidebar Inhaltsverzeichnis
        • 1.20.3 Herunterladen von Inhaltsverzeichnissen als PDF
      • 1.21 Tag Clouds
      • 1.22 Resolver
      • 1.23 Sidebar
      • 1.24 Navigation und Anzeige
      • 1.25 RSS Feed
      • 1.26 Merklisten
      • 1.27 Kommentare
      • 1.28 CMS
      • 1.29 Transkribus
      • 1.30 Originalinhalte
      • 1.31 Piwik/Matomo
      • 1.32 Sitelinks
      • 1.33 API
        • 1.33.2 IIIF
        • 1.33.3 Authentifizierung
        • 1.33.4 CORS
      • 1.34 OpenSearch
      • 1.35 Embedding
      • 1.36 Karten
      • 1.37 Übersetzungen
      • 1.38 Archiv
      • 1.39 Kampagnen
      • 1.40 Inhalte beitragen
      • 1.41 Nutzungszahlen
      • 1.42 Config Editor
      • 1.43 Proxy
      • 1.44 ActiveMQ
      • 1.45 Entwickler
      • 1.46 Externe Ressourcen
    • 2. Goobi viewer Indexer
      • 2.1 Hauptkonfiguration
      • 2.2 Verzeichnisse
      • 2.3 Proxy
      • 2.4 Performance
      • 2.5 Strukturtypen
      • 2.6 Metadaten
      • 2.7 Starten und Beenden
      • 2.8 Indexieren von Werken
      • 2.9 Aktualisierung einzelner Seitendokumente
      • 2.10 Löschen von Werken
      • 2.11 Solr Schema
      • 2.12 Weitere Einstellungen
    • 3. Goobi viewer Connector
      • 3.1 OAI-Schnittstelle
        • 3.1.1 Hauptkonfiguration
        • 3.1.2 Dublin Core
        • 3.1.3 Europeana
        • 3.1.4 METS
        • 3.1.5 LIDO
        • 3.1.6 MARCXML
        • 3.1.7 Xepicur
        • 3.1.8 Goobi viewer Übersichtsseiten
        • 3.1.9 Goobi viewer Crowdsourcing
        • 3.1.10 TEI
        • 3.1.11 CMDI
        • 3.1.12 Sets
      • 3.2 SRU Schnittstelle
  • Oberfläche
    • 1. Frontend
    • 2. Backend
      • 2.1 Dashboard
      • 2.2 Administration
        • 2.2.1 Benutzer
        • 2.2.2 Gruppen
        • 2.2.3 IP-Bereiche
        • 2.2.4 Zugriffslizenzen
        • 2.2.5 Rechte
        • 2.2.6 Kommentare
        • 2.2.7 Nutzungsbedingungen
        • 2.2.8 Neuer Datensatz
      • 2.3 Crowdsourcing
        • 2.3.1 Kampagnen
        • 2.3.2 Annotationen
      • 2.4 CMS
        • 2.4.1 Seiten
        • 2.4.2 Kategorien
        • 2.4.3 Statische Seiten
        • 2.4.4 Medien
        • 2.4.5 Menüs
        • 2.4.6 Sammlungen
        • 2.4.7 Karten
  • Verschiedenes
    • 1. Anwendungsszenarien
      • 1.1 Serien und Konvolute
      • 1.2 Zugriffsbeschränkungen
      • 1.3 Subthemes
      • 1.4 Normdaten
      • 1.5 Mehrsprachigkeit
      • 1.6 Karten
      • 1.7 Untersammlungen
      • 1.8 Mehrere Goobi viewer
      • 1.9 Crowdsourcing Modul
      • 1.10 Archivalien
      • 1.11 Solr Queries
      • 1.12 Verlinkung aus METS Dateigruppen
      • 1.13 Inhalte beitragen
      • 1.14 Shibboleth
      • 1.15 zugriffsbeschränkte Metadaten
    • 2. FAQ
    • 3. Glossar
  • Devs & Ops
    • 1. Core Changelog
      • 2025
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
      • 2018
    • 2. Theme Changelog
      • 2025
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
      • 2018
    • 3. Installationsanleitung
      • 3.1 Klassisch
      • 3.2 Docker
    • 4. Entwicklungsumgebung
      • 4.1 Eclipse Einstellungen
      • 4.2 Troubleshooting
    • 5. API
    • 6. Erklärt!
      • 6.1 CMS-Templates
        • 6.1.1 Dateistruktur
        • 6.1.2 Inhalte der Dateien
        • 6.1.3 Inhaltstypen
      • 6.2 Überschreiben von Standard XHTML Seiten mit eigenen, angepassten Seiten
      • 6.3 Theme Umstellung zu Maven
      • 6.4. Release erstellen
      • 6.5 Theme Anpassungen
      • 6.6 Updates von Abhängigkeiten
        • 6.6.1 Java
        • 6.6.2 CSS und Javascript
          • 6.6.2.1 Tests
Powered by GitBook
On this page
  • First Things First
  • Neue Struktur
  • Migration eines Themes zu Maven
  1. Devs & Ops
  2. 6. Erklärt!

6.3 Theme Umstellung zu Maven

Previous6.2 Überschreiben von Standard XHTML Seiten mit eigenen, angepassten SeitenNext6.4. Release erstellen

Last updated 5 years ago

First Things First

Bevor die Umstellung eines Themes vollzogen wird, sollte ein Sicherungs-Branch des aktuellen Themes erstellt werden.

In Eclipse funktioniert das wie folgt:

Rechtsklick auf Projekt -> Team -> Switch to -> New Branch

Als Konvention sollte der Name pre-maven-stable gelten.

Anschließend den Branch in das Repository pushen mit

Rechtsklick auf Projekt -> Team -> Push Branch 'pre-maven-stable'

Jetzt wieder in den master wechseln mit

Rechtsklick auf Projekt -> Team -> Switch to -> master

Natürlich funktioniert das auch mit jedem anderen Git Verwaltungs-Tool.

Neue Struktur

Als Basis für die Umstellung dient das Repository der Theme Boilerplate. Sie kann sich von GitHub über die URL geklont werden.

Es wird davon ausgegangen, dass die Entwicklungsumgebung auf Eclipse basiert. Diese IDE benötigt eine feste Ordner- und Dateistruktur. Wie eine Entwicklungsumgebung mit Eclipse einzurichten ist, kann unter nachgelesen werden.

Die neue Struktur sieht nun so aus:

/.metadata
/.settings
/WebContent
    /META-INF
    /resources
        /themes (Dateien für das Theme)
            /boilerplate
            face-config.xml
            theme-url-mappings.xml
    /WEB-INF
.classpath
.gitignore
.project
Gruntfile.js
package.json
pom.xml

Diese Struktur ist bindend und muss in jedem Theme-Projekt vorhanden sein.

Migration eines Themes zu Maven

Bei einer Migration wird davon ausgegangen, dass bereits ein Theme existiert und dieses auf Maven umgestellt werden soll. Dazu sind folgende Schritte durchzuführen.

  • Der komplette Ordner /WebContent wird aus der Boilerplate kopiert und in die oberste Ebene des Theme-Repos eingefügt. Der Unterordner /WebContent/resources/themes/ wird gelöscht.

  • Der alte Theme-Ordner /src/META-INF/resources/resources/themes/ wird in den Ordner /WebContent/resources/ verschoben und anschließend der komplette Inhalt des Ordners /src gelöscht. Der Ordner /src kann bestehen bleiben.

  • Im Ordner /.settings der Boilerplate befindet sich die Datei org.eclipse.wst.common.project.facet.core.xml. Diese wird kopiert und in den Ordner /.settings des Themes kopiert. Die vorhandene Datei wird durch die neue überschrieben.

  • Jetzt einen Rechtsklick auf das Theme-Projekt machen und es zu einem Maven-Projekt konvertieren. Dazu den Weg über Configure -> Convert to Maven Project gehen. Die Einstellungen können dabei auf Standard bleiben und den Dialog über Finish beenden.

  • Auf der obersten Ebene des Boilerplate-Repos liegt die Datei pom.xml. Diese wird kopiert und an die selbe Stelle im Theme-Repo eingefügt. Die vorhandene Datei wird überschrieben.

  • An der pom.xml müssen noch Anpassungen gemacht werden, die wie folgt aussehen.

pom.xml
<artifactId>theme-themeName</artifactId>
...
<name>goobi-viewer-theme-themeName</name>
<url>https://github.com/intranda/goobi-viewer-theme-themeName</url>
...
  • Die Pfade in der Datei Gruntfile.js müssen angepasst werden. Dazu dient die Datei Gruntfile.js aus dem Boilerplate-Repo als Vorlage.

  • Die Datei build.xml kann aus dem Theme-Repo gelöscht werden. Sie wird nicht länger benötigt.

  • Die Änderungen an der Datei pom.xml werden aktiv, indem das Projekt aktualisiert wird. Das geschieht über den Weg Rechtsklick auf das Projekt -> Maven -> Update Project....

  • Jetzt kann das Maven-Projekt installiert werden. Das geschieht, indem ein Rechtsklick auf das Projekt gemacht wird und Run as -> Maven install ausgeführt wird. Die Konsole von Eclipse gibt nach Erfolg eine entsprechende Meldung aus.

Das Projekt kann nun in dem internen Tomcat von Eclipse gestartet werden. Dazu Rechtsklick auf das Projekt -> Run as -> Run on Server auswählen. Den installierten Tomcat anklicken und mit Finish bestätigen. Wenn der Goobi viewer unter den Standardeinstellungen läuft, dann ist er nun unter zu erreichen. Es darf immer nur ein Projekt im Tomcat laufen, da es ansonsten zu Konflikten kommt.

https://github.com/intranda/goobi-viewer-theme-boilerplate
8.6 Entwicklungsumgebung
http://localhost:8080/viewer/