2020

4.13.0

Goobi viewer Core

Die Sektion <content /> ist aus der Konfigurationsdatei entfernt worden. Der Schalter mit dem die Anzeige des Widgets für den Download von Dateien gesteuert werden kann ist in die Sidebar-Sektion umgezogen. Bei einem Update ist zu prüfen ob in der lokalen config_viewer.xml der folgende Eintrag existiert um diesen bei Bedarf umzuziehen:
1
<!-- ALT -->
2
<content>
3
<originalContentDownload>false</originalContentDownload>
4
</content>
5
6
<!-- NEU -->
7
<sidebar>
8
<sidebarWidgetDownloads visible="false" />
9
</sidebar>
Copied!

4.12.0

Goobi viewer Core

Wird der TaskManager für die Generierung von PDF-Dateien verwendet muss ein UNIQUE Constraint auf die identifierSpalte in der download_jobs Tabelle gesetzt werden. Dafür müssen gegebenenfalls vorher Duplikate entfernt werden:
1
SELECT * FROM download_jobs WHERE identifier IN(SELECT identifier FROM download_jobs GROUP BY identifier HAVING COUNT(identifier) > 1);
2
3
/*
4
DELETE FROM download_jobs WHERE identifier=<one row from the duplicates>;
5
*/
6
7
ALTER TABLE download_jobs ADD UNIQUE(identifier);
Copied!

Goobi viewer Indexer

Der in der solr_indexerconfig.xml definierte Ordner für die gespeicherten Annotationen muss überprüft und gegebenenfalls angepasst werden. Der Goobi viewer Core erwartet die Dateien im Ordner annotations, es ist aber möglich, dass im Goobi viewer Indexer der Ordner annotation konfiguriert ist, also ohne s. Wenn das der Fall ist muss das in der Konfigurationsdatei wie auch im im Dateisystem korrigiert werden.
  • Prüfen ob ein falscher Ordner konfiguriert ist. Dafür das folgende Kommando ausführen. Wenn es eine Ausgabe gibt, dann muss den folgenden Punkten fortgefahren werden. Ist die Ausgabe leer ist hier Schluss.
1
grep "<annotationFolder>annotation</annotationFolder>" /opt/digiverso/indexer/solr_indexerconfig.xml
Copied!
  • Wenn das obige Kommando eine Ausgabe gab, dann kann die Konfigurationsdatei mit den folgenden Befehlen korrigiert werden:
1
mkdir /root/BACKUP/$(date -I)
2
cp /opt/digiverso/indexer/solr_indexerconfig.xml /root/BACKUP/$(date -I)
3
sed 's|<annotationFolder>annotation</annotationFolder>|<annotationFolder>annotations</annotationFolder>|g' -i /opt/digiverso/indexer/solr_indexerconfig.xml
4
systemctl restart solrIndexer
Copied!
  • Wenn eine Korrektur notwendig ist, dann müssen nun die Ordner im Dateisystem angepasst werden:
1
# Keine Datarepositories:
2
mv /opt/digiverso/viewer/annotation/ /opt/digiverso/viewer/annotations/
3
4
# Mit Datarepositories
5
for i in $(ls /opt/digiverso/viewer/data); do mv /opt/digiverso/viewer/data/${i}/annotation/ /opt/digiverso/viewer/data/${i}/annotations/; done
Copied!

4.11.0

Apache

Der gleichzeitige Zugriff auf Werke wird über WebSockets gesteuert. Dafür muss dessen Unterstützung in dem Apache Webserver in die Konfiguration mit aufgenommen werden:
1
## Enable WebSockets to check concurrent access
2
RewriteCond %{HTTP:Upgrade} websocket [NC]
3
RewriteCond %{HTTP:Connection} upgrade [NC]
4
RewriteRule /?(.*) ws://localhost:8080/$1 [P,L]
Copied!
Sollte der Tomcat nicht auf 8080 lauschen bitte den Port entsprechend anpassen. Es muss aber immer auf den HTTP Connector, nicht auf den AJP Connector weitergeleitet werden.
Anschließend das benötigte Modul aktivieren und den Dienst neu starten:
1
a2enmod proxy_wstunnel
2
systemctl restart apache2
Copied!

Goobi viewer Core

Mit dem Update des Themes wird der Titel der Installation aus der Konfigurationsdatei gelesen. Dieser muss in der lokalen Konfigurationsdatei gesetzt werden:
config_viewer.xml
1
<viewer>
2
<name>Goobi viewer</name>
3
</viewer>
Copied!

Goobi viewer Indexer

Um die neue Möglichkeit für die Einschränkung des gleichzeitigen Zugriffs nutzen zu können muss das Feld konfiguriert werden:
solr_indexerconfig.xml
1
<ACCESSCONDITION_CONCURRENTUSE>
2
<list>
3
<item>
4
<xpath>mets:xmlData/mods:mods/mods:extension/intranda:accessConditionConcurrentUse</xpath>
5
<addToDefault>false</addToDefault>
6
<addSortField>false</addSortField>
7
<addUntokenizedVersion>false</addUntokenizedVersion>
8
</item>
9
</list>
10
</ACCESSCONDITION_CONCURRENTUSE>
Copied!

Goobi viewer Connector

Die URL zur REST API des Goobi viewers sowie für den Volltext muss an die neuen REST Endpoints angepasst werden:
config_oai.xml
1
<!-- Alt -->
2
<restApiUrl>http://localhost:8080/rest/</restApiUrl>
3
<fulltextUrl>http://viewer.example.org/rest/content/fulltext/{pi}/{fileName}/</fulltextUrl>
4
5
6
<!-- Neu -->
7
<restApiUrl>http://localhost:8080/api/v1/</restApiUrl>
8
<fulltextUrl>https://viewer.example.org/api/v1/records/{pi}/files/plaintext/{fileName}</fulltextUrl>
Copied!

4.10.0

Solr

Um das Logging von Solr zu reduzieren muss das Loglevel angepasst und der Dienst neu gestartet werden:
1
patch /etc/default/solr.in.sh << "EOF"
2
@@ -113,7 +113,7 @@
3
4
# Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
5
# This is an alternative to changing the rootLogger in log4j2.xml
6
-#SOLR_LOG_LEVEL=INFO
7
+SOLR_LOG_LEVEL=ERROR
8
9
# Location where Solr should write logs to. Absolute or relative to solr start dir
10
#SOLR_LOGS_DIR=logs
11
EOF
12
systemctl restart solr
Copied!

Goobi viewer Indexer

Für die neue Möglichkeit den PDF-Download prozentual pro Nutzersession einzuschränken ist ein Update des Schemas und des Goobi viewer Indexers notwendig:
1
mkdir /root/BACKUP/$(date -I)
2
cp /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml /root/BACKUP/$(date -I)
3
wget -O /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/schema.xml
4
chown solr. /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml
5
cd /opt/digiverso/solr/solr/
6
sudo -u solr bin/solr zk upconfig -n goobiviewer -d server/solr/configsets/goobiviewer/
7
curl "http://localhost:8983/solr/admin/collections?action=RELOAD&name=collection1&wt=xml"
8
9
systemctl stop solrindexer
10
mv /opt/digiverso/indexer/solrIndexer.jar /root/BACKUP/$(date -I)
11
wget -O /opt/digiverso/indexer/solrIndexer.jar https://github.com/intranda/goobi-viewer-indexer/releases/download/v4.10.1/solrIndexer.jar
12
systemctl start solrindexer
Copied!
Außerdem muss das Feld konfiguriert werden:
solr_indexerconfig.xml
1
<ACCESSCONDITION_PDF_PERCENTAGE_QUOTA>
2
<list>
3
<item>
4
<xpath>mets:xmlData/mods:mods/mods:extension/intranda:accessConditionPdfPercentageQuota</xpath>
5
<addToDefault>false</addToDefault>
6
<addSortField>false</addSortField>
7
<addUntokenizedVersion>false</addUntokenizedVersion>
8
</item>
9
</list>
10
</ACCESSCONDITION_PDF_PERCENTAGE_QUOTA>
Copied!

4.9.0

Solr

Bei der Migration zu Solr 8 wurde vergessen die JTS Bibliothek für die Suche in Koordinatenbereichen zu übernehmen. Das muss nachgeholt werden. Dafür sind die folgenden Schritte notwendig.
Herunterladen der notwendigen Bibliothek, anpassen der Rechte und Neustart damit die Library bekannt ist:
1
systemctl stop solrindexer
2
wget -O /opt/digiverso/solr/solr/server/solr-webapp/webapp/WEB-INF/lib/jts-core-1.17.0.jar https://github.com/locationtech/jts/releases/download/1.17.0/jts-core-1.17.0.jar
3
chown solr. /opt/digiverso/solr/solr/server/solr-webapp/webapp/WEB-INF/lib/jts-core-1.17.0.jar
4
systemctl restart solr
5
systemctl start solrindexer
Copied!
Außerdem muss das Solr Schema aktualisiert werden:
1
mkdir /root/BACKUP/$(date -I)
2
cp /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml /root/BACKUP/$(date -I)
3
wget -O /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/schema.xml
4
chown solr. /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml
5
cd /opt/digiverso/solr/solr/
6
sudo -u solr bin/solr zk upconfig -n goobiviewer -d server/solr/configsets/goobiviewer/
7
curl "http://localhost:8983/solr/admin/collections?action=RELOAD&name=collection1&wt=xml"
Copied!
Da wir Zookeeper nur lokal benötigen, kann der Dienst auch nur auf localhost lauschen:
1
patch /etc/zookeeper/conf/zoo.cfg << "EOF"
2
@@ -15,6 +15,7 @@
3
4
# the port at which the clients will connect
5
clientPort=2181
6
+clientPortAddress=127.0.0.1
7
8
# specify all zookeeper servers
9
# The fist port is used by followers to connect to the leader
10
EOF
11
systemctl restart zookeeper
Copied!

Goobi viewer Indexer

Der Goobi viewer Indexer muss aktualisiert werden, um die neusten Anpassungen für die Suche nach Geokoordinaten zu Unterstützen:
1
systemctl stop solrindexer
2
mv /opt/digiverso/indexer/solrIndexer.jar /root/BACKUP/$(date -I)
3
wget -O /opt/digiverso/indexer/solrIndexer.jar https://github.com/intranda/goobi-viewer-indexer/releases/download/v4.9.0/solrIndexer.jar
4
systemctl start solrindexer
Copied!
Frühere Versionen haben manchmal fälschlicherweise Dateien mit angehängtem Iterator in den indexed_mets Ordner verschoben anstelle sie in den Originaldateienamen umzubenennen. Diese Dateien sollten mit dem folgenden Kommando entfernt werden:
1
find /opt/digiverso/viewer/indexed_mets -regex '.*#[0-9]+\.xml' | while read i; do test -e ${i%#*}.xml && rm $i; done
Copied!

Goobi viewer Connector

Um die OAI und SRU Schnittstelle auf die aktuelle Version zu aktualisieren können die folgenden Zeilen verwendet werden:
1
cp /opt/digiverso/viewer/bin/M2M.war /root/BACKUP/$(date -I)
2
wget -O /tmp/M2M.war https://github.com/intranda/goobi-viewer-connector/releases/download/v4.9.0/M2M.war
3
mv /tmp/M2M.war /opt/digiverso/viewer/bin/M2M.war
Copied!

Goobi viewer Core

Bei der Feldkonfiguration für das Stöbern Menü wurde das Attribut docstructFilters entfernt. Bereits länger gibt es die Möglichkeit eine filterQuery zu definieren, die das Attribut und seine Logik ersetzt haben. Bei einem Update ist zu prüfen ob in der lokalen config_viewer.xml das docstructFilters Attribut verwendet wird und die gewünschte Funktionalität gegenebenfalls als filterQuery umzuformulieren.
config_viewer.xml
1
<!-- ALT -->
2
<luceneField docstructFilters="Monograph;Volume">MD_TITLE_UNTOKENIZED</luceneField>
3
4
<!-- NEU -->
5
<luceneField filterQuery="+(DOCSTRCT:Monograph DOCSTRCT:Volume)">MD_TITLE_UNTOKENIZED</luceneField>
Copied!

4.8.0

Mit dieser Version wird der verwendete Suchindex Apache Solr auf die Version 8 aktualisiert. Dafür muss Solr 8 komplett neu installiert und der Datenbestand anschließend durch eine besondere Neuindexierung in die neuen Installation überführt werden. Eine Migration über mehr als zwei Major Versionen wird von Solr offiziell nicht unterstützt (Hintergrund). Für die Unterstützung von Solr Streaming Expressions ist es notwendig SolrCloud zu verwenden. Die notwendigen Schritte sind im folgenden in chronologischer Reihenfolge aufgelistet:

Solr

Die Installation von Apache Solr 8 ist hier in der Updateanleitung nur in gekürzter Form. Für eine längere Variante bitte den entsprechenden Abschnitt in der Installationsanleitung lesen.
1
cd /tmp
2
wget http://archive.apache.org/dist/lucene/solr/8.5.2/solr-8.5.2.tgz
3
tar -xzf solr-8.5.2.tgz solr-8.5.2/bin/install_solr_service.sh --strip-components=2
4
mkdir -p /opt/digiverso/solr/
5
./install_solr_service.sh solr-8.5.2.tgz -i /opt/digiverso/solr -d /opt/digiverso/solr -u solr -s solr -p 8983 -n
6
cat << "EOF" >/etc/security/limits.d/solr.conf
7
solr hard nofile 65535
8
solr soft nofile 65535
9
solr hard nproc 65535
10
solr soft nproc 65535
11
EOF
12
apt install -y zookeeperd
13
patch /etc/default/solr.in.sh << "EOF"
14
@@ -28,7 +28,7 @@
15
#SOLR_STOP_WAIT="180"
16
17
# Increase Java Heap as needed to support your indexing / query needs
18
-#SOLR_HEAP="512m"
19
+SOLR_HEAP="2048m"
20
21
# Expert: If you want finer control over memory options, specify them directly
22
# Comment out SOLR_HEAP if you are using this though, that takes precedence
23
@@ -64,7 +64,7 @@
24
# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
25
# e.g. host1:2181,host2:2181/chroot
26
# Leave empty if not using SolrCloud
27
-#ZK_HOST=""
28
+ZK_HOST="127.0.0.1:2181"
29
30
# Set the ZooKeeper client timeout (for SolrCloud mode)
31
#ZK_CLIENT_TIMEOUT="15000"
32
EOF
33
chmod 755 /opt/digiverso/solr/solr/bin/solr
34
cd /opt/digiverso/solr/solr/server/solr/configsets/
35
cp -a _default/ goobiviewer
36
cd goobiviewer/conf/
37
rm managed-schema
38
wget https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/schema.xml
39
cp lang/stopwords_de.txt lang/stopwords.txt
40
wget https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/mapping-ISOLatin1Accent.txt
41
patch solrconfig.xml << "EOF"
42
@@ -21,6 +21,7 @@
43
this file, see http://wiki.apache.org/solr/SolrConfigXml.
44
-->
45
<config>
46
+ <schemaFactory class="ClassicIndexSchemaFactory"/>
47
<!-- In all configuration below, a prefix of "solr." for class names
48
is an alias that causes solr to search appropriate packages,
49
including org.apache.solr.(search|update|request|core|analysis)
50
@@ -58,6 +59,11 @@
51
<lib dir="./lib" />
52
-->
53
54
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" regex=".*\.jar" />
55
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" regex=".*\.jar" />
56
+ <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-analysis-extras-\d.*\.jar" />
57
+
58
+
59
<!-- A 'dir' option by itself adds any files found in the directory
60
to the classpath, this is useful for including all jars in a
61
directory.
62
@@ -773,7 +779,7 @@
63
64
<initParams path="/update/**,/query,/select,/spell">
65
<lst name="defaults">
66
- <str name="df">_text_</str>
67
+ <str name="df">DEFAULT</str>
68
</lst>
69
</initParams>
70
71
@@ -1108,7 +1114,7 @@
72
</updateProcessor>
73
74
<!-- The update.autoCreateFields property can be turned to false to disable schemaless mode -->
75
- <updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:true}"
76
+ <updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:false}"
77
processor="uuid,remove-blank,field-name-mutating,parse-boolean,parse-long,parse-double,parse-date,add-schema-fields">
78
<processor class="solr.LogUpdateProcessorFactory"/>
79
<processor class="solr.DistributedUpdateProcessorFactory"/>
80
EOF
81
chown -R solr. *
82
cd /opt/digiverso/solr/solr/
83
sudo -u solr bin/solr zk upconfig -n goobiviewer -d server/solr/configsets/goobiviewer/
Copied!
Sollte dieser Befehl unter Ubuntu Linux 20.04 einen Timeout werfen, dann muss geprüft werden Java 11 der Standard ist (update-alternatives --config java). Zookeeper ist nicht mehr mit Java 8 kompatibel.
1
systemctl start solr
2
sudo -u solr bin/solr create -c collection1 -n goobiviewer
Copied!
Schlägt dieser Befehl fehl, dann muss in der /etc/default/solr.in.sh die Variable #SOLR_HOST="" einkommentiert und auf die IP-Adresse des lokalen Rechners gesetzt werden.
Nun die Apache Konfiguration anpassen, so dass Solr auf dem neuen Port angesprochen wird. Dafür den entsprechenden Apache vhost öffnen und in dem Block <Location /solr/> die ProxyPass und ProxyPassReverse Einträge auf diese neuen Werte anpassen:
/etc/apache2/sites-available/HOSTNAME.conf
1
ProxyPass http://localhost:8983/solr/ retry=0
2
ProxyPassReverse http://localhost:8983/solr/
Copied!
Anschließend sicherstellen, dass auch das benötigte Modul proxy_http geladen ist und den Dienst neu starten:
1
a2enmod proxy_http
2
systemctl restart apache2
Copied!

Goobi viewer Indexer

Der Datenbestand muss neu indexiert werden. Dafür muss der Goobi viewer Indexer aktualisiert werden damit er bei der Neuindexierung einige Solr Felder von der alten in die neue Installation übernimmt:
1
mkdir -p /root/BACKUP/$(date -I)/
2
systemctl stop solrindexer
3
mv /opt/digiverso/indexer/solrIndexer.jar /root/BACKUP/$(date -I)
4
wget -O /opt/digiverso/indexer/solrIndexer.jar https://github.com/intranda/goobi-viewer-indexer/releases/download/v4.8.2/solrIndexer.jar
Copied!
Dieser Abschnitt ist wichtig. Da sich die Neuindexierung über einen längeren Zeitraum hinziehen kann ist es wichtig spätere Arbeiten nicht zu vergessen!
Nun die Konfigurationsdatei des Goobi viewer Indexers anpassen. Der Eintrag in <solrUrl> muss dabei auf den neuen Solr 8 und ein neuer Eintrag <oldSolrUrl> auf den bisherigen Solr 4 zeigen:
1
cp /opt/digiverso/indexer/solr_indexerconfig.xml /root/BACKUP/$(date -I)
2
sed -i "s|<solrUrl>\(.*\)</solrUrl>|<oldSolrUrl>\1</oldSolrUrl>|g" /opt/digiverso/indexer/solr_indexerconfig.xml
3
sed -i "s|<oldSolrUrl>|<solrUrl>http://localhost:8983/solr/collection1</solrUrl>\n<oldSolrUrl>|g" /opt/digiverso/indexer/solr_indexerconfig.xml
Copied!
Anschließend erst mit einem Datensatz testen ob keine Fehler bei der Indexierung auftreten. Wenn das der Fall ist den Datenbestand neu Indexieren.
Wenn die Neuindexierung abgeschlossen ist, muss der Eintrag <oldSolrUrl /> aus der solr_indexerconfig.xml auskommentiert werden.
Damit die Versionsnummer an den Goobi viewer Core zur Anzeige im Dashboard korrekt übermittelt werden kann, müssen die folgenden beiden Einstellungen in der Konfigurationsdatei vorhanden sein. Bitte URL und Token prüfen und gegebenenfalls an die lokalen Gegebenheiten anpassen:
solr_indexerconfig.xml
1
<init>
2
<viewerUrl>http://127.0.0.1:8080/viewer/</viewerUrl>
3
<viewerAuthorizationToken>CHANGEME</viewerAuthorizationToken>
4
</init>
Copied!

Goobi viewer Connector

Damit der Goobi viewer Connector mit Solr 8 kompatibel ist und zusätzlich seine Versionsnummer im gewünschten Format ausgeben kann, ist es notwendig den Connector zu aktualisieren:
1
cp /opt/digiverso/viewer/bin/M2M.war /root/BACKUP/$(date -I)
2
wget -O /tmp/M2M.war https://github.com/intranda/goobi-viewer-connector/releases/download/v4.8.1/M2M.war
3
mv /tmp/M2M.war /opt/digiverso/viewer/bin/M2M.war
Copied!
Außerdem muss die URL zum Solr Suchindex angepasst werden:
config_oai.xml
1
<solrUrl>http://localhost:8983/solr/collection1</solrUrl>
Copied!

Goobi viewer Core

In der lokalen config_viewer.xml muss die URL zu dem Solr Suchindex angepasst werden. Das betrifft vor allem den geänderten Port:
config_viewer.xml
1
<solr>http://localhost:8983/solr/collection1</solr>
Copied!
Zur korrekten Anzeige von Beschreibungstexten muss sichergestellt werden, dass in der Datenbank auch die richtigen Message Keys hinterlegt sind. Dafür die folgenden beiden SQL Statements ausführen:
1
UPDATE license_types SET description = "licenseType_setRepresentativeImage_desc" WHERE name = "licenseType_setRepresentativeImage";
2
UPDATE license_types SET description = "licenseType_deleteOcrPage_desc" WHERE name = "licenseType_deleteOcrPage";
Copied!

4.7.0

Goobi viewer Indexer

Um die Ausgabe von Fehlern beim Start des Goobi viewer Indexers auch in die Logdatei mit zu übernehmen muss die folgende Zeile in den Abschnitt [Service] in der Systemd Unit File eingefügt werden:
  • /etc/systemd/system/solrindexer.service
solrindexer.service
1
StandardError=file:/opt/digiverso/logs/indexer.log
Copied!
Anschließend muss der Daemon neu geladen und der Dienst neu gestartet werden:
1
systemctl daemon-reload
2
systemctl restart solrindexer
Copied!
Die Option wurde erst mit Systemd 236 eingeführt und steht demnach erst ab Ubuntu Linux 18.04 Systemen zur Verfügung.

4.6.0

Goobi viewer Core

Die Solr Konfiguration wurde um weiteres Mapping von diakritischen Zeichen erweitert. Zur Übernahme der Änderungen muss die Datei mapping-ISOLatin1Accent.txt aktualisiert und der Datenbestand neu indexiert werden:
1
mkdir -p /root/BACKUP/$(date -I)
2
cp /opt/digiverso/viewer/apache-solr/collection1/conf/mapping-ISOLatin1Accent.txt /root/BACKUP/$(date -I)
3
wget -O /tmp/mapping-ISOLatin1Accent.txt https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/mapping-ISOLatin1Accent.txt
4
cp /tmp/mapping-ISOLatin1Accent.txt /opt/digiverso/viewer/apache-solr/collection1/conf/
5
6
systemctl restart tomcat8
Copied!
Um vom ContentServer die neuen Standardwerte für die PDF-Generierung zu verwenden muss geprüft werden, ob eine lokale config_contentServer.xml Datei vorliegt. Ist das der Fall müssen in dem Konfigurationselement <defaultPdfConfig /> die beiden Attribute imageScale="0.5" und imageCompression="50" hinzugefügt werden. Das vollständige Element sieht dann zum Beispiel so aus:
config_contentServer.xml
1
<defaultPdfConfig alwaysUseRenderedImage="true"
2
alwaysCompressToJPEG="true"
3
metsFileGroup="PRESENTATION"
4
metsFileUrlRemove="file:\/\/\/opt\/digiverso\/viewer\/media\/"
5
writeAsPdfA="false"
6
pagesize="original"
7
imageDpi="0"
8
convertToGrayscale="false"
9
imageScale="0.5"
10
imageCompression="50" />
Copied!

Goobi viewer Indexer

Zur Unterstützung der Kartenfunktionalität wurde das Solr-Schema und der Goobi viewer Indexer erweitert. Beide Komponenten müssen aktualisiert werden. Weiter ist es notwendig eine zusätzliche Jar in den WEB-INF/lib Ordner von Solr abzulegen
1
cp /opt/digiverso/viewer/apache-solr/collection1/conf/schema.xml /root/BACKUP/$(date -I)
2
wget -O /tmp/schema.xml https://raw.githubusercontent.com/intranda/goobi-viewer-indexer/master/goobi-viewer-indexer/src/main/resources/other/schema.xml
3
cp /tmp/schema.xml /opt/digiverso/viewer/apache-solr/collection1/conf/
4
5
wget -O /tmp/jts-1.14.zip http://downloads.sourceforge.net/project/jts-topo-suite/jts/1.14/jts-1.14.zip
6
unzip -j /tmp/jts-1.14.zip "lib/jts-1.14.jar" -d /tmp
7
mv /tmp/jts-1.14.jar /var/lib/tomcat8/webapps/solr/WEB-INF/lib/
8
9
systemctl restart tomcat8
Copied!
Der Datenbestand muss neu indexiert werden, ansonsten fehlt die Sektion "Bild" in dem Widget "Zitieren und Nachnutzen.

4.5.0

Goobi viewer Indexer

Damit die Indexierung von im Backend erstellten Dublin Core Datensätzen funktioniert, muss zusammen mit dem Core auch der Indexer aktualisiert werden. Damit das Feature aktiviert wird, muss der indexedDublinCore Ordner definiert werden:
solr_indexerconfig.xml
1
<indexedDublinCore>indexed_dublincore</indexedDublinCore>
Copied!
Damit alle Metadaten korrekt indexiert werden auf das Mapping der folgenden Felder achten. Gegebenenfalls müssen einige Felder wie MD_RECORDDESCRIPTION oder MD_ACCESSLICENSE neu angelegt werden.
Feldname
Mapping
PI
<item>dc:identifier</item>
DC
<item>dc:subject</item>
ACCESSCONDITION
<item>dc:rights[not(contains(text(),'http'))]</item>
MD_TITLE
<item>dc:title</item>
MD_LANGUAGE
<item>dc:language</item>
MD_CREATOR
<item>dc:creatory</item>
Zusätzlich noch zu dem XPATH Mapping noch den folgenden Eintrag innerhalb von <groupEntity> ergänzen:
<field name="MD_VALUE">text()</field>
MD_DATECREATED
<item>dc:date</item>
MD_RECORDDESCRIPTION
<xpath>dc:description></xpath>
MD_ACCESSLICENSE
<xpath>dc:rights[contains(text(),'http')]</xpath>

4.4.0

Goobi viewer Core

Auf PDF-Titelseiten im Goobi viewer ist die Unterstützung für hebräische Sprachzeichen hinzugefügt worden. Dafür müssen in der fop.xconf die Schriften definiert und die TTF Dateien daneben abgelegt werden:
1
mkdir -p /root/BACKUP/$(date -I)
2
cp /opt/digiverso/viewer/config/PdfTitlePage/fop.xconf /root/BACKUP/$(date -I)
3
cp /opt/digiverso/viewer/config/PdfTitlePage/*.fo /root/BACKUP/$(date -I)
4
5
cd /tmp
6
git clone https://github.com/intranda/goobi-viewer-core-config.git
7
cd goobi-viewer-core-config/goobi-viewer-core-config/src/main/resources/install/
8
cp fop.xconf /opt/digiverso/viewer/config/PdfTitlePage/
9
cp *.ttf /opt/digiverso/viewer/config/PdfTitlePage/
Copied!
Anschließend noch in dem Ordner /opt/digiverso/viewer/config/PdfTitlePage/ in den *.fo Dateien die Zeile <fo:flow ...> suchen und darin das Attribut font-family="opensans, unicode" ergänzen.
1
<!-- Alt -->
2
<fo:flow flow-name="xsl-region-body">
3
4
<!-- Neu -->
5
<fo:flow flow-name="xsl-region-body" font-family="opensans, unicode">
Copied!
Weiter ist der schon länger als veraltet gekennzeichnete Schalter <alwaysDisplayDocstruct /> aus der Sektion <toc /> entfallen. Wenn ein entsprechender Eintrag in der lokalen config_viewer.xml existiert kann dieser gelöscht werden. Die Funktionalität wird jetzt über den Bereich <labelConfig /> zur Verfügung gestellt.
Für den Zugriff auf das IIIF Manifest eines Werkes und den Download von Metadaten stehen neue Rechte zur Verfügung. Diese werden nicht automatisch hinzugefügt.
Bei einem Update auf die Version 4.4.0 müssen im Backend konfigurierte Lizenzen geprüft und die neuen Rechte explizit neu hinzugefügt werden!

Goobi viewer Indexer

Wenn DataRepositories und dabei die RemainingSpaceStrategy verwendet werden, muss der Token zur WebAPI des Goobi viewer Cores hinterlegt werden, damit dieser beim Verschieben zwischen den DataRepositories informiert wird:
solr_indexerconfig.xml
1
<init>
2
<viewerAuthorizationToken>CHANGEME</viewerAuthorizationToken>
3
</init>
Copied!
Sofern die Unterstützung der Recht-Nach-Links Leserichtung für einzelne Werke gewünscht ist muss das folgende Feld in die Konfigurationsdatei hinzugefügt werden. Dafür muss sichergestellt sein, dass der intranda-Namespace definiert ist:
solr_indexerconfig.xml
1
<init>
2
<namespaces>
3
<list>
4
<intranda>https://intranda.com/MODS/</intranda>
5
</list>
6
</namespaces>
7
<init>
8
9
[...]
10
11
<BOOL_DIRECTION_RTL>
12
<list>
13
<item>
14
<xpath>mets:xmlData/mods:mods/mods:extension/intranda:directionRTL</xpath>
15
<addToDefault>false</addToDefault>
16
<addSortField>true</addSortField>
17
</item>
18
</list>
19
</BOOL_DIRECTION_RTL>
Copied!

Goobi viewer Connector

Bei einem Update auf die Version 4.4.0 des Goobi viewer Connectors ist in der lokalen config_oai.xml zu prüfen ob dort der Schalter <contentApiUrl /> gesetzt ist und wenn ja muss dieser zu <restApiUrl /> umbenannt und der Pfad angepasst werden::
config_oai.xml
1
<!-- Alt -->
2
<contentApiUrl>http://localhost:8080/viewer/rest/content/</contentApiUrl>
3
4
<!-- Neu -->
5
<restApiUrl>http://localhost:8080/viewer/rest/</restApiUrl>
Copied!
Weiter kann optional das Inhaltsverzeichnis eines Werkes als Text im DublinCore Feld dc:description ausgegeben werden. Dafür ist ein Goobi viewer Core ab der Version 4.4.0 notwendig, da ansonsten der notwendige REST Endpoint nicht zur Verfügung steht.
Das Inhaltsverzeichnis in dc:description kann wie folgt konfiguriert werden:
config_oai.xml
1
<oai_dc>
2
<fields>
3
<template name="...">
4
<metadata label="description" value="#TOC#" />
5
</template>
6
</fields>
7
</oai_dc>
Copied!

2020-01-24

Durch die Refaktorisierung der Bücherregale/Merklisten Funktionalität hin zu einheitlicher Benennung aller Funktionen in im Java-Stack, XHTML-Seiten bis hin zu CSS und JavaScript hat sich auch der Schalter in der Konfigurationsdatei geändert. Bei einem Update auf die Version 4.3.0 muss in der lokalen config_viewer.xml der Schalter <bookshelves /> zu <bookmarks /> umbenannt werden:
config_viewer.xml
1
<bookmarks>
2
<bookmarksEnabled>true</bookmarksEnabled>
3
</bookmarks>
Copied!
Ebenfalls muss für die Suche in den Merklisten das gegebenenfalls konfigurierte statische Feld BOOKSHELF in BOOKMARKS umbenannt werden:
config_viewer.xml
1
<search>
2
<advanced>
3
<searchFields>
4
<field>BOOKMARKS</field>
5
</searchFields>
6
</advanced>
7
</search>
Copied!

2020-01-14

Folgendes SQL Statement ausführen, damit die Beschreibungen von Medien Dateien und die Namen von Werken auf Merklisten länger sein dürfen:
1
ALTER TABLE cms_media_item_metadata MODIFY description TEXT;
2
ALTER TABLE bookshelf_items MODIFY name LONGTEXT;
Copied!
Last modified 3mo ago