Juni
Goobi viewer Digest für Juni 2022

Coming soon
🚀

  • Neuerungen bei den Zugriffsbeschränkungen
  • Überarbeitung des CMS-Bereichs

Entwicklungen

E-Pflicht

Allgemein

Gemeinsam mit der Zentral- und Landesbibliothek Berlin (ZLB) entwickeln wir eine Open Source Lösung für die Verarbeitung und Bereitstellung von E-Pflicht-Publikationen. Dabei werden sowohl Goobi workflow als auch der Goobi viewer um entsprechende Funktionalitäten und Systemkomponenten erweitert.
In Goobi workflow wird die Abliefernden-Verwaltung und Registrierung, die Ablieferungsschnittstellen und der Ablieferungsprozess gesteuert. Der Goobi viewer übernimmt die rechtskonforme Bereistellung der E-Pflicht Inhalte.
Die Entwicklungen sind noch nicht abgeschlossen aber erste Teile sind in dem Juni Release enthalten. Diese sind im folgenden beschrieben.

Client (Preview)

Der Client ist eine Desktop Applikation, die unter Windows, Mac und Linux funktioniert. Konfiguriert werden kann der Name des Clients, die zu verwendenden Icons, der zu verwendende Goobi viewer Server, unterstützte Sprachen und so weiter. Nach der Konfiguration wird der Client kompiliert. Dadurch entsteht eine native Anwendung für das jeweilige Betriebssystem.
Unter Windows kann auch ein Installer in Form einer setup.exe Datei erstellt werden. Dieser unterstützt eine sogenannte "Silent Installation", um den Client automatisch mit Systemen wie zum Beispiel OPSI oder baramundi auf vielen PCs gleichzeitig zu deployen. Der Client selber unterstützt den Parameter myid. Dieser gibt nur die einzigartige ID aus, die dann in entsprechenden Skripten für die automatische Freischaltung am Backend weiterverwendet werden kann.
Über den Client selber ist sichergestellt, dass zum Beispiel Screenshots, das Kopieren in die Zwischenablage oder auch das Speichern und Drucken von Dokumenten unterbunden ist. Die Restriktionen können sich je nach Betriebssystem unterscheiden.
Der Client wird voraussichtlich kommenden Monat auf Github als Open Source veröffentlicht.
E-Pflicht Client Vorschau

Clientverwaltung

Im Backend des Goobi viewers gibt es eine neue Seite zur Verwaltung der Clients. Ein Client ermittelt zur Laufzeit eine für sich einzigartiges ID und überträgt diese mit an den Server. Der Server prüft dann ob diese bekannt und konfiguriert ist. Jeder Client muss mit seiner ID, sowie einem IP-Adressbereich aus dem er sich verbinden darf, bestätigt werden.
Um einen Client zu bestätigen gibt es zwei Möglichkeiten: Über die graphische Oberfläche im Backend oder über die REST API.
Gibt es einen nicht konfigurierten Client wird im Backend ein entsprechendes Widget auf dem Dashboard angezeigt. Auf der Seite "Clients" werden nicht konfigurierte im oberen Bereich aufgelistet. Darunter gibt es eine Tabelle, die alle bekannten, bereits konfigurierten Clients auflistet. Wird ein nicht konfigurierter Client angeklickt kann er bestätigt oder abgelehnt werden. Für jeden Client kann optional ein Name und eine Beschreibung hinterlegt werden.
Alternativ stehen auch neue REST Endpoints für die Clientverwaltung zur Verfügung. Sofern der richtige TOKEN mitgesendet wird können Clients auch darüber akzeptiert und konfiguriert oder abgelehnt werden. Dadurch kann auch bei einem automatischen Deployment auf vielen PCs gleichzeitig jeder Client gleich freigeschaltet werden ohne, dass dafür eine manuelle Interaktion notwendig ist
Clients sind am Ende Rechtenehmer wie Benutzer, Benutzergruppen oder IP-Bereiche und können mit Zugriffsbeschränkungen kombiniert werden. Dadurch können Datensätze oder auch nur bestimmte Funktionen wie der Zugriff auf Bilder / Dateien etc. auf einen oder alle Clients beschränkt werden.
Nicht konfigurierte Client auf dem Dashboard Widget und Sidebar Indikator
Übersichtsseite der Clients
Neuen Client akzeptieren oder ablehnen
Client konfigurieren
Neue REST Endpoints zur Clientverwaltung

Suche

Der Goobi viewer Indexer schreibt nun auch ein Feld, in dem nur der Tag und der Monat stehen. Dadurch ist es möglich alle Datensätze zu finden, die zu einem bestimmten Tag gehören, unabhängig von der Jahreszahl. Hierfür steht das neue URL-Pattern /searchtoday/ zur Verfügung, dass dann automatisch auf das aktuelle Datum übersetzt.

Zugriffsbeschränkungen

Schon lange kann der Goobi viewer mit einer Moving Wall umgehen. Allerdings waren wir mit der Konfiguration nicht zufrieden: Unterschiedliche Felder für Jahr und Datum sowie ein Schalter im Backend UND eine Bedingung die eingeben beziehungsweise im Blick behalten werden musste.
Mit diesem Release wurde das Prozedere vereinfacht. Das Datum wird jetzt einheitlich im Feld DATE_PUBLICRELEASEDATE gespeichert und dort auch automatisch normalisiert. Aus einer Jahreszahl innerhalb der Moving Wall wird automatisch der erste Januar des angegebenen Jahres um 00:00 Uhr. Damit entfällt auch die Notwendigkeit zur Formulierung einer Solr-Query als Bedingung, da nicht mehr zwischen MDNUM_ und DATE_ Feldern unterschieden werden muss. Die Bedingung wird nun automatisch gesetzt, wenn der Toggle im Backend für die Moving Wall aktiviert wurde.

Websockets

Der Goobi viewer verwendet an verschiedenen Stellen Websockets. Eine Stelle ist die Ermittlung der Information wie häufig ein Datensatz gleichzeitig betrachtet wird, sofern diese Zugriffsbeschränkung konfiguriert wurde.
Das Öffnen von entsprechenden Websockets findet jetzt nicht mehr grundsätzlich global, sondern nur noch auf den Seiten der entsprechenden Datensätze statt. Dadurch konnte die Anzahl der notwendigen Apache Prozesse signifikant reduziert werden.
Weniger Apache Prozesse durch intelligentere Websocket Verbindungen

Versionsnummern

Die Versionen die in der pom.xml des Themes eingetragen werden müssen um die in diesem Digest beschriebenen Funktionen zu erhalten lauten:
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-core</artifactId>
<version>22.06.4</version>
</dependency>
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-core-config</artifactId>
<version>22.06.1</version>
</dependency>
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-connector</artifactId>
<version>22.06</version>
</dependency>
Der Goobi viewer Indexer hat die Versionsnummer 22.06
Das Goobi viewer Crowdsourcing Modul hat die Versionsnummer 22.06.1