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
  • Allgemein
  • Vorbereitungen
  • Updates prüfen
  • Updates installieren
  • Patch-Releases
  • Major- und Minor Releases
  • Abhängigkeit hinzufügen
  1. Devs & Ops
  2. 6. Erklärt!
  3. 6.6 Updates von Abhängigkeiten

6.6.2 CSS und Javascript

Allgemein

Für die Verwaltung der vom Goobi viewer verwendeten CSS und Javascript Abhängigkeiten wird eine Kombination aus NPM und Grunt verwendet. Sie werden in der package.json verwaltet.

Vorbereitungen

Bei einer neuen Installation muss sichergestellt sein, dass npm und die grunt-cli installiert sind:

sudo apt install npm
sudo npm install -g grunt-cli

Danach können die Abhängigkeiten erstmalig mit dem folgenden Kommando heruntergeladen werden:

npm install

Updates prüfen

Mit dem folgenden Kommando kann überprüft werden ob Patches für installierte Abhängigkeiten vorliegen:

npm outdated

Liegt für die Abhängigkeit ein Update vor, so wird dieses wie folgt angezeigt:

Package                Current  Wanted  Latest  Location
leaflet.markercluster    1.5.1   1.5.3   1.5.3  global

Liegt kein Update vor, ist die Ausgabe leer.

Updates installieren

Patch-Releases

npm ist so konfiguriert, dass nur Patch-Versionen installierter Abhängigkeiten eingespielt werden.

Nach einem Update müssen die aktualisierten Pakete aus dem node_modules Verzeichnis in den Goobi viewer Core kopiert werden:

# Abhängigkeit aktualisieren
npm update PAKETNAME

# Pakete in den Goobi viewer Core kopieren
grunt copyDeps [--verbose]

Major- und Minor Releases

Es sollte vor einem Update geprüft werden, ob bei der Verwendung bestimmter Pakete Besonderheiten zu beachten sind. Angaben dazu befinden sich in der Unterseite 6.6.2.1.

Für die Installation von Major- oder Minor Releases muss diese explizit in der package.json in dem Abschnitt dependencies angepasst werden. Dies ist hier exemplarisch mit einem Update von TinyMCE 5.9.1 auf 5.10.0 gezeigt:

Anzeigen des Updates

npm outdated tinymce
Package  Current  Wanted  Latest  Location              Depended by
tinymce    5.9.2   5.9.2  5.10.0  node_modules/tinymce  goobi-viewer-core

Aktualisieren der package.json

package.json
/* ALT */
  "dependencies": { 
    "tinymce": "~5.9.1" 
  } 


/* NEU */
  "dependencies": { 
    "tinymce": "~5.10.0" 
  } 

Installieren der neuen Library

npm install

Übernahme in den Goobi viewer Core

grunt copyDeps

Abhängigkeit hinzufügen

Um eine neue Abhängigkeit hinzuzufügen muss folgendes passieren:

Installation der neuen Abhängigkeit

npm install [<@scope>/]PAKETNAME

Anpassen des SemVer-Präfix in der package.json

npm installiert neue Pakete standardmäßig mit dem ^ Prefix. Dieses muss manuell zur Tilde ~ geändert werden, um nur Patch-Versions zu aktualisieren.

package.json
/* ALT */
  "dependencies": { 
    "PAKETNAME": "^4.0.0" 
  } 


/* NEU */
  "dependencies": { 
    "PAKETNAME": "~4.0.0" 
  } 

Hinzufügen von Pfaddefinition in copyDeps Task

Damit die Dateien korrekt kopiert werden müssen in der grunt/copyPaths.js die entsprechenden Pfaddefinitionen hinzugefügt werden.

Übernahme in den Goobi viewer Core

grunt copyDeps
Previous6.6.1 JavaNext6.6.2.1 Tests

Last updated 3 years ago