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
  • Regeln
  • Veröffentlichen eines Releases
  • Neue Minor-Version
  • Neue Patch Level Version
  1. Devs & Ops
  2. 6. Erklärt!

6.4. Release erstellen

Previous6.3 Theme Umstellung zu MavenNext6.5 Theme Anpassungen

Last updated 1 year ago

Dieses Seite enthält die Regeln und das Verfahren um ein neues Release zu erstellen.

Regeln

  • Es findet keine aktive Entwicklung in dem master Branch statt. Nur im develop Branch oder besser noch, dedizierten feature_ Branches.

  • Die Versionierung in der pom.xml folgt bedingt der Spezifikation.

  • Bugfixes werden im develop Branch gemacht und in den master Branch cherry-picked. Sie erhöhen dort das Patchlevel um eins.

  • Der Merge von dem develop Branch in den master erhöht die Minor Version um eins und setzt den Patch-Level auf 0 zurück.

  • Der develop Branch hat immer eine Minor Version höher als der master plus -SNAPSHOTSuffix.

  • Wenn eine neue Version auch Änderungen im Referenz-Theme benötigt, muss zuerst das Theme gemerged werden.

Veröffentlichen eines Releases

Zuerst muss entschieden werden warum ein Release erfolgen soll. Gründe sind:

  • Eine neue Minor-Version weil der develop Branch gemerged wurde.

  • Eine neue öffentliche Version weil ein Digest veröffentlicht wurde.

  • Eine neue Patch-Level-Version weil ein Bugfix im master notwendig war.

Neue Minor-Version

Eine Minor-Version wird veröffentlicht, wenn neue Funktionalität als stabil angesehen wird und der develop Branch in den master gemerged wird. Wenn es auch Änderungen im Reference Theme gibt, müssen diese vorher gemerged werden. Danach wird das Release mit den folgenden Schritten erstellt:

Den develop Branch in den master Branch mergen:

cd goobi-viewer-core/goobi-viewer-core
git pull
git checkout master
git merge --strategy-option theirs develop

Nun wird die neue Version in der pom.xml gesetzt. Dort sollte zum Beispiel 21.01-SNAPSHOTstehen und typischerweise sollte es ausreichen, den -SNAPSHOT Suffix zu entfernen.

Anschließend die neue Versionsnummer in einer Variable speichern, commit, tag, push:

vim pom.xml
NEWVERSION="21.01"
git commit -am "release version ${NEWVERSION}"
git tag -a -m "release version ${NEWVERSION}" v${NEWVERSION}
git push --tags
git push

Am Ende muss die Minor-Version im develop Branch erhöht werden:

git checkout develop

In der pom.xml sollte zum Beispiel 21.01-SNAPSHOT stehen, dass zu 21.02-SNAPSHOTangepasst wird.

Commit und push:

vim pom.xml
git commit -am "prepare for next development iteration"
git push

Neue Patch Level Version

Eine Patch-Level-Version wird nur mit Bugfix veröffentlicht. Dafür werden die gewünschten Commits aus dem develop Branch cherry-picked. Am Ende wird in der pom.xml das Patch-Level erhöht. Das Release wird mit den folgenden Schritten erstellt:

cd goobi-viewer-core/goobi-viewer-core
git pull
git checkout master
git cherry-pick HASH1
git cherry-pick HASH2

Wenn das Patchrelease nicht für die aktuelle, sondern eine frühere Version erstellt werden soll, muss die frühere Version anstelle des masters als Branch ausgecheckt werden. Dazu das folgende Kommando verwenden: git checkout -b release21.01.1 v21.01.1

Nun die pom.xml editieren und den Patchlevel um einen erhöhen. Steht dort zum Beispiel 21.01 ist die neue Version 21.01.1

Anschließend wird die neue Versionsnummer in einer Variable gespeichert, commit, tag, push:

vim pom.xml
NEWVERSION="21.01.1"
git commit -am "release version ${NEWVERSION}"
git tag -a -m "release version ${NEWVERSION}" v${NEWVERSION}
git push --tags
git push

Wenn das Patchrelease in einem Theme verwendet werden soll, muss diese Version nach dem erfolgreichen Bauen und Veröffentlichen im Nexus in die pom.xml des Themes eingetragen werden.

Semantic Versioning