Wie muss/sollte man mehrere Documentviewer einrichten?

Wie muss/sollte man mehrere Documentviewer einrichten?

Bei immer mehr Kunden ist es sinnvoll, mindestens 2 Documentviewer zu installieren. Einen Documentviewer für die Client-Anzeige und 1 bis n für die CPB-Bearbeitung. Hierbei gibt es einiges zu beachten. 

Wichtige Grundregeln:

  1. Die Documentviewer müssen zwingend ein gemeinsames Cache haben (= gleicher UNC-Pfad), auch wenn das Cache bei einem Server lokal liegt und die lokalen Zugriffe schneller sind als per UNC.
    FTSARchive sollte umgestellt werden von "c:/rencache/fts-archive" auf "${sor.root}/fts-archive". Den Pfad natürlich prüfen und anlegen, falls er fehlen sollte. 

  2. Die Documentviewer-Datenbanken, Temp-Pfad und Job-Pfad müssen je lokal liegen. 

  3. Die Documentviewer müssen zwingend unterschiedliche NodeNames und Instanz-Namen (application.name) haben. Empfehlung: Im Gateway diese Namenskennung verwenden. 

  4. Alle Documentviewer müssen zwingend gleich konfiguriert werden - außer "CPB ja/nein" - (Finereader, MS Office ...).

  5. Im enaio Enterprisemanager sollte bei allen Einträgen der ausliefernde Documentviewer (CPB = nein bzw. false) stehen. DEV hatte ursprünglich empfohlen (so macht es auch das Setup), dass bei RenditionCache der verarbeitende Documentviewer steht. Das hat sich in der Praxis nicht bewährt. Besser bei RenditionCache den ausliefernden Documentviewer eintragen. 

  6. Der OCRService im Servicemanager muss erweitert werden um alle Documentviewer, sonst werden die OCR-Jobs nicht verarbeitet. 

  7. Der Indexservice sollte auf einen verarbeitenden Documentviewer gelenkt werden. Ansonsten belastet er den ausliefernden Documentviewer. Bei Kunden mit großen Datenmengen kann es sogar sein, dass es einen weiteren Documentviewer nur für den Indexservice gibt. Das bietet die Option, dass der Indexservice mehr parallel verarbeiten kann (Standardwert = 10 parallele Jobs). 

  8. Die Bereinigungsstrategie der Documentviewer anpassen!
    Empfehlung: nur 1 Documentviewer bereinigen lassen und zwar nach Datum. Grund ist, dass die Documentviewer sich untereinander nicht kennen. D.h. der eine weiß nicht, was der andere in den Cache schreibt. Im schlimmsten Fall ist das Documentviewer-Cache am Ende leer. 
    Link: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426558

  9. wenn es mehrere enaio Server gibt (= enaio Dienste = axsvckrn.exe), kann es sinnvoll sein, die periodischen Server-Jobs für SLIDE und PAGECOUNT bei den Server, die für die Benutzer bestimmt sind, zu deaktivieren. Dafür an den anderen Servern die periodische Prüfung von 60 Sekunden (Standard) herunterzustellen auf 30 oder 15 Sekunden. Bisher war diese Anpassung nur bei Kunden nötig, mit mehr als 1 Mio. neuer Dokumente pro Tag.

Schritt-für-Schritt-Anleitung

  1. Alle benötigten Documentviewer der Reihe nach installieren. Am besten beginnen mit dem ausliefernden Documentviewer. Dann müssen weniger URLs angepasst werden.

  2. pro Documentviewer-Server die Grundvoraussetzungen schaffen. Dazu gehört auch MS Office-Konfiguration und GhostScript-Installation, siehe auch:
    https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21425967
    oder auch Punkt 3 (Desktop-Ordner erstellen) und ab 7 von diesem Link:
    https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21424878

  1. Die Konfiguration jedes Documentviewers aufrufen:
    config.properties des RenditionCache
    (Pfad: services\documentviewer\webapps\osrenditioncache\web-inf-classes\config) 

  2. Die nötigen Anpassungen vornehmen: 
    CPB = true/false, application.name, serviceNodeName, sor.root

    Beispiel von 2 Documentviewern:

  3. Nach dem Speichern kann über die Admin-Seite aktiviert werden, was benötigt/gewünscht/verfügbar ist:

    1. MSOffice verwenden ja/nein

    2. Finereader verwenden ja/nein.

  4. Wichtig: bei allen Documentviewern die gleiche Einstellung vornehmen (außer CPB-Verhalten)!
    Sofern die Admin-Seite nicht geöffnet werden kann, kann die Anpassung auch in der route.properties erfolgen (ebenfalls RenditionCache-Pfad). 

    1. Finereader aktivieren: ocr-engine=finereader

    2. MS Office aktivieren: rendition-useMsoffice=true 

  5. Die Bereinigungsstrategie der Documentviewer anpassen!
    Empfehlung: nur 1 Documentviewer bereinigen lassen und zwar nach Datum. 
    Link: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426558

  1. Danach den enaio Enterprisemanager starten und die Einstellungen unter Services prüfen. Hier muss bei allen Einträgen mit Port der ausliefernde Documentviewer stehen:

  1. Servicemanager-Admin-Seite aufrufen und ermitteln, wo der OCRService läuft. http://<servicemanager-server>:7273

  2. Im config-Verzeichnis dieses Servers liegt eine Datei namens ocr-prod.yml erstellen. Sofern es noch keine gibt, einfach erstellen. Inhalt:

    rendition.endpoint: 'http://10.10.77.142:8070/osrenditioncache;http://10.10.77.143:8070/osrenditioncache'


    Bei rendtion.endpoint müssen alle Documentviewer eingetragen werden - auch der ausliefernde Documentviewer! 

    Beispiel: 

  3. Nach dem Speichern den OCRService neu laden.

  4. In der services.log-Datei prüfen, ob auch beide URLs erkannt und akzeptiert werden. 

  1. Servicemanager-Admin-Seite erneut aufrufen und ermitteln, wo der Indexservice läuft.
    http://<servicemanager-server>:7273

  2. Im config-Verzeichnis des Servicemanagers sollte es eine index-prod.yml geben. Falls nicht, bitte anlegen, ansonsten ergänzen um einen Documentviewer mit CPB-Verarbeitung:

    rendition.alternative.endpoint: http://10.10.77.143:8070/osrenditioncache


    Beispiel:

  3. Anschließend den Indexservice neu laden und in der services.log-Datei prüfen, ob auch die URL erkannt und akzeptiert wird. 

 

Wichtig:

  • Alle Documentviewer müssen zwingend gleich konfiguriert werden - außer "CPB ja/nein" - (Pfad zum Cache, Finereader, MS Office ...).

  • Die Datenbanken, Temp-Pfad und Job-Pfad müssen je lokal liegen.

  • Außerdem muss die Bereinigungsstrategie geändert werden, da die Documentviewer sich untereinander nicht kennen und damit nicht wissen, wer was in den Cache schreibt. 

Verwandte Artikel