Anzeige weiterer Formate in jadice web toolkit über die jadice flow Anbindung

Anzeige weiterer Formate in jadice web toolkit über die jadice flow Anbindung

Hinweis

Dieser Artikel gilt für das jadice web toolkit Version >= 6.0.0.

Achtung

Die Anbindung von jadice flow ist ein optionales Zusatzmodul für das jadice web toolkit, welches separat lizenziert werden muss. Nehmen Sie hierfür bitte Kontakt mit uns auf.

Hintergrund

Das jadice web toolkit ist ein Multi-Format-Dokumentenbetrachter. Jedoch können nicht alle Dokumenten-Formate angezeigt werden. Dies liegt daran, dass wir natürlich nicht alle denkbaren Format implementiert haben und es auch für manche Formate keine geeignete Java-Library gibt (z.B. HEIC). Darüberhinaus kann es auch erforderlich sein, die Dokumente sehr exakt anzeigen zu wollen, was durch eine Eigen- oder Fremdimplementierung nicht möglich ist (beispielsweise stellt Libreoffice eine DOCX-Datei oft anders da als Microsoft Word dies tut).

Über jadice flow ist es möglich, beliebige und auch native Anwendungen in einem Container zu verwenden und diese zur Anzeige zu verwenden, sofern diese Anwendungen eine API und einen Export in ein von uns unterstütztes Format unterstützen. Sehr viele Dokumente lassen sich mit den folgenden von uns bereitgestellten Workern konvertieren, Details finden Sie hier: Unterstütze Formate für die Anzeige im jadice web toolkit

Der Ablauf dabei sieht dann in etwa so aus:

  1. Format-Erkennung mit dem filetype-analyzer
  2. Wenn der erkannte Mime-Type in jadice web toolkit konfiguriert ist, Upload des Datenstroms nach S3/eureka
  3. Konvertierung über jadice flow
  4. Anzeige des konvertierten Datenstroms
    1. Dies geschieht ohne lokale Ablage als temporäre Datei!


Beachten Sie hierbei folgendes: Die flow-Anbindung ist als jadice Format realisiert. Das bedeutet, dass erst die jadice Format-Erkennung in der konfigurierten Reihenfolge versucht einen Datenstrom anzuzeigen. In allen jadice Produkten ist das Plain-Text-Format das letzte Format, wenn das jadice also mit einem Datenstrom nichts anfangen kann, wird die Datei als Textdokument angezeigt. Ist die flow-Anbindung aktiviert, ist dieses spezielle "flow Format" in der Reihenfolge das zweit-letzte Format. Wenn Sie also die flow-Anbindung so konfiguriert haben, dass beispielsweise AFP-Datenströme über flow konvertiert werden sollen, gleichzeitig aber das jadice AFP Format aktiv ist, dann hat das jadice AFP Format eine höhere Priorität und wird daher die Anzeige übernehmen und nicht die flow-Anbindung

Demo

Installation

Die pom.xml (Maven) muss um folgendes Modul ergänzt werden

pom.xml
<dependency>
  <groupId>com.levigo.jadice.webtoolkit</groupId>
  <artifactId>webtoolkit-format-flow</artifactId>
</dependency>

Konfiguration

jadice web toolkit

Über die application.yml / application.properties des jadice web toolkit wird jadice flow konfiguriert.

(Warnung) Alle Werte liegen unter webtoolkit.flow (also z.B. webtoolkit.flow.auth-token)

Es kann wahlweise neverpile eureka oder S3 als Storage konfiguriert werden. Dies muss einheitlich zu der Konfiguration von jadice flow sein.

KeyBeschreibungdefault-Wert
controller-urlDie URL des jadice flow controllers
auth-tokenDas Auth-Token für die Authentifizierung gegenüber flow * 
eureka
eureka-urlDie URL des eureka endpoints
eureka-usernameDer eureka User
eureka-passwordDas eureka Passwort
s3
s3-urlDie URL des S3 endpoints
s3-bucketDer S3 Bucket
s3-access-keyDer S3 Access-Key
s3-secret-keyDer S3 Secret-Key
s3-protocolDas S3-Protokollhttps
s3-regionDie S3 Region

* Für die Kommunikation der jadice flow Worker mit dem Controller wird ebenfalls ein Auth-Token verwendet. Hierfür empfiehlt es sich das Selbe Token zu nehmen.

(jadice flow)

Das Auth-Token wird im HELM-Chart folgendermaßen gesetzt:

values.yaml
secrets:
  controller:
    accessToken: ey...


Verwendung

Wenn flow konfiguriert ist, muss nun noch definiert werden, welche Dateiformate über jadice flow konvertiert werden sollen. Dies geschieht ebenfalls über die application.yml / application.properties des jadice web toolkit.

Anbei ein Beispiel, wie Office-Dokumente über Libreoffice konvertiert werden können:

application.yml
webtoolkit:
  format:
    flow:
      formats:
        -
          workflow-name: libreofficeToPDF
          mime-types-input: "application/vnd.openxmlformats-officedocument.wordprocessingml.document\
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\
            application/vnd.openxmlformats-officedocument.presentationml.presentation"
          mime-type-output: application/pdf
          format-output: pdf


(Warnung)  Es muss in jadice flow ein Workflow mit dem Namen "libreofficeToPDF" konfiguriert sein.