Wenn mehr als ein Goobi viewer Indexer auf dem selben Server installiert sind, kann der Name der Logdatei in die geschrieben wird mit der Environment Variable LOGFILENAME überschrieben werden. Dafür muss die Systemd Unitfile aktualisiert werden:
Aus der lokalen Konfigurationsdatei kann die Einstellung für <connectorVersion /> gelöscht werden. Die Information wird jetzt softwareseitig ermittelt.
Wenn mehr als ein Goobi viewer auf dem selben Server installiert sind, kann der Configschalter <configFolder /> mit der gleichnamigen Umgebungsvariable im Tomcat überschrieben werden. Das kann bei Updates hilfreich sein. Beispiel:
_UNTOKENIZED wurde bisher pauschen für alle MD_* Felder geschrieben, unabhängig vom Schalter <addUntokenizedVersion />. Der Schalter wird ab sofort dort ebenfalls ausgewertet.
22.10
Goobi viewer Core
Erweiterte Suche
Die Erweiterte Suche ist in dem Release umgestaltet worden. Damit entfällt auch die Möglichkeit die erweiterte Suche inklusive Suchtreffer darunter über eine CMS Seite anzuzeigen. Die folgenden SQL Queries helfen dabei herauszufinden ob die erweiterte Suche im Zusammenhang mit dem CMS verwendet wird:
// CMS-Seite, die die erweiterte Suche aus dem Core überschreibtSELECT cms_page_Id FROM cms_static_pages WHERE static_page_name ="searchadvanced";// CMS-Seiten, die die erweiterte Suche verwendenSELECT owner_page_id FROM cms_content_items JOIN cms_page_language_versions ON cms_page_language_version_id=owner_page_language_version_id WHERE searchType=1;
Wurde die erweiterte Suche als CMS-Seite verwendet, muss auch die Verlinkung im Menü angepasst werden.
Weiter ist zu prüfen ob eine abweichende, lokale Konfiguration vorliegt. Die Option search/advanced/defaultItemNumber ist komplett entfallen. Die Anzahl der anzuzeigenden Felder wird nun über das Attribut visible="true" in den einzelnen Felddefinitionen geregelt. Die Felder DEFAULT, FULLTEXT und CMS_TEXT_ALL können aus der Liste entfernt werden, sie sind Kopien aus der Sektion <filters /> die jetzt per Konvention immer als erste Zeile angezeigt wird.
Die lokale Konfiguration muss bei dem Update geprüft und manuell angepasst werden.
Die Logik bei überschreibenden Zugriffsbeschränkungen hat sich umgedreht. Sofern diese Funktionalität genutzt wird ist nach dem Update zu prüfen, ob weiterhin alles so konfiguriert ist wie gewünscht. Dafür kann auch die neue Anzeige mit "Überschreibt" beziehungsweise "Wird überschrieben von" in der Übersicht im Backend verwendet werden.
Config
In der Konfigurationsdatei wurde erneut stark aufgeräumt und vereinheitlicht. Dabei wurden einige Schalter umbenannt und viele obsolete Einstellmöglichkeiten wurden zurückgebaut. Alle folgenden Punkte beziehen sich auf die lokale config_viewr.xml. Folgende Umbenennungen sind wichtig:
<!-- OLD --><viewer> <docstructTargetPageTypes /></viewer><!-- NEW --><viewer> <recordTargetPageTypes /></viewer>
<!-- OLD --><metadatalabel="DC"> <paramtype="translatedfield"key="DC"topstructOnly="true" /></metadata><!-- NEW --><metadatalabel="DC"topstructOnly="true" > <paramtype="translatedfield"key="DC" /></metadata>
<!-- OLD --><metadata> <browsingMenu> <luceneField>...</luceneField> </browsingMenu></metadata><!-- NEW --><metadata> <browsingMenu> <field>...</field> </browsingMenu></metadata>c
<!-- OLD --><webapi> <fields> <fieldluceneField="" /> </fields></webapi><!-- NEW --><webapi> <fields> <fieldsolrField="" /> </fields></webapi>
Die folgenden Schalter sind umgezogen:
<!-- OLD --><config> <cms> <mediaFolder /> </cms></config><-- NEW --><config> <cmsMediaFolder /></config>
<!-- OLD --><webGuiDisplay> <copyrightIndicator /><webGuiDisplay><!-- NEW --><sidebar> <copyrightIndicator /></sidebar>
Die folgenden Schalter sind entfallen und können gelöscht werden:
Goobi viewer Indexer
Bei der Indexierung von Normdaten hat es eine Verschiebung und Umbenennung von Configschaltern gegeben:
Damit es zu keinen Konflikten in der Konfiguration von Zugriffsbeschränkungen kommt muss die Konfiguration für eine Moving Wall angepasst werden. Die Datensätze sollen nach <mods accessCondition type='moving wall' /> exportieren. Ob Anpassungen notwendig sind kann mit dem folgenden SQL geprüft werden:
mysqlviewer-e'SELECT * FROM license_types WHERE moving_wall = "1"'
Ist die Ausgabe leer besteht kein Handlungsbedarf. Gibt die Ausgabe einen Wert zurück müssen folgende Dinge passieren:
Anpassen des Exportmappings in Goobi workflow in den genutzten Regelsätzen:
Neuexport aller betroffenen Datensätze aus Goobi workflow in den Goobi viewer
Anpassen der Konfiguration der Zugriffsbeschränkung im Goobi viewer Backend
22.08
Cronjobs
Für das regelmäßige übertragen von Nutzungszahlen aus der Datenbank in den Solr Suchindex muss die folgende Zeile in die /etc/cron.d/intranda-goobiviewer mit aufgenommen werden:
## This REST call to write usage statistics from database to Solr
#45 0 * * * root curl -s -H "Content-Type: application/json" -H "token:GOOBIVIEWERAPITOKEN" -d '{"type":"INDEX_USAGE_STATISTICS"}' -X POST http://localhost:8080/api/v1/tasks/ 1>/dev/null
Goobi viewer Core
Die Verlinkung zur erweiterten Suche ist in der einfachen Suchmaske entfallen. Sofern gewünscht und genutzt muss dafür ein alternativer Link hinzugefügt werden, zum Beispiel über das Menü.
Goobi viewer Indexer
Um sicherzustellen, dass die Nutzungslizenzen in dem von der Standardkonfiguration des Goobi viewers erwarteten Solr Feldstehen ist folgende Definition in die config_indexer.xml hinzuzufügen:
Mit dem Update des Datenbanktreibers muss die URL angepasst werden.
<!-- ALT -->url="jdbc:mysql://localhost/viewer?characterEncoding=UTF-8&autoReconnect=true&autoReconnectForPools=true" /><!-- NEU -->url="jdbc:mariadb://localhost/viewer?characterEncoding=UTF-8&autoReconnectForPools=true" />
Cronjobs
Für das regelmäßige Löschen von abgelaufenen Tickets (sofern aktiv) muss die folgende Zeile in die /etc/cron.d/intranda-goobiviewer mit aufgenommen werden:
Die <titleBarMetadataList /> ist mit diesem Release entfallen und wird durch die Möglichkeit der <sideBarMetadataList /> ersetzt. Bei dem Update ist zu prüfen ob es in der lokalen config_viewer.xml einen entsprechenden Block gibt. Wenn ja muss er manuell zu dem neuen Bereich migriert werden.
Weiter wurde der Bereich <sitemap /> umbenannt zu <sitelinks />. Sofern in der lokalen Konfiguration eine abweichende Konfiguration vorliegt ist muss das umfassende XML-Element umbenannt werden.
Goobi viewer Indexer
Um die Funktionalität zum Erfassen von Statistiken nutzen zu können ist ein Update des Solr-Schemas notwendig:
Mit dem Update ist zwingend eine Neuindexierung des Datenbestandes notwendig!
Apache
In der Apache Konfigurationsdatei befinden sich gegebenenfalls. noch veraltete Optionen, die unter Umständen das Funktionieren von Websockets verhindern. Sofern vorhanden müssen diese beiden Zeilen gelöscht werden:
Ob auf einem System eine Moving Wall für eine Zugriffsbeschränkung konfiguriert wurde kann mit dem folgenden SQL Snippet ermittelt werden:
SELECT*FROM license_types WHERE moving_wall=1;
Außerdem wurde die Indexierung des MIMETYPE geändert. Mit dem Update des Goobi viewers auf die Version 22.06 ist zwingend eine Neuindexierung des Datenbestandes notwendig!
22.05
Apache
Die folgenden Einstellungen dienen dem allgemeinen Hardening vom Apache Webserver und dem Goobi viewers:
patch /etc/apache2/conf-available/security.conf << "EOF"@@ -22,7 +22,7 @@ # Set to one of: Full | OS | Minimal | Minor | Major | Prod # where Full conveys the most information, and Prod the least. #ServerTokens Minimal-ServerTokens OS+ServerTokens Prod #ServerTokens Full #@@ -33,7 +33,7 @@ # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail #ServerSignature Off-ServerSignature On+ServerSignature Off # # Allow TRACE methodEOFa2enconf security
Danach die folgenden Zeilen in den Apache vHost mit einpflegen:
## Security
# If set to 'none' the Matomo iFrame does not work anymore
Header set Content-Security-Policy "frame-ancestors 'self';"
Header always append X-Frame-Options DENY
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options nosniff
Jetzt den Dienst neu starten:
systemctl restart apache2
Tomcat
Die folgenden Einstellungen dienen dem allgemeinen Hardening vom Tomcat Application Server und dem Goobi viewers:
Wenn die Google OpenID Authentifizierung aktiv ist muss der Wert auf "lax" stehen, da diese ansonsten fehlschlägt.
patch /etc/tomcat9/context.xml << "EOF"@@ -26,4 +26,7 @@ <!-- Uncomment this to disable session persistence across Tomcat restarts --> <Manager pathname="" />++ <!-- Set mode for the JSESSONID cookie. Google authentication needs "lax" -->+ <CookieProcessor sameSiteCookies="strict" /> </Context>EOF
Weiter muss in der /etc/tomcat9/server.xml bei dem HTTP <Connector /> Eintrag das Attribut server=" " hinzugefügt werden.
Nun noch den folgenden Eintrag in die /etc/tomcat9/Catalina/localhost/viewer.xml übernehmen:
Für die regelmäßige Abfrage des Status von neu beigetragenen Inhalten (sofern aktiv) muss die folgende Zeile in die /etc/cron.d/intranda-goobiviewer mit aufgenommen werden:
## This REST call checks the update status of contributed items
#42 * * * * root curl -s -H "Content-Type: application/json" -H "token:GOOBIVIEWERAPITOKEN" -d '{"type":"UPDATE_UPLOAD_JOBS"}' -X POST http://localhost:8080/api/v1/tasks/ 1>/dev/null
Goobi viewer Core
Der folgende Schalter kann aus der lokalen config_viewer.xml gelöscht werden. Die Werte werden nun programmatisch ermittelt:
Die Syntax für die Konfiguration der Zitierlinks hat sich verändert. Die Attribute prefix, suffix und appendImageNumberToSuffix sind entfallen. Anstelle dessen wurde das Attribut pattern="" eingeführt, das die beiden Platzhalter {value} (Wert des Feldes) und {page} (aktuelle Seitenzahl des geladenen Werkes) unterstützt.
Bei dem Update muss geprüft werden ob individuelle Einstellungen in der lokalen Konfigurationsdatei existieren. Diese sind dann bei Bedarf auf das neue Schema anzupassen.
<!-- OLD --><linktype="URL"for="image"label="DOI"field="MD_PI_DOI"prefix="https://doi.org/"suffix="#?page="topstructValueFallback="true"appendImageNumberToSuffix="true" /><!-- NEW --><linktype="URL"for="image"label="DOI"field="MD_PI_DOI"pattern="https://doi.org/{value}#?page={page}"topstructValueFallback="true" />
22.03
Goobi viewer Core
Kommentare
Die Konfiguration der Kommentare wurde aus der Konfigurationsdatei in das Backend verschoben. Deswegen muss bei einem Update geprüft werden ob der Abschnitt <comments /> in der lokalen config_viewer.xml existiert und wenn ja die Einstellungen gegebenenfalls migriert werden.
Suchtreffer
Die Konfiguration der Felder die bei der zusätzlichen Anzeige der Suchtreffer ignoriert oder übersetzt werden sollen hat sich geändert und muss angepasst werden.
<-- ALT --><displayAdditionalMetadata> <ignoreField>DC</ignoreField> <translateField>DOCSTRCT</translateField></displayAdditionalMetadata><-- NEU --><displayAdditionalMetadata> <fieldtype="ignore">DC</field> <fieldtype="translate">DOCSTRCT</field></displayAdditionalMetadata>
Bei der Migration können die folgenden Zeilen helfen:
Damit zwischen einer Neuindexierung und einem aktualisierten Datensatz unterschieden werden kann schreibt der Goobi viewer Indexer ein neues Feld. Dafür muss das Solr-Schema aktualisiert werden.
Bei einem Update auf diese Version sind keine Änderungen zu beachten.
22.01
Goobi viewer Indexer
Die Feldnamen für die vom Goobi viewer Indexer indexierten Named Entity Tags werden ab sofort komplett in Großbuchstaben geschrieben. Damit in der Werksansicht das Widget in der Seitenleiste weiterhin angezeigt wird, müssen die betroffenen Werke neu indexiert werden. Ob Werke betroffen sind und wenn ja welche kann zum Beispiel mit dem folgenden Snippet auf der Kommandozeile ermittelt werden:
Bei dem Update auf 22.01 werden in der Datenbank die Widgets automatisch in die neue Struktur migriert. Deswegen sollte vorher auf jeden Fall ein Backup der Datenbank angelegt werden. Während der Migration wird darüber beim Start des Tomcats in der catalina.out in Form von ERROR Meldungen informiert. Dabei handelt es sich um keine Fehler sondern um Informationen die so besser sichtbar werden.
Wenn in der Installation individuelle Widgets in Verwendung sind, sollten diese nach dem Update im Backend geprüft werden.