Verarbeitung
Nach dem Arbeitsschritt "Input" folgt der Schritt "Process" (Verarbeitung). Während der Verarbeitung prüft der Process-Worker zunächst periodisch gegen die Verwaltungsdatenbank, ob neue Dokumente zur Weiterverarbeitung verfügbar sind. Dies sind in der Regel Dokumente aus dem vorigen "Input"-Schritt, können aber auch Dokumente sein, die bereits im "Process"-Schritt waren und aufgrund eines Verarbeitungsfehlers oder einer konfigurierten Prüfung zurückgestellt wurden und nun erneut verarbeitet werden sollen.
In dem ersten Teilschritt der Verarbeitung werden die Indexdaten der Dokumente extrahiert. Abhängig vom Eingabeformat kommen dafür spezifische Indexdatenleser zum Einsatz. Grundlage für das Lesen der Indexdaten ist immer eine Dateianlage des jeweiligen Formats. Das kann z. B. eine XML-Datei sein, die im "Input"-Schritt eingelesen wurde. Wenn ein Dokument alternativ oder parallel Dateianlagen verschiedener Formate enthält, können auch mehrere Leser nacheinander ausgeführt werden.
Wenn ein Eingabesystem die Indexdaten nicht explizit als Datei bereitstellt, wie z. B. die nativen Mail-Schnittstellen, wird im "Input"-Schritt eine künstliche Indexdateianlage generiert, auf die sich der Leser beziehen kann. Der Name und der Aufbau dieser künstlichen Dateianlage ist bei dem jeweiligen Eingabesystem dokumentiert. In der Regel ist die künstliche Dateianlage im JSON-Format und hat den Dateinamen index.json, sodass die Datei mit dem JSON-spezifischen Indexdatenleser verarbeitet werden kann. Der inhaltliche Aufbau ist möglichst einfach und flach gehalten. Bei den Mail-Schnittstellen sind die Eigenschaften beispielsweise auf der obersten Ebene angeordnet und können über die Namen "Subject" und "Body" angesprochen werden.
Das Einlesen der Indexdaten geht einher mit der Zuordnung des Dokuments zu einem Feldkatalog. Ein Feldkatalog besteht aus einem festen Satz von Feldern, über die ein Dokument verfügen soll, unabhängig davon, ob diese Felder tatsächlich aus den Indexdaten gewonnen oder intern vorbelegt oder generiert werden.
Dabei ist auch die Deklaration alternativer Feldkataloge möglich, deren Zuordnung dynamisch zur Laufzeit erfolgt. Dazu wird zunächst ein Standardfeldkatalog eingelesen, über dessen Inhalt Bedingungen formuliert werden können, um einen abweichenden Feldkatalog zu adressieren. In Bezug auf die Kopfdaten umfasst ein Dokument grundsätzlich alle Felder des ihm zugeordneten Kataloges, ggf. mit leerem Wert. Bei Positionsdaten werden hingegen nur so viele Positionszeilen generiert wie in den Indexdaten vorhanden sind oder bedarfsweise künstlich per Konfiguration hinzugefügt wurden – dieses aber immer mit allen zur Zeile gehörigen Feldern.
Bei Bedarf kann aus den Inhalten des Standardfeldkataloges dynamisch der Name eines Verarbeitungsszenarios ermittelt werden, das alternativ verwendet werden soll. Die Ermittlung eines alternativen Verarbeitungsszenarios erfolgt noch vor der Bestimmung eines alternativen Feldkatalogs, da das Dokument in einem solchen Fall an der aktuellen Stelle ohnehin nicht weiterverarbeitet werden soll. Das Dokument wird stattdessen zurückgestellt und wartet im "Process"-Schritt auf eine erneute Verarbeitung, um von dem für das neu ermittelte Szenario zuständigen Process-Worker wieder eingelesen zu werden.
Nach dem Einlesen der Indexdaten erfolgt je nach Konfiguration in vielfältigsten Ausprägungen die inhaltliche Aufbereitung und Konvertierung dieser Daten sowie der Dateianlagen des Dokumentes mit Hilfe von Makrofunktionen. Weitere Informationen zu Makrofunktionen finden Sie unter Funktionen.