2. Server
Kapitel hinzufügen

Einige Parameter werden vom Lesesaal/Servlet automatisch gesetzt und sind nicht veränderbar. Hierzu zählen folgende Parameter:

el.server.repository.home

Dieser Parameter benennt das Haupt-Verzeichnis des Lesesaales, in welchem verschiedene Verzeichnisse für Checkin/Checkout/Datenbank etc. angelegt werden.
Der Parameter ist nicht im Admin Tool editierbar, er wird gesetzt über eine Konfigurationsdatei der Lesesaal Webapp im Tomcat, siehe Konfiguration.
Datentyp: String

el.server.release

Dieser Parameter gibt die Version des Lesesaales an. Nicht editierbar, wird automatisiert aus Servlet ausgelesen.
Datentyp: String

el.server.servlet.context

Dieser Parameter gibt den Namen des Lesesaales an (Name des war-Files im Tomcat Webapp Verzeichnis ohne Endung „.war“, taucht in der URL des Lesesaales auf).
Datentyp: String

el.server.servlet.started

Dieser Parameter gibt Datum/Uhrzeit an, wann das Lesesaal-Servlet zuletzt gestartet wurde.
Datentyp: Date

Alle weiteren Parameter des Lesesaal Servers sind editierbar und werden in den folgenden Unterkapiteln näher erläutert.

2.1 Plugins
Abschnitt hinzufügen

el.server.plugins=standard checkin_bcs

Dieser Parameter gibt an, welche Plugins (jeweils mit Leerzeichen getrennt) vom Server geladen werden. Pro Konfiguration (Anwendung, Checkin) kann nur ein Plugin ausgewählt werden.

Anwendungskonfigurationen:

Name des PluginsAnwendungskonfiguration
standardStandardkonfiguration
emmaEMMA Serverkonfiguration

Checkin-Formatkonfiguration:

Name des PluginsFormatkonfiguration
checkin_autoAutomatische Ermittlung des Dokumentformats
checkin_bcsDokumentencheckin aus BCS-2
checkin_edocDokumentencheckin aus MyBib eDoc
checkin_doculibDokumentencheckin mit Fraunhofer Format
checkin_teiDokumentencheckin mit TEI Format (BSB)

2.2 Checkin/Checkout und FTP Konfiguration
Abschnitt hinzufügen

el.server.checkin.uri=ftp://mel.imageware.de:55555/checkin
el.server.checkin.user=el-ftp
el.server.checkin.password=test
el.server.checkout.uri=ftp://mel.imageware.de:55555/checkout
el.server.checkout.user=el-ftp
el.server.checkout.password=test
el.server.checkerr.uri=ftp://mel.imageware.de:55555/checkout
el.server.checkerr.user=el-ftp
el.server.checkerr.password=test

Diese Parameter geben die URIs und (optionalen) Accountdaten für das Ein-/Auschecken und das Fehlerverzeichnis von Dokumenten an. Wahlweise können per FTP erreichbare oder lokale Verzeichnisse angegeben werden, die optionalen Zugangsdaten user und password beziehen sich nur auf die FTP-Variante.
Die Standard-Einstellungen sind wie folgt:

el.server.checkin.uri=${el.server.repository.home}/data/checkin
el.server.checkout.uri=${el.server.repository.home}/data/checkout
el.server.checkerr.uri=${el.server.repository.home}/data/checkerr

Es werden standardmäßig also lokale Verzeichnisse referenziert, die der Lesesaal beim Checkin auf Dokumente prüft bzw. in die beim Checkout Dokumente abgelegt werden, bzw. in die Dokumente abgelegt werden, die wegen Fehlern nicht eingecheckt werden konnten. Diese befinden sich wie im Beispiel erkennbar im Hauptverzeichnis des Lesesaal-Repository-Verzeichnisses el.server.repository.home der Installation auf dem Lesesaal-Server. Datentyp: String

el.server.backup.dir=${el.server.repository.home}/backup

Dieser Parameter gibt an, in welches Verzeichnis der Lesesaal Backups (Konfiguration und/oder Dokumente) ausspeichert. Standard siehe obige Angabe.
Datentyp: String

2.2.1 Einstellungen für Dokumentmetadatenkonvention

el.server.medianumber.restricted=true

Dieser Parameter gibt an, ob für Mediennummern nur eingeschränkte Zeichen verwendet werden dürfen. Die Angabe der erlaubten Zeichen geschieht über den nachfolgend beschriebenen Parameter el.server.medianumber.allowed.characters. Standard ist true.
Datentyp: Boolean

el.server.medianumber.allowed.characters=[a-z0-9-]+

Regulärer Ausdruck, mit welchem für die Medianumber erlaubte Zeichen festgelegt werden. Standard ist: [a-z0-9]+, d.h. Kleinbuchstaben a bis z, Ziffern 0 bis 9 und das Minuszeichen -, sämtliche Zeichen in beliebiger Reihenfolge und Wiederholung, Mindestlänge 1 (Begrenzung der Länge durch das entsprechende Datenbankfeld auf 255 Zeichen).
Eine Einschränkung der erlaubten Zeichen ist dringend empfohlen, da die Medianumber sowohl zur eL-internen Dateiablage verwendet wird als auch zur Referenzierung eines Dokumentes über die RESTful Schnittstellen (Fehlerquelle bei nicht erfolgtem URL-Encoding von Sonderzeichen).
Datentyp: String

el.server.docdate.parse={true|false}
el.server.docdate.import.format=dd.MM.yyyy
el.server.docdate.storage.format=yyyyMMdd

Mit diesem Parameter wird festgelegt, ob das Datum eines Dokumentes einem vorgegebenen Schema folgen soll. Standard ist deaktivierte Schemaprüfung (el.server.docdate.parse=false).
Mit den weiteren Parametern wird festgelegt, wie das Datum in den Importdokumenten aussehen soll (el.server.docdate.import.format, Standard dd.MM.yyyy, z.B. 21.11.2018) und wie das eL-interne Speicherdatum aussehen soll (el.server.docdate.storage.format, Standard yyyyMMdd, z.B. 20181121). Vorteil einer festen Formatvorgabe ist eine fehlerfreie Sortierbarkeit anhand des Datums.
Datentyp Aktivierung Datumskonvertierung: Boolean
Datentyp Datumsschema-Definitionen: String

Wichtig bei der Verwendung der Datumskonvertierung ist es, entsprechende Einstellungen ebenfalls für den Viewer vorzunehmen (siehe hierzu auch entsprechende Viewer-Einstellungen unter Datumskonfiguration). Standardmäßig sind dort Parameter gesetzt, die sich an den Standards dieser Parameter orientieren.

2.2.2 Einstellungen für MyBib eDoc Nutzer

el.server.import.edoc.users=true

Ist diese Einstellung auf true, wird aus MyBib eDoc Dokumenten der Benutzer (sofern in den Metadaten vorhanden) als Lesesaal Benutzer angelegt und als Eigentümer des Dokumentes eingetragen. Diese Einstellung stammt aus dem WorldShare Kontext, da das Dokumentformat aber auch in Szenarien ohne diese Art der Nutzer verwendet wird, ist diese Einstellung optional.
Standard ist true.
Datentyp: boolean

2.3 Sitzungsverwaltung
Abschnitt hinzufügen

el.server.servlet.session.timeout=3600

Gibt die Zeit in Sekunden an, bevor eine Sitzung vom Server wegen Inaktivität geschlossen wird.
Standardwert: 3600 (1h)
Datentyp: Integer

2.3.1 Seitenbilder/Seitenbildskalierung

el.server.image.uri=url:${el.server.repository.home}/repository/images

Dieser Parameter gibt den Ort an, an welchem die Originale der Seitenbilder beim Dokumentimport abgelegt werden.
Der Standardwert das Unterverzeichnis repository/home des Haupt-Datenverzeichnisses des Lesesaales.
Datentyp: String

el.server.image.cache.uri=${el.server.repository.home}/cache/images

Die skalierten Seitenbilder werden in einem Cache auf dem Server abgelegt, dessen Speicherort über den Parameter el.server.image.cache.uri eingestellt werden kann. Standardmäßig wird das Cache-Verzeichnis wie oben angegeben verwendet, als Unterverzeichnis innerhalb des Haupt-Repository-Verzeichnisses der Lesesaal-Installation auf dem Lesesaal-Server.
Datentyp: String

el.server.image.cache.
password={password}

Wird dieser Parameter gesetzt, so werden die gecachten Seitenbilder, die von den Clients abgerufen werden, verschlüsselt abgelegt. In diesem Fall muss der Client das gleiche Passwort nutzen, um die empfangenen Seitenbilder wieder zu entschlüsseln. Der MyBib eL Viewer wird dazu automatisch konfiguriert, so dass dort keine weitere Konfiguration notwendig ist.
Datentyp: String

el.server.image.cache.mimetype={image/png|image/jpeg}

Dieser optionale Parameter gibt den Mimetype der gecachten Seitenbilder an.
Der Standard ist image/jpeg, d.h. die geachten Seitenbilder werden im JPEG-Format abgelegt.
Datentyp: String

el.server.image.prescaling=80x160,0.7 ; 0.6,0.7

Über diesen Parameter kann eine offline Seitenbildskalierung konfiguriert werden, die die Seitenbilder eines Dokumentes direkt nach dem Einchecken skaliert. (Ausnahme: entsprechende Checkbox beim manuellen Checkin/Repository prüfen ist nicht gesetzt.)
Eine Konfiguration besteht aus zwei Parametern. Der erste Parameter bezeichnet entweder die statische Auflösung in x und y Richtung, d.h. 80×160 bedeutet eine Skalierung von 80 Pixel Breite auf 160 Pixel Höhe, oder die dynamische Skalierung mit einem Faktor, d.h. 0.6 bedeutet 60% der Originalbildgröße (jeweils bezogen auf Breite und Höhe). Der zweite Parameter gibt die Qualitätsstufe von 0 bis 1 an. Die beiden zusammen gehörenden Parameter für Größe und Qualität werden durch Komma getrennt, mehrere dieser Parameterpaare werden durch Semikolon getrennt. Dezilamtrennzeichen ist der Punkt.
Datentyp: String

Anmerkung:
Ist dieser Parameter gesetzt, wird nur diese Skalierung erzeugt.
Ist dieser Parameter nicht gesetzt, werden die entsprechenden Skalierungsparameter aus den Anwendungskonfigurationen für Viewer und Restservice ausgelesen und entsprechend skalierte Bilder erzeugt. Dies betrifft alle Konfigurationen, deren Größenparameter endend auf „image.scale“ oder „thumbnail.scale“ vorliegen und für die ein zugehöriger Qualitätsparameter mit gleichem Namen, nur endend auf „quality“ vorhanden ist. (Skalierungen für Print und PDFs („…pdf.scale“, „…pdf.quality“, „…print.scale“, „…print.quality“) werden nicht vorab erzeugt, diese werden nur on demand generiert.)

el.server.convert.location=/usr/local/bin/convert
el.server.convert.colorspace=/usr/local/bin/convert

Ort des Tools convert (Teil des Paketes imagemagick) zum Skalieren der importierten Seitenbilder (optional). Falls dieser nicht angegeben ist, so wird auf eine interne Java-Routine zurückgegriffen. Über den Parameter colorspace kann der Parameter „-colorspace“ für den Aufruf von convert gesetzt werden.

el.server.doculib.maxthreads=4

Dieser Parameter gibt die Maximalzahl parallel zu startender Prozesse an, wenn die Seitenbilder skaliert werden.
Der Standardwert ist 4.
Datentyp: Integer

2.3.2 Indexkonfiguration

el.server.index.uri=${el.server.repository.home}/index

Dieser Parameter gibt den Ort an, an dem der Lesesaal Server seine Suchindizes ablegt.
Standard ist das Unterverzeichnis index des Haupt-Datenverzeichnisses des Lesesaales.
Datentyp: String

el.server.index.configuration

Je nach Anwendungskonfiguration werden ein oder mehrere Suchindizes angelegt. Mit dem Standard-Indexer werden folgende Metadatenfelder standardmäßig in den jeweiligen Index wie angegeben aufgenommen:

documentchapterpage
document_medianumberMediennummer des Dokuments (o_medianumber)
document_titleTitel des Dokuments (o_title)
document_signatureSignatur des Dokuments (o_identifier)
document_barcodeBarcode des Dokuments (o_barcode)
document_numdateDatum des Dokuments (o_year)
chapter_titleÜberschriften aller KapitelÜberschrift des KapitelsÜberschriften der Kapitel, die die Seite enthalten
textSeitentexte des DokumentsSeitentexte des KapitelsSeitentext

Neben den dadurch vordefinierten Suchfeldern können über den Parameter el.server.index.configuration die Aufnahme von weiteren Datenfeldern aus den Extradatenfeldern konfiguriert werden. Im Folgenden wird der Aufbau der Konfigurationsdatei exemplarisch vorgestellt, die über das Admin-Tool in die Anwendungskonfiguration aufgenommen werden kann:

<index-configuration>
  <!-- extradata fields to be indexed -->
  <index name="document">
    <field name="document_author" index="analyzed" store="true" sortBy="true" />
    <field name="chapter_keyword" index="analyzed" store="false" sortBy="false" />
  </index>
</index-configuration>

Jede Index-Konfiguration beginnt mit dem Tag index und einem Attribut name des Indexnamens. Danach folgt eine Liste von Felddefinitionen, die sich auf die Extradatenfelder (e_data) beziehen. Es gibt entsprechend drei Gruppen „document“, „chapter“ und „page“ und das Attribute name setzt sich aus dem Gruppennamen und dem Dokumentfeldnamen zusammen, d.h. um ein Extra-Datenfeld keyword eines Kapitels in den Suchindex aufzunehmen lautet das Attribute name dann chapter_keyword. Das Attribute index gibt an, ob das Feld durchsuchbar sein soll und kann die Werte „no“ (Standard), „analyzed“ und „not_analyzed“ annehmen. Mit „no“ wird das Feld lediglich in den Index aufgenommen, z.B. um ein Feldwert für die Anzeige des Suchtreffers schnell auszulesen. Die Werte „analyzed“ und „not_analyzed“ entsprechen der Lucene-Konfiguration, siehe auch hier: http://lucene.apache.org/core/old_versioned_docs/versions/3_0_1/api/all/org/apache/lucene/document/Field.Index.html

Tipp: Immer analyzed nehmen, wenn das Feld nicht einen Identifier wie z.B. ISBN enthält. Das Attribut store gibt an, ob der Feldwert bei der Suche ausgelesen werden kann. Es kann die Werte „true“ (Standard) und „false“ annehmen. Das Attribut sortBy gibt an, ob eine Sortierung der Trefferliste nach diesem Feld möglich sein soll. Es kann die Werte „false“ (Standard) und „true“ annehmen. Achtung: Die Angabe sortBy=„true“ in der search.configuration funktioniert nur, wenn auch hier in der entsprechenden Feldkonfiguration das Attribut auf sortBy=„true“ gesetzt wird.

Achtung: Ist im Konfigurations-Order der Lesesaal-Anwendung im Tomcat eine index.cfg.xml vorhanden (z.B. /opt/mybib-el/tomcat/conf/<mel-name>/index.cfg.xml), so wird diese präferiert, d.h. sie überschreibt eine in der Datenbank vorhandene Indexkonfiguration! Falls eine solche Datei nicht genutzt werden soll, ist diese zu entfernen. (Im Regelfall ist sie aber nicht vorhanden.)

el.server.index.analyzer.classname=org.apache.lucene.analysis.de.GermanAnalyzer

Dieser Parameter gibt die Klasse des Analyzers an, der bei der Indexierung verwendet werden soll.
Standardmäßig wird der Lucene-eigene Analyzer für die deutsche Sprache verwendet.
Datentyp: String

el.server.index.analyzer.stopwords="einer", "eine", "eines", "einem", "einen", "der", "die", "das", "dass", "daß", "du", "er", "sie", "es", "was", "wer", "wie", "wir", "und", "oder",	"ohne", "mit", "am", "im", "in", "aus", "auf", "ist", "sein", "war", "wird", "ihr", "ihre", "ihres", "als", "für", "von", "mit", "dich", "dir", "mich", "mir", "mein", "sein", "kein", "durch", "wegen", "wird"

Dieser Parameter gibt die Stoppwörter an, die der Analyzer beim Indexieren der Dokument ausfiltern soll und konsequenterweise auch bei der Suche ignoriert werden.
Standard siehe obige Angabe.
Datentyp: String[]

el.server.search.highlighter.fragment.length

Dieser Parameter gibt die Länge eines Fragments bei der Abfrage der Suchtrefferliste an, in der ein Treffer hervorgehoben wird.
Standard ist 75.
Datentyp: Integer

el.server.search.highlighter.fragment.maxnumber

Begrenzt bei der Abfrage der Suchergebnisse die maximale Anzahl von Fragmenten mit hervorgehobenen Treffern.
Standard ist 10.
Datentyp: Integer

el.server.index.maxthreads=1

Dieser Parameter gibt die Maximalzahl parallel zu startender Prozesse an, wenn die Dokumente in den Suchindex aufgenommen werden.
Der Standardwert ist 1.
Datentyp: Integer

2.3.3 Sonstiges

el.server.tmp.dir=${el.server.repository.home}/temp

Dieser Parameter gibt das Verzeichnis an, welches der Lesesaal-Server zur Ablage temporärer Daten beim Dokument-Import/-Export nutzt.
Standardmäßig ist hierfür das Unterverzeichnis „temp“ im Haupt-Datenverzeichnis des Lesesaales eingestellt.
Datentyp: String

el.server.repository.document.username

Dieser Parameter gibt den Nutzernamen an, mit dem die Datenbankverbindung erstellt wird.
Standard ist nicht gesetzt.
Datentyp: String

el.server.repository.document.password

Dieser Parameter gibt das Passwort an, mit dem die Datenbankverbindung erstellt wird.
Standard ist nicht gesetzt.
Datentyp: String

el.server.tmp.dir=${el.server.repository.home}/temp

Dieser Parameter gibt das Verzeichnis an, welches der Lesesaal-Server zur Ablage temporärer Daten beim Dokument-Import/-Export nutzt.
Standardmäßig ist hierfür das Unterverzeichnis „temp“ im Haupt-Datenverzeichnis des Lesesaales eingestellt.
Datentyp: String

el.server.printcounter.default=1

Gibt an, wie hoch der Standard-Druckzähler im WorldShare-Kontext sein soll, der pro Druckvorgang dekrementiert wird. Diese Einstellung hat nur dann Auswirkungen, wenn die Einstellung el.viewer.check.printcounter aktiviert ist.
Standard ist 1.
Datentyp: Integer