März
Goobi viewer Digest für März 2022

Coming soon
🚀

  • Performance für Karten mit vielen Pins
  • Upload von Datensätzen
  • Überarbeitung des CMS-Bereichs

Entwicklungen

Disclaimer Modal

Immer wieder kommt es vor, dass für angezeigte Inhalte ein zusätzlicher Kontext notwendig ist. Dafür wurde vor einiger Zeit bereits das Konzept der Werkshinweise realisiert.
Neu ist jetzt ein Disclaimer Modal, dass aktiv von Besuchern bestätigt werden muss. Dadurch ist es jetzt möglich über sensible Inhalte, wie zum Beispiel aus dem Bereich der Ethnologie oder jüdischem Archivgut, direkter zu Informieren und von den Besuchern eine Interaktion / Bestätigung zu verlangen.
Im Backend gibt es dafür den neuen Bereich "Disclaimer", in dem neben der Aktivierung oder Deaktivierung der Funktionalität selbst, der angezeigte Text, die Art der Anzeige und die Gültigkeit gesteuert werden kann. Der Text im Modal kann mit HTML formatiert und wie gewohnt in allen aktiven Sprachen hinterlegt werden.
Für die Anzeige kann konfiguriert werden, ob das Modal prinzipiell auf jeder Seite des Goobi viewers oder nur in bestimmten Datensätzen angezeigt werden soll. Die Datensätze lassen sich dann mit einer Solr-Query eingrenzen.
Bei der Gültigkeit steht entweder die Browser-Session oder eine Dauer in Tagen zur Auswahl. Das bedeutet, dass das Modal zum Beispiel beim ersten Aufrufen egal welcher Seite bestätigt werden muss und dann innerhalb der Browser Session nicht erneut angezeigt wird. Alternativ kann das Modal auch nur in bestimmten Werken angezeigt und bestätigt werden und diese Bestätigung gilt dann zum Beispiel für zwei Wochen.
Sofern der Text geändert wird, kann die Bestätigung der Benutzer, analog zu den Nutzungsbedingungen oder dem Cookie-Banner, zurückgesetzt werden.
Die Gültigkeit kann außerdem in den Rechte-Bereich überschrieben werden. Damit kann zum Beispiel ein Hinweis grundsätzlich eine Gültigkeit von 14 Tagen, innerhalb des Lesesaals aber nur von einer Browser Session haben.
Disclaimer Modal im Frontend
Der Text kann in verschiedenen Sprachen...
... und für verschiedene Bereiche und Gültigkeiten aktiviert werden.

Barrierefreiheit

Die Arbeiten an der Barrierefreiheit des Goobi viewers gehen beständig weiter. So haben wir in den letzten Monaten vor allem die Benutzung von Tabellen auf Screenreadern überarbeitet. Außerdem wurden Links und Buttons inhaltlich überprüft, so dass Links immer Seiten aufrufen und Buttons immer eine Aktion ausführen.

Kommentare

Bei den Kommentaren wurde das Konzept der Kommentargruppen komplett neu entwickelt. Zielsetzung war, das wenn mehrere Partner Inhalte in ein Portal beisteuern, die einzelnen Partner eine einfache Übersichts- und Moderationsmöglichkeit für die Kommentare bekommen, die zu Datensätze der eigenen Einrichtung verfasst wurden.
Aus dieser Anforderung heraus sind letztlich die Kommentargruppen entstanden. Diese basieren auf einer Solr-Query. Es sind dann alle Kommentare sichtbar, die zu den Werken innerhalb der Solr-Query angelegt wurden. Eine Kommentargruppe kann dann für eine Benutzergruppe freigegeben werden. Damit verbunden sein kann das Recht zum Bearbeiten oder Löschen von Kommentaren selbst sowie einer E-Mailbenachrichtigung bei neuen Kommentaren.
Benutzeraccounts, die Mitglied in der Benutzergruppe sind, erhalten dann automatisch Zugriff auf das Backend. Zugänglich ist allerdings nur die freigegebene Kommentargruppe.
Weiter wurde die Verwaltung der Kommentare komplett ins Backend verlegt. Einstellungen innerhalb der Konfigurationsdatei müssen bei einem Update migriert werden. Der entsprechende Abschnitt in der Konfigurationsdatei entfällt.
Übersicht über alle Kommentare und eine vorhandene Kommentargruppe
Beim Anlegen oder Bearbeiten können verschiedene Rechte vergeben werden
Ansicht einer Kommentargruppe

Zugriffsbeschränkungen

Bei den Zugriffsbeschränkungen wurde die Terminologie verbessert. Bisher haben wir von "Zugriffslizenzen" gesprochen. Durch das darin enthaltene Wort "Lizenzen" gab es oft eine Assoziierung mit "CC0" oder "Public Domain", den Nutzungslizenzen. Um hier eine klarere Trennung vorzunehmen sprechen wir ab sofort von "Zugriffsbeschränkungen" und "Nutzungslizenzen". Alle Übersetzungen, Hilfetexte etc. wurden im Backend entsprechend angepasst.

Suche

Auch im Bereich der Bedienbarkeit von der Suche arbeiten wir langsam aber beständig weiter. Im vergangenen Monat gab es zwei Entwicklungen in diesem Bereich.
Die eine Entwicklung betrifft die erweiterte Suche und die Anzeige von DropDown Menüs. Sofern für ein ausgewähltes Feld jetzt weniger als 10 Einträge zur Verfügung stehen, geschieht dieses nämlich ab sofort automatisch. Dadurch entfällt einerseits die Notwendigkeit sich für alle Felder zu überlegen ob es Sinn ergibt diese Option zu aktivieren und andererseits erhöht sich dadurch die Bedienbarkeit erheblich, da Nutzern entsprechende Werte direkt angeboten werden. Der Schwellenwert von 10 kann bei Bedarf auch über ein Attribut in der Konfigurationsdatei angepasst werden.
Die andere Entwicklung betrifft die Suchtrefferanzeige. Gerade wenn Normdaten Indexiert werden gibt es bei unterschiedlichen Schreibweisen oft lange Listen an Werten die untereinander stehen. Diese Werte können für bestimmte Felder jetzt in einer Zeile angezeigt werden. Dadurch wird die Anzeige kompakter und die Übersicht steigt.
Ein Suchtreffer vor...
...und derselbe Suchtreffer nach der Entwicklung und Konfiguration.

Goobi viewer Indexer

Der Goobi viewer Indexer kann nun bei METS-Dateien zwischen einer Neuindexierung und einem aktualisierten Datensatz unterscheiden. Das macht die Meldung von URNs an die DNB via epicur / OAI robuster.

Entwicklungsprozess

Schon lange arbeiten wir daran den Entwicklungsprozess kontinuierlich zu verbessern. In diesem Monat ist eine neue Facette dazugekommen, bei der wir die Prüfung auf Sicherheitslücken in unseren Arbeitsablauf integriert haben.
Konkret sieht das so aus, dass wir automatisch die von uns verwendeten Abhängigkeiten (zum Beispiel Java oder JavaScript libraries) mittels des Dependency-Check Maven Plugins gegen die OWASP (Open Web Application Security Projekt) Datenbank prüfen. Dabei wird versucht öffentlich bekannte Schwachstellen in den Abhängigkeiten eines Projektes zu identifizieren.
Dabei gibt es natürlich auch false-positives. Diese können von uns in einer Konfigurationsdatei hinterlegt werden. Unser Ziel ist es alle Anmerkungen durchzugehen, zu bewerten und dann im Entwicklungsprozess einen Schalter umzulegen, der builds automatisch fehlschlagen lässt, wenn eine Sicherheitslücke mit einem CVSSv3 Score größer als 5 im Projekt auftaucht.
Verlauf von CVEs für Abhängigkeiten im Projekt über die Zeit

Versionsnummern

Die Versionen die in der pom.xml des Themes eingetragen werden müssen um die in diesem Digest beschriebenen Funktionen zu erhalten lauten:
1
<dependency>
2
<groupId>io.goobi.viewer</groupId>
3
<artifactId>viewer-core</artifactId>
4
<version>22.03.1</version>
5
</dependency>
6
<dependency>
7
<groupId>io.goobi.viewer</groupId>
8
<artifactId>viewer-core-config</artifactId>
9
<version>22.03</version>
10
</dependency>
11
<dependency>
12
<groupId>io.goobi.viewer</groupId>
13
<artifactId>viewer-connector</artifactId>
14
<version>22.03.1</version>
15
</dependency>
Copied!
Der Goobi viewer Indexer hat die Versionsnummer 22.03
Das Goobi viewer Crowdsourcing Modul hat die Versionsnummer 22.03