2019

2019-12-20

Folgendes SQL Statement ausführen, damit die Beschreibungen von Merklisten länger sein dürfen:

ALTER TABLE bookshelves MODIFY description LONGTEXT;

2019-10-24

Für das Logging müssen die Log4j und SLF4j libs vom Solr in einen dedizierten Ordner. Dafür sind folgende Schritte auszuführen:

mkdir /opt/digiverso/viewer/apache-solr/tomcat-lib/
mv /opt/digiverso/tomcat-lib/log4j*jar /opt/digiverso/viewer/apache-solr/tomcat-lib/
mv /opt/digiverso/tomcat-lib/*slf4j* /opt/digiverso/viewer/apache-solr/tomcat-lib/
chown -R tomcat8. /opt/digiverso/viewer/apache-solr/tomcat-lib/

Anschließend muss der Pfad in dem base="" Attribut der PreResource in der /etc/tomcat8/Catalina/localhost/solr.xml auf den neuen Ordner angepasst werden.

Damit dann die log4j2.xml aus der Applikation selbst greift, muss gegebenenfalls noch die Definition einer globalen Konfigurationsdatei, die als Parameter der JVM beim Starten übergeben wird, aus der /etc/default/tomcat8 entfernt werden.

2019-10-08

Ein ein Update des Goobi viewer Core enthält ab diesem Zeitpunkt automatisch die neuen Crowdsourcing Kampagnen. Aus diesem Grund muss der Goobi viewer Indexer und das Solr-Schema mit aktualisiert werden. Die Indexer Konfigurationsdatei muss um die folgende Ordnerdefinition erweitert werden:

solr_indexerconfig.xml
<init>
    <annotationFolder>annotations</annotationFolder>
</init>

Eine Neuindexierung des Datenbestandes ist trotz Update des Solr Schemas nicht notwendig.

2019-08-29

Für die Suche in den Merklisten muss das Feld BOOKSHELF in der Feldliste für die erweiterte Suche konfiguriert sein. Deswegen muss bei einem Update geprüft werden, ob in der lokalen config_viewer.xml eine individuelle Liste an Suchfeldern definiert wurde. Wenn ja das Feld hinzufügen:

config_viewer.xml
<search>
    <advanced>
        <searchFields>
            [...]
            <field>BOOKSHELF</field>
        </searchFields>
    </advanced>
</search>

2019-08-22

Es muss überprüft werden, ob in der lokalen config_viewer.xml ein alternatives Mapping für den pageType viewImage existiert:

config_viewer.xml
<viewer>
  <pageTypes>
    <viewImage>objekt</viewImage>
    ...
  </pageTypes>
</viewer>

Wenn ja, dann muss das Mapping auf den neuen pageType viewObject geändert werden:

<viewer>
  <pageTypes>
    <viewObject>objekt</viewObject>
    ...
  </pageTypes>
</viewer>

2019-07-31

Wenn für ein Werk nur Volltextdateien (kein ALTO) vorliegt, konvertiert der Goobi viewer Indexer diese ab sofort automatisch zu UTF-8 wenn ein abweichendes Encoding vorliegt.

Wenn im Goobi viewer Indexer die RemainingSpaceStrategy inklusive Buffer verwendet wird, dann wird dieser bei einer Neuindexierung überprüft und das Werk gegebenenfalls in ein anderes Repository verschoben wenn der konfigurierte Wert unterschritten wird.

2019-07-06

Da URLs nicht mehr automatisch gesetzt werden muss sichergestellt sein, dass in der lokalen config_viewer.xml die folgenden URLs konfiguriert sind:

config_viewer.xml
<urls>
  <metadata>
    <mets>https://viewer.example.org/oai?verb=GetRecord&amp;metadataPrefix=mets&amp;identifier=</mets>
    <marc>https://viewer.example.org/oai?verb=GetRecord&amp;metadataPrefix=marcxml&amp;identifier=</marc>
    <dc>https://viewer.example.org/oai?verb=GetRecord&amp;metadataPrefix=oai_dc&amp;identifier=</dc>
    <ese>https://viewer.example.org/oai?verb=GetRecord&amp;metadataPrefix=europeana&amp;identifier=</ese>
  </metadata>
  
  <contentServerWrapper>https://viewer.example.org/content/</contentServerWrapper>
  <download>https://viewer.example.org/download/</download>
  <rest>https://viewer.example.org/rest/</rest>
</urls>

2019-06-11

Die CORS Unterstützung im Apache muss um die folgenden Einträge ergänzt werden:

Header always set Access-Control-Allow-Methods "GET, OPTIONS"
Header always set Access-Control-Max-Age "600"
Header always set Access-Control-Allow-Headers "Authorization, Content-Type"
Header always set Access-Control-Expose-Headers "Content-Security-Policy, Location"

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

2019-06-05

Die Package-Struktur des Goobi viewer Connectors hat sich geändert. Bei einem Update ist es zwingend notwendig die Inhalte aus dem Ordner /opt/digiverso/viewer/oai/token/ zu löschen.

2019-05-29

Die Projektstrukur wurde geändert. Bestehende Themes sind nicht mehr mit dem aktuellen Goobi viewer Core kompatibel und müssen angepasst werden. Eine Anleitung erscheint in Kürze in Kapitel 8.2 Theme changes.

Wenn das Theme als externes Theme eingebunden ist sind die im folgenden beschriebenen Anpassungen notwendig. Sie sind in diesem Fall exemplarisch mit dem Reference-Theme dargestellt. Der Theme beziehungsweise Repositoryname ist immer auf den eigenen Fall anzupassen.

Anpassen der Repository URL. Dafür in dem ausgecheckten Repository die Datei .git/config/ editieren und die URL zum remote origin anpassen.

Weiter muss der base Pfad für die PreResources in der context.xml geändert werden.

Alt:

viewer.xml
<PreResources 
        className="org.apache.catalina.webresources.DirResourceSet"
        base="/opt/digiverso/viewer/themes/goobi-viewer-theme-reference/goobi-viewer-theme-reference/src/META-INF/resources/resources/themes/"
        webAppMount="/resources/themes" />

Neu:

viewer.xml
<PreResources 
        className="org.apache.catalina.webresources.DirResourceSet"
        base="/opt/digiverso/viewer/themes/goobi-viewer-theme-reference/goobi-viewer-theme-reference/WebContent/resources/themes/"
        webAppMount="/resources/themes" />

Die Anpassung des Pfades muss natürlich auch in der lokalen config_viewer.xml unter viewer/theme/rootPath erfolgen.

2019-05-27

Sofern die Unterstützung von denkXweb gewünscht wird, muss der Goobi viewer Indexer aktualisiert und die folgenden beiden Zeilen in dessen Konfigurationsdatei eingefügt werden:

solr_indexerconfig.xml
<indexedDenkXweb>indexed_denkxweb</indexedDenkXweb>
<origDenkXweb>/opt/digiverso/viewer/orig_denkxweb/</origDenkXweb>

Außerdem den Ordner im Dateisystem anlegen:

mkdir /opt/digiverso/viewer/indexed_denkxweb/
mkdir /opt/digiverso/viewer/orig_denkxweb/

chown tomcat8:tomcat8 /opt/digiverso/viewer/indexed_denkxweb/
chown tomcat8:tomcat8 /opt/digiverso/viewer/orig_denkxweb/

2019-05-22

Damit nach Änderungen am Javascript und CSS Dateien diese schneller an den Client ausgeliefert werden ist eine Änderung in der Apache Konfiguration des Goobi viewer vhosts notwendig. Einerseits hinzufügen der folgenden Zeile:

# make sure the ETag headers are correctly forwarded. 
# Post Apache 2.4 have a look at
# https://httpd.apache.org/docs/trunk/mod/mod_deflate.html#deflatealteretag
RequestHeader edit "If-None-Match" '(.*)-gzip"$' '$1", $1-gzip"'

Andererseits das auskommentieren der folgenden drei Zeilen im <LocationMatch /> Block für den Goobi viewer:

# ExpiresByType text/css "access plus 24 hours"
# ExpiresByType text/javascript "access plus 24 hours"
# ExpiresByType application/javascript "access plus 24 hours"

2019-04-24

Die URLs für Verlinkung der Sammlungen aus dem Backend heraus werden nun anders gebildet. Bei relativen URLs wird nun immer auch der Anwendungsname mit angegeben. Beim Update ist zu prüfen ob im Admin-Backend unter "Sammlungen" Einträge vorhanden sind. Wenn ja muss geprüft werden ob URLs zu CMS-Seiten vergeben sind. Ist das der Fall muss der Anwendungsname entfernt werden.

Beispiel:

2019-03-29

Aktualisierung des Goobi viewer Indexers und Anpassen der Konfigurationsdatei solr_indexerconfig.xml. Wenn das Metadatum MD_SERIESTITLE existiert muss dieses in MD_TITLE_SERIES umbenannt werden. Siehe dazu auch den letzten Abschnitt in Kapitel 6.2.

Außerdem kann aus der lokalen config_viewer.xml die Definition der Klassifikationen aus dem CMS-Bereich gelöscht werden (config/cms/classifications). Die Werte werden inzwischen in der Datenbank vorgehalten.

Durch die Refaktorisierung des Medien-Bereichs sind einige Funktionen von dort an andere Stelle gewandert. Zum Beispiel auch die Zuweisung einer Bild-Datei zu einer Sammlung. Dieser Umzug muss manuell gemacht werden. Dafür ist vor dem Update folgendes SQL auszuführen:

SELECT cms_media_item_id, file_name, collection, collection_name, collection_field FROM cms_media_items WHERE collection=1;

Die Query liefert eine Liste aller Medien-Objekte die berücksichtigt werden müssen. Für jedes muss im CMS-Backend eine neue Sammlung angelegt werden mit collection_field als Sammlungsfeld und collection_name als Sammlungsname. Das Bild muss anhand der id oder des Dateinamens identifiziert werden.

2019-02-14

Die Übersichtsseiten-Funktionalität wurde zugunsten einer CMS-Erweiterung entfernt. Mit dem Update des Cores muss zwingend auch der Goobi viewer Indexer und das Solr-Schema aktualisiert werden.

In der Konfigurationsdatei des Goobi viewer Indexers den Eintrag für den overviewFolder entfernen und für einen cmsFolder hinzufügen:

solr_indexerconfig.xml
<!--overviewFolder>overview</overviewFolder-->
<cmsFolder>cms</cmsFolder>

Außerdem den Ordner im Dateisystem anlegen:

mkdir /opt/digiverso/viewer/cms/
chown tomcat8:tomcat8 /opt/digiverso/viewer/cms/

Nun folgendes SQL Statement ausführen um sicherzustellen, dass der Zeichensatz der CMS-Zieltabelle korrekt ist und die Migration nicht fehlschlägt:

ALTER TABLE cms_content_items CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Ob die Migration ausgeführt werden muss, kann in der Datenbank geprüft werden:

SELECT COUNT(*) FROM overview_pages,overview_page_updates;

Um dann bereits angelegte Übersichtsseiten aller Werke ins CMS zu migrieren, den folgenden Aufruf einmalig ausführen:

https://viewer.example.org/viewer/tools?action=migrateOverviewPages

Am Ende kann der overview Ordner aus dem Dateisystem auch in das Backup verschoben werden.

Last updated