Zum Hauptinhalt springen

Hotfolder-Ausführung mit pa_hotfolder.exe

Vor über 2 Monaten aktualisiert

Übersicht

Sie können die Hotfolder-Verarbeitung über die Datei pa_hotfolder.exe im bin-Verzeichnis starten.

Diese Anwendung nutzt die Web-API von SV Documents für die Archivierung.


Hotfolder starten

Grundlegende Ausführung

  1. Öffnen Sie die Eingabeaufforderung

  2. Navigieren Sie zum bin-Verzeichnis

  3. Geben Sie folgenden Befehl ein:

pa_hotfolder.exe


Selektive Ausführung von Sektionen

Bestimmte Sektionen verarbeiten

Sie können gezielt einzelne Sektionen aus der hotfolder.ini verarbeiten lassen.

Befehl:

pa_hotfolder.exe --section pdf csv

oder kurz:

pa_hotfolder.exe -s pdf csv

Hinweis: Die Groß- und Kleinschreibung der Sektionsnamen spielt keine Rolle.

Was passiert:

  • Nur die angegebenen Sektionen (hier: pdf und csv) werden verarbeitet

  • Alle anderen Sektionen werden ignoriert


Vorteile der Web-API-Nutzung

Die pa_hotfolder.exe verwendet die Web-API. Das bietet Ihnen folgende Vorteile:

1. Flexible Installation

  • Sie müssen die pa_hotfolder.exe nicht auf dem gleichen Computer ausführen, auf dem PHOENIX Documents installiert ist

  • Sie können die separate pa_hotfolder.exe-Anwendung auf beliebig vielen Computern installieren

  • Alle Installationen können gleichzeitig in eine einzige Documents-Installation archivieren

2. 32-Bit-ODBC-Unterstützung

  • SV Documents ist eine reine 64-Bit-Anwendung

  • Mit der separaten 32-Bit-Version der pa_hotfolder.exe können Sie dennoch 32-Bit-ODBC-Datenquellen verwenden

3. Minimale Berechtigungen erforderlich

  • Die pa_hotfolder.exe benötigt keine Schreibrechte auf die Speicher

  • Lesezugriff auf settings.ini und hotfolder.ini ist ausreichend


Dienstbenutzer für die Hotfolder-Archivierung

Was ist ein Dienstbenutzer?

Seit der Nutzung der Web-API muss sich der Hotfolder als Benutzer authentifizieren. Dafür gibt es den speziellen Benutzertyp „Dienstbenutzer".

Eigenschaften von Dienstbenutzern

Unterschiede zu normalen Benutzern:

  • Dienstbenutzer können sich nicht in der Benutzer-Oberfläche anmelden

  • Sie verwenden kein Login-Name und Passwort

  • Sie authentifizieren sich über ein vom Server generiertes API-Token

API-Token verwalten

Token invalidieren:

  1. Öffnen Sie die Administrationsoberfläche

  2. Klicken Sie im Token-Feld auf das „X"

  3. Speichern Sie die Änderung

  4. Der Server generiert automatisch ein neues Token

  5. Das alte Token ist nicht mehr gültig

Berechtigungen einrichten

Wichtig: Sie müssen Dienstbenutzern Rollen zuweisen, damit diese auf Archive zugreifen können.

Vorteil: Sie können den Zugriff gezielt einschränken:

  • Eine externe pa_hotfolder.exe kann in ein bestimmtes Archiv archivieren

  • Mit dem gleichen Token können aber keine Daten aus anderen Archiven ausgelesen werden


Konfiguration in der settings.ini

URL und Token eintragen

Sie müssen die Server-URL und das API-Token in der settings.ini hinterlegen.

Beispielkonfiguration:

[Hotfolder] URL = http://documents.example.com:8551/ Token = ArRwFYljbSKYZHaBX2VpVhp6oHak56Ju

Automatische Einrichtung

Was passiert automatisch:

  • Die Sektion [Hotfolder] wird in der settings.ini eingetragen

  • Ein erster Dienstbenutzer mit dem Namen „Hotfolder" wird erzeugt

  • Eine neue Rolle „Hotfolder" wird erstellt

  • Diese Rolle erhält zunächst Schreibrechte auf alle Archive


Separate pa_hotfolder.exe-Anwendung

Verfügbare Versionen

Sie erhalten zwei zusätzliche ZIP-Dateien:

  • pa_hotfolder-2.1.0-x86.zip (32-Bit-Version)

  • pa_hotfolder-2.1.0-x64.zip (64-Bit-Version)

Installation

So richten Sie die separate Anwendung ein:

  1. Entpacken Sie den Inhalt der ZIP-Datei in einen beliebigen Dateipfad

  2. Erstellen Sie im config-Verzeichnis eine minimale settings.ini mit der Sektion [Hotfolder] (siehe oben)

  3. Erstellen Sie eine hotfolder.ini im gleichen Verzeichnis

  4. Führen Sie die Archivierung von diesem Pfad aus

Hinweis: Eine Installation ist nicht erforderlich.


Notwendige Anpassungen in Import-Services

Wichtige Änderung (nicht rückwärtskompatibel)

Durch die Verwendung der Web-API gibt es eine Änderung in der post_process-Methode von Import-Services.

Was hat sich geändert?

Der Parameter record ist jetzt ein Python-Dictionary (dict). Sie müssen auf dessen Eigenschaften über Dictionary-Schlüssel zugreifen.

Beispiel:

# Vorher: def post_process(self, record): for attachment in record.attachments: id = attachment.id # Nachher: def post_process(self, record): for attachment in record['attachments']: id = attachment['id']


Dokumente an bestehende Vorgänge anhängen

Funktionsweise

Sie können Import-Services verwenden, um Dokumente über einen Hotfolder an bereits bestehende Vorgänge anzuhängen.

Implementierung

Anstatt result.archive verwenden Sie result.record:

class ImportService(importservice.Base): def process(self, file, result): result.add_file(file) # Vorgang im Archiv "rechnungen" suchen, dessen # Belegnummer "ABC123" ist. records = self.find_records('rechnungen', '_belegnr = "ABC123"') if len(records) != 1: raise RuntimeError('Es wurde genau ein Vorgang erwartet.') result.record = records[0]['id']

Hilfsfunktion find_records()

Syntax:

self.find_records(archive, query)

Parameter:

  • archive: ID oder Kurzname des Archivs

  • query: Such-Filter (gleiche Syntax wie in gefilterten Archiven oder der Spaltensuche)

Rückgabewert:

  • Liste von gefundenen Vorgängen als Dictionary

  • Die ID können Sie über den Schlüssel id extrahieren

Wichtig:

  • Prüfen Sie immer die Länge der zurückgegebenen Liste

  • Filter können null, einen oder mehrere Vorgänge zurückgeben

  • Die maximale Anzahl der gefundenen Vorgänge ist auf 100 beschränkt


Parallele Hotfolder-Verarbeitung

Performance-Optimierung

Die pa_hotfolder.exe verarbeitet mehrere Dateien gleichzeitig. Das verbessert die Performance, besonders bei:

  • Separaten Computern

  • Langsamen Netzwerkverbindungen

Standard-Einstellung

Standardmäßig: 8 Dateien werden gleichzeitig verarbeitet

Anzahl der Threads anpassen

Befehl:

pa_hotfolder.exe --threads 2

Sie können die Anzahl der parallel verarbeiteten Dateien nach Bedarf anpassen.


Hotfolder-Typ: file

Funktionsweise

Der Hotfolder-Typ file importiert Dateien direkt in den Eingang eines Benutzers.

Wichtige Einschränkung

  • Dieser Typ unterstützt keine direkte Archivierung

  • Sie müssen im Parameter Archive zwingend einen Benutzer-Eingang angeben

Beispielkonfiguration

[Files] Directory = D:\Hotfolder\Files Type = file Filemask = *.docx Archive = @user

Ergebnis: Alle DOCX-Dateien werden in den Eingang des Benutzers „user" importiert.


Hotfolder-Typ: csv

Übersicht

Mit dem Hotfolder-Typ csv können Sie zu importierende Dateien über eine einzelne CSV-Datei beschreiben.

Vorteil: Eine CSV-Datei kann viele Vorgänge auf einmal beschreiben.

CSV-Format

Beispiel:

0;D:\Import\demo1.pdf;demo1;_field1;Test;_field2;2015-02-23 0;D:\Import\demo2.pdf; 1;PDFs\test.pdf;demo2;_field1;Test

Spalten-Bedeutung

Die CSV-Datei hat folgende Spaltenstruktur:

Spalte

Beschreibung

1. Spalte

Laufende Nummer (muss pro Vorgang hochzählen)

2. Spalte

Dateipfad (absolut oder relativ zum Hotfolder-Verzeichnis)

3. Spalte

Archiv-Kurzname

Weitere Spalten

Beliebig viele Spaltenpaare: Spalten-Kurzname (mit Unterstrich als Präfix) und Wert

Mehrere Dokumente pro Vorgang

So fügen Sie mehrere Dokumente zu einem Vorgang hinzu:

  • Verwenden Sie die gleiche laufende Nummer in mehreren Zeilen

  • Die erste Zeile generiert einen neuen Vorgang

  • Alle weiteren Zeilen mit dieser Nummer werden als zusätzliche Dokumente angehängt

  • Diese Zeilen müssen nur noch einen Dateipfad enthalten (kein Archiv)

Beispiel-Erklärung

Im obigen Beispiel werden zwei Vorgänge angelegt:

Vorgang 1 (Nummer 0):

  • Archiv: demo1

  • Dokumente: demo1.pdf und demo2.pdf

  • Datenfelder: field1 = "Test", field2 = "2015-02-23"

Vorgang 2 (Nummer 1):

  • Archiv: demo2

  • Dokument: test.pdf

  • Datenfeld: field1 = "Test"

Verarbeitung der Dateien

Was passiert mit den Dateien:

Der CSV-Hotfolder verschiebt importierte Dokumente nicht in die Verzeichnisse _Completed und _Failed.

Stattdessen:

  • Es werden CSV-Dateien in diesen Verzeichnissen angelegt

  • Diese enthalten die erfolgreich importierten bzw. fehlgeschlagenen Zeilen der Original-CSV-Datei

  • Die CSV-Datei im _Failed-Verzeichnis enthält eine zusätzliche Spalte #ERROR# mit der Fehlermeldung

Originaldokumente:

  • Werden am Originalpfad stehen gelassen (DeleteCompleted = -1; Standard-Einstellung)

  • Oder sofort gelöscht (DeleteCompleted = 0)

Standard-Filemask

Standardmäßig: Alle Dateien mit der Endung .csv werden verarbeitet (Filemask = *.csv)


Zusammenfassung

Sie haben nun gelernt:

✅ Wie Sie die pa_hotfolder.exe ausführen
✅ Wie Sie gezielt einzelne Sektionen verarbeiten
✅ Wie Sie Dienstbenutzer für die Authentifizierung einrichten
✅ Wie Sie die separate pa_hotfolder.exe-Anwendung installieren
✅ Wie Sie Import-Services an die Web-API anpassen
✅ Wie Sie Dokumente an bestehende Vorgänge anhängen
✅ Wie Sie die parallele Verarbeitung optimieren
✅ Wie Sie die Hotfolder-Typen file und csv verwenden

Bei Fragen wenden Sie sich bitte an Ihren Administrator.

Hat dies deine Frage beantwortet?