SQUEEZE Admin-Handbuch

Handbuch zur Administration von Squeeze

Systemvoraussetzungen

Systemvoraussetzungen für Server und Clients

Systemvoraussetzungen

Systemvoraussetzungen des Servers

Übersicht der Systemvoraussetzungen des Servers.

Hardware / Virtual Maschine

  Minimum Empfehlung
Betriebssystem Linux/Windows Linux/Windows
CPU Takt 2.2 GHz 3.0 GHz
CPU Kerne 6 Cores 8 Cores
RAM 8 GB 16 GB
Festplatte HDD 7200 rpm SSD
Festplattenspeicher 200 GB 500 GB
Netzwerk 100 Mbit 1000 Mbit

Betriebssystems

OS Version Anmerkung
Windows 7 Uneingeschränkt unterstützt
Windows 10 Uneingeschränkt unterstützt
Windows Server 2008 R2 Uneingeschränkt unterstützt
Windows Server 2012 Uneingeschränkt unterstützt
Windows Server 2012 R2 Uneingeschränkt unterstützt
Windows Server 2016 Uneingeschränkt unterstützt
Ubuntu 14.04  
Ubuntu 16.04 Uneingeschränkt unterstützt
Ubuntu 18.04 Uneingeschränkt unterstützt
Debian 8  
Debian 9 Uneingeschränkt unterstützt
Debian 10 Uneingeschränkt unterstützt

Generell werden alle Betriebssysteme, auf denen ein Webserver betrieben und PHP inkl. aller benötigten Erweiterungen (siehe Runtimes) interpretiert werden kann, unterstützt. Das bedeutet, dass die meisten Linux Distributionen unterstützt werden, sofern sich alle benötigten Pakete installieren lassen.

Datenbanksysteme

Hersteller Version
Microsoft SQL Server 2005
Microsoft SQL Server 2008
Microsoft SQL Server 2012
Microsoft SQL Server 2014
Microsoft SQL Server 2016
MySQL 5.5 - 5.7
MariaDB 5.5.7
MariaDB 10.0 - 10.2

Network

Eingehender Netzwerkverkehr

Port Beschreibung
80 HTML Frontend und API 
443 HTML Frontend und API (mit SSL)

Ausgehender Netzwerkverkehr

Port Beshreibung
25 SMTP für das versenden von Emails
587 SMTP für das versenden von Emails (mit Verschlüsselung)
143 IMAP um Email abzuholen
993 IMAP um Email abzuholen (mit Verschlüsselung)
443 EWS um Email abzuholen (mit Verschlüsselung)
33?? SAP RFC Verbindung (?? = SAP Instanznummer)

Runtimes

Squeeze und dessen Komponenten benötigen einige Bibliotheken und Anwendungen die installiert sein müssen. Sollten Sie den Windows installer nutzen, so befinden sich alle erforderlichen Anwendungen und Bibliotheken bereits im Setup und werden mit installiert und grundsätzlich eingerichtet. Der Installer ist so erstellt worden, dass ein Out-of-the-Box System installiert wird, welches sofort nutzbar ist.

Die Anwendungen und Bibliotheken werden dabei unterteilt. Es gibt direkte und indirekte Abhängigkeiten Ein Beispiel ist das Message Queue System (RabbitMQ).

In Komplexeren Umgebungen kann es erforderlich sein, diese Komponenten auf verschiedene Systeme zu verteilen. In diesem Fall müssen Sie sich selber um die Bereitstellung der Anwendungen kümmern. 

Direkte Abhängigkeiten

Runtime Version Benötigt von
PHP 7.3 Server, Worker
Java 8 Server, Worker

"Server" meint den Squeeze Server.

Indirekte Abhängigkeiten

Runtime Version Benötigt von
Erlang 10.5 RabbitMQ
Java In Abhängigkeit der Elasticsearch Version Elasticsearch
Systemvoraussetzungen

Systemvoraussetzungen des Clients

Systemvoraussetzungen der Clients

Betriebssystem

Grundsätzlich werden alle gängigen Betriebssysteme unterstützt.
Das Betriebssystem selbst ist nicht sonderlich entscheidend, da es sich bei Squeeze um eine reine Webanwendung handelt.
Entscheidender ist, dass der genutzte Browser HTML5 vollständig unterstützt (siehe Abschnitt Browser).

OS Version Anmerkung
Windows 7 Uneingeschränkt unterstützt
Windows 10 Uneingeschränkt unterstützt
Windows 11 Uneingeschränkt unterstützt
Ubuntu 16.04 Uneingeschränkt unterstützt
Ubuntu 18.04 Uneingeschränkt unterstützt
Debian 8 Uneingeschränkt unterstützt
Debian 9 Uneingeschränkt unterstützt
Debian 10 Uneingeschränkt unterstützt

Browser

Grundsätzlich werden alle gängigen Browser unterstützt, jedoch sind nicht immer alle unsererseits aktuell mit allen Funktionen getestet.
Folgend eine Übersicht der aktuell getesteten Browser.

Hersteller Version Anmerkung
Microsoft Internet Explorer 11 Uneingeschränkt unterstützt (bis Squeeze Version 1.12.9)
Microsoft Edge Uneingeschränkt unterstützt
Mozilla Firefox Uneingeschränkt unterstützt
Google Chrome Uneingeschränkt unterstützt

 

Installation

Installation

Serverinstallation Windows

Der für die Squeeze-Server Installation notwendige Installer wird von der Firma Dexpro-Solutions GmbH auf Anfrage zur Verfügung gestellt.

In Zukunft wird es ein entsprechendes Download-Portal geben, wo sowohl der Server - Installer als auch die Dateien für das Update auf die neueste Squeeze - Version heruntergeladen werden können.

Installation Squeeze - Server

Squeeze kann auf jeder Partition eines Rechners installiert werden. Im Setup sind einige Pfade voreingestellt (D:.\Squeeze).

Für die Installations-Dokumentation wird die Server-Installation mit Version 1.5.0 auf der C:\ Partition durchgeführt.

Die Installation wird mit Doppelklick auf die Installer.exe gestartet und muss mit administrativen Benutzer-Rechten durchgeführt werden.

image-1584610173568.png

image-1584610414269.png

image-1584610292189.png

image-1584610463733.png

Nachdem der Server-Installer die erforderlichen Dateien in das angegebene Verzeichnis (C:\Squeeze) entpackt hat, startet die Installation automatisch.

image-1584616545584.png

Nachdem das initiale Setup abgeschlossen ist, sollten geprüft werden ob alle Dienste installiert worden sind und diese bereits gestartet wurden.

image-1584616915283.png

Dienstname Staus
01_SQUEEZE_WebServer Wird ausgeführt
02_SQUEEZE_DB_Server Wird ausgeführt
03_SQUEEZE_SearchEngine Wird ausgeführt
04_SQUEEZE_MessageQueue Wird ausgeführt
05_SQUEEZE_Worker nicht gestartet

Die Dienste 01 bis 04 sollten gestartet sein. Der Dienst 05 ist zu diesem Zeitpunkt nicht gestartet, dieser Dienst muss nach Abschluss der Server und - Mandanten-Konfiguration erst konfiguriert werden bis er gestartet werden kann.

Konfiguration Squeeze - Server

Nachdem das eigentliche Server-Setup abgeschlossen ist, wird der Server konfiguriert. Dazu wird der Browser gestartet und in der Adresszeile des Browsers der gewünschte Mandanten-Name eingegeben.

Es können mehrere technische Mandanten auf einem Squeeze Server konfiguriert werden. Jeder Mandant hat sein eigenes Repository und eine eigene Datenbank.

Im ausgelieferten Server-Setup ist bereits eine Lizenz für 300 Dokumente für den Mandanten localhost enthalten. 

Die Mandanten-Installation für localhost wird für diese Dokumentation verwendet. Dazu wird im Browser in der Adresszeile http://localhost eingegeben. Daraufhin startet die Konfiguration des Squeeze-Servermandanten:

image-1584627329054.png

Mit dem Button Next wird der nächste Dialog zur Konfiguration der Datenbank geöffnet, hier kann wahlweise zwischen MYSQL (MariaDB) und Microsoft SQL Server entschieden werden.

Wenn MS SQL gewählt wird dann ist der Port 1433, sollte eine Instanz von MS SQL genutzt werden, dann muss der Port leer bleiben (dynamischer Port), bei MYSQL ist der Port 3306.

image-1584634060002.png

In diesem Beispiel wird die ausgelieferte MariaDB genutzt. Die Felder können entsprechend angepasst werden. Mit dem Button Next öffnet sich der nächste Dialog:

image-1584627831788.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584634320436.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584628226160.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584634381073.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584628360769.png

Mit dem Button Next öffnet sich der nächste Dialog:

Für die Demo-Installation wird kein SMTP Versand konfiguriert, da die verwendete Sandbox für die Installation keinen Internetzugang hat. Dazu wird im Feld "Use SMTP Zugang" der Wert auf False gesetzt

image-1584634465227.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584628602957.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584628656559.png

Mit dem Button Next öffnet sich der nächste Dialog:

image-1584628693425.png

Mit dem Button Zur Startseite öffnet sich der nächste Dialog:

image-1584628825343.png

Mit dem Button Anlegen öffnet sich der nächste Dialog:

image-1584634570662.png

image-1584634651695.png

image-1584634708894.png

Mit dem Button Jetzt Einrichten öffnet sich der nächste Dialog:

image-1584634786734.png

Mit dem Button Weiter öffnet sich der nächste Dialog:

image-1584634836804.png

Mit dem Button Weiter öffnet sich der nächste Dialog:

image-1584634925708.png

API-Key: 7ce9c77c-50d5-4fd8-a707-a2f163d4b132

Mit dem Button Weiter öffnet sich der nächste Dialog:

image-1584635004808.png

Mit dem Button Weiter öffnet sich der nächste Dialog:

image-1584635045050.png

Mit dem Button Weiter öffnet sich der nächste Dialog:

image-1584635082851.png

image-1584635160647.png

Konfiguration des Workers

C:\SQUEEZE\repository\config\worker\config

image-1654158068385.png

Die Angabe des Servernames (FQDN) für den API Key ist Case-Sensitiv 
Wir empfehlen den Servernamen generell in Kleinbuchstaben zu schreiben.

 

 

Installation

Serverinstallation Linux

The following steps describe how to install on a Debian 10 server. Generally you can try to install on other Linux systems.

This may work if all Squeeze dependencies like the correct PHP version, PHP modules and Apache extensions are present in your operating systems package repositories.

Linux (Debian 10)

1. Prepare Debian for installation via apt

Before installing Squeeze some third party applications need to be installed. Follow the steps below to install these applications.

Please note that using a proxy to connect to the internet might need some additional configuration like:

export https_proxy=https://proxy.intra.net:proxy_port
or
export http_proxy=http://user:password@proxy.intra.net:proxy_port

apt update
apt upgrade

2. Install PHP 7.4

apt-get update
apt-get install php7.4 php7.4-cli php7.4-common php7.4-imap php7.4-mysql php7.4-mailparse php7.4-bcmath php7.4-intl php7.4-gd php7.4-xml php7.4-xsl php7.4-mbstring php7.4-opcache php7.4-curl php7.4-zip php7.4-bz2 php7.4-soap php7.4-json php7.4-imagick libapache2-mod-php7.4

3. Install Apache

To install Apache run the following command

apt install apache2

And enable the following modules

a2enmod proxy rewrite deflate filter headers

4. Install MariaDB

apt update
apt install mariadb-server
systemctl status mariadb

run the follwing command and follow the instructions to secure the installation:

mysql_secure_installation

Create a new user for later use

mysql --user=root mysql
CREATE USER 'squeeze'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON *.* TO 'squeeze'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5. Install RabbitMQ

Run the following command to install RabbitMQ including the management web interface

apt-get install rabbitmq-server
rabbitmq-plugins enable rabbitmq_management

If needed add a new user to RabbitMQ

rabbitmqctl add_user username password
rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

6. Install ElasticSearch

Run the following command to install ElasticSearch


nano /etc/apt/sources.list
deb http://ftp.us.debian.org/debian sid main

apt-get update
apt install openjdk-8-jre-headless

apt install gnupg2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-5.x.list
apt update && apt upgrade
apt install apt-transport-https uuid-runtime pwgen
apt update
apt install elasticsearch

cd /usr/share/elasticsearch/bin 
./elasticsearch-plugin install analysis-icu
./elasticsearch-plugin install mapper-attachments

To be able to install the plugins behind a proxy please use the following commands:

ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install analysis-icu 
ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.intra.net -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.intra.net -Dhttps.proxyPort=3128" ./elasticsearch-plugin install mapper-attachments

Optional:

nano /etc/elasticsearch/elasticsearch.yml
cluster.name: my-applicationnano 

/etc/elasticsearch/jvm.options
-Xms512m
-Xmx512m

Enable and start ElasticSearch

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
systemctl status elasticsearch.service
7. Install additional tools
apt install tesseract-ocr tesseract-ocr-deu imagemagick ghostscript poppler-utils zbar-tools git sudo

8. Install Squeeze

cd /var/www/html
git clone https://git.dexpro-solutions.de/dex/squeeze/Squeeze.git

chown -R www-data Squeeze/
chmod -R 775 Squeeze/
Edit the default virtual host or create a new virtual host:

nano /etc/apache2/sites-enabled/000-default.conf

DocumentRoot /var/www/html/Squeeze/public
<Directory "/var/www/html/Squeeze/public">
    AllowOverride All
</Directory>

Now restart the apache webserver:

systemctl restart apache2

9. Web installer

Once the installer finished, start your preferred browser and open http://localhost to run the web installer

Installation

Serverupdate Windows

Das Update-Package enthält zumeist (nur) ein neues htdocs Verzeichnis

image-1641983092035.png

 

  1. SQUEEZE Dienste beenden
  2. htdocs Verzeichnis sichern
  3. neues htdocs Verzeichnis im SQUEEZE Verzeichnis entpacken
  4. Im Worker-Verzeichnis muss die umzug.json enthalten sein, diese ggf. aus dem gesicherten htdocs Verzeichnis kopieren
  5. SQUEEZE Dienste wieder starten
  6. Im Swagger mit der API "migrateDatabase" eine Migration durchführen
  7. Jobs und andere projektspezifische Anpassungen im htdocs Verzeichnis bei Bedarf prüfen/wiederherstellen

 

image-1641982829814.png

 

image-1641982882307.png

 

image-1641982910834.png

Stapelklassen

Stapelklassen

Stapelklassen

Stapelklassen erfüllen in Squeeze mehrere Funktionen.

1. Stapelklassen für Klassifizierung

In einer Stapelklasse können mehrere Dokumentenklassen für die Klassifizierung zusammengefasst werden.

2. Stapelklassen für Eingangskanal (Email)

Innerhalb der Konfiguration einer Stapelklasse kann der Eingangskanal Emailabruf konfiguriert werden.

Stapelklassen

Stapelklassen anlegen

Nach der Anmeldung in Squeeze können Benutzer mit administrativen Berechtigungen die Konfiguration für Stapelklassen aufrufen.

Liste der Stapelklassen

image-1583415062825.png

Nach dem Klick auf den Reiter Stapelklassen öffnet sich die Stapelklassenübersicht. Hier werden alle aktuell konfigurierten Stapelklassen angezeigt. Die Stapelklasse Invoice wird zusammen mit dem Invoice Template ausgeliefert.
In der Liste der Stapelklassen kann man die Konfiguration mit einem Doppelklick auf den Eintrag öffnen. 

image-1583415180954.png

 

Neue Stapelklasse anlegen

Neue Stapelklassen können mithilfe des + Symbols angelegt werden. Daraufhin öffnet sich ein Dialog wo der technische Namen und der Anzeigenamen eingegeben werden kann.

image-1583418184300.png

 

image-1583418341016.png

Ab hier können folgende Konfiguration durchgeführt werden:

  1. Stapelfelder
  2. Klassifizierung
  3. Settings
  4. Email Accounts

 

 

 

 

 

 

Stapelklassen

Stapelklassen Email-Konfiguration

Je Stapelklasse ist es möglich 1-n Emailkonten zu konfigurieren, um Emails automatisiert aus den konfigurierten Postfächern abzurufen und die angehängten Dokumente (derzeit nur PDFs) zu verarbeiten.

Es werden zwei Verfahren unterstützt, um Emails aus den Postfächern abzuholen.

  1. Abruf via EWS (Exchange Web Services)
  2. Abruf via IMAP (Internet Message Access Protocol)

EWS ist bei aktivierter Microsoft Exchange Server extended protection nicht mehr verwendbar. In diesem Fall muss auf IMAP umgestellt werden. 

EWS BasicAuth

Die BasicAuth für die Exchange Web Services wird im Oktober 2022 abgeschaltet. Aktuell ist jedoch nur diese zur Nutzung freigegeben. Um zu prüfen, ob die BasicAuth für ein System noch verfügbar ist, kann die folgende URL (ggf. Server durch den eigenen Exchange Server ersetzen) genutzt werden:

https://outlook.office365.com/EWS/Exchange.asmx

Nach dem Aufruf dieser URL erscheint ein Dialog zur Eingabe des Benutzernamens und des Passworts.
Sofern diese Anmeldung erfolgreich ist und eine entsprechende Webseite angezeigt wird, ist BasicAuth verfügbar.

EWS Verbindungstest

Im Falle einer EWS Verbindung kann es hilfreich sein vorab einen Verbindungstest durchzuführen. Das gilt besonders dann, wenn es sich um einen eignen Exchange Server handelt. Der Verbindungstest kann mit der folgenden Seite durchgeführt werden:

https://testconnectivity.microsoft.com/tests/EwsTask/input

Auf der Seite müssen die Verbindungsdaten angegeben werden, die getestet werden sollen:

image-1617708831461.png

Sofern ein AutoDiscover für den Exchange Server eingerichtet wurde kann die Option (1) genutzt werden.
Sollte es sich um einen eignen Exchange Server handeln für den kein AutoDiscover eingerichtet ist, dann muss die EWS Adresse manuell angegeben werden (2)

Auflistung der Konten

Eine Liste der konfigurierten Konten kann über Reiter Emailkonten der Stapelklasse geöffnet werden.

image-1584355051783.png

In dieser Bildschirmkopie ist zu sehen, dass zwei Konten definiert sind, die abgerufen werden sollen.
In der Spalte Protokoll kann das Verfahren für den Import festgelegt werden (EWS, IMAP oder Deaktiviert). 

Über das image-1584355769142.png Symbol in der unteren Leiste können weitere Konten definiert werden.
Über das image-1584355927440.png

Neues Konto definieren

image-1584355644545.png

 

Shared Mailboxes abfragen

Um mit einem Benutzer Zugriff auf ein Postfach zu erhalten, um damit Emails einer anderen shared mailbox abzurufen im Feld "Benutzer" zuerst den Zugriffsbenutzer eintragen und danach den shared mailbox Benutzer getrennt durch "/":

Beispiel: benutzername@domain.de/shared-benutzername@domain.de

Beispiel mit NTLM Anmeldung: local.domain.net\benutzername/mailbox@domain.de

 

Hinweis: Bei Verwendung von EWS müssen der "Valid" & "Error" Ordner auf oberster Ebene sein. Unterordner von z.B. "Posteingang" können nicht verwendet werden. 

 

Task einrichten

Damit die Emails automatisiert abgeholt werden, muss ein Task eingerichtet werden.
Hier der Link zur Einrichtung des Jobs: Email-Verarbeitung

 

Übertragen von Standard Email Feldern

Sofern beim Email Import Standard Email Felder wie Absender, Empfänger, Email Betreff ausgelesen werden sollen müssen die entsprechenden folgenden Felder technisch an jeder Dokumenten Klasse vorhanden sein:

 

Dokumentenklassen

Dokumentenklassen

Dokumentenklassen

Dokumentenklassen beschreiben jeweils einen spezifischen Dokumententyp.

Innerhalb einer Dokumentenklasse können für den jeweiligen Dokumententyp, spezifische Konfigurationen angelegt werden:

1. Gruppen (auf getrennten Reitern befindliche Feldgruppen)

2. Felder (für diesen Dokumententyp spezifische Dokumentenfelder)

3. Lokatoren (Suchmerkmale zum Befüllen der jeweiligen Felder)

4. Export (Schnittstellenkonfiguration für diese Dokumentenklasse)

 

 

Dokumentenklassen

Anlegen einer Dokumentenklasse

Dokumentenklassen können mit einem Klick auf den Reiter Dokumentenklassen konfiguriert werden

image-1583429547373.png

Die Invoice Dokumentenklasse wird mit dem Invoice Template ausgeliefert

image-1583419559548.png

Mit dem + Symbol können neuen Dokumentenklassen angelegt werden. Hier wird der technische Name und die Beschreibung der Dokumentenklasse gefüllt.

image-1583419617397.png

Mit einem Doppelklick auf den Eintrag in der Liste öffnet sich der Konfigurationsdialog für die Dokumentenklasse.

image-1583419728841.png

Die Konfiguration der Reiter für unterschiedliche Feldgruppen kann mit einem Klick auf Groups geöffnet werden.

image-1583419845347.png

Hier wird eine Liste aller bereits angelegten Gruppen angezeigt.

image-1583419913726.png

Neue Gruppen können mit dem + Symbol hinzugefügt werden.

Bereits bestehende Gruppen können per Doppelklick auf den Eintrag in der Liste konfiguriert werden.

 

 

Dokumentenfelder

Dokumentenfelder

Dokumentenfelder

Dokumentenfelder werden in Squeeze für unterschiedliche Funktionen benötigt:

In Squeeze werden verschiedene Arten von Dokumentenfeldtypen bereitgestellt:

Feld-Typ Bedeutung
Text Textfeld
Date Datumsfeld
Amount Betragsfeld (numerisch, 2 Nachkommastellen
Table Tabellenfeld

Es gibt verschiedene Feldeigenschaften die für die Dokumentenfelder konfiguriert werden können:

Feld-Eigenschaft Bedeutung
Pflichtfeld leere Felder werden im Webclient rot dargestellt, die Validierung ist nicht möglich solange das Feld nicht gefüllt ist
Nur Lesen Im Webclient kann das Feld nicht bearbeitet werden, Lokatoren können das Feld im Hintergrund füllen
Versteckt das Feld wird im Webclient nicht dargestellt
Bestätigen das Feld wird im Webclient blau dargestellt und muss vor der Validierung mit Enter bestätigt werden

Weitere Feldkonfigurationen:

Feld-Konfiguration Bedeutung
Name technischer Feldname
Beschreibung Anzeigenamen des Feldes
Lokator Auswahlfeld für bereits konfigurierte Lokatoren, die dem Feld zugewiesen werden können
Subfield relevant für die Endbeträge bei Eingangsrechnungen (NetAmount, TaxAmount, TotalAmount, TaxRate)
Gruppe Auswahlfeld mit den Gruppen dieser Dokumentenklasse (Feldgruppen -> Groups)
Name im Zielsystem technischer Name für die Exportschnittstelle für dieses Feld
Dokumentenfelder

Dokumentenfelder anlegen / konfigurieren

Innerhalb der Konfiguration für eine Dokumentenklasse können Felder mit einen Klick auf den Reiter Felder angelegt werden.

image-1583497866158.png

In diesem Dialog sind alle bereits für diese Dokumentenklasse angelegten Felder zu sehen.

Beispiel für die Dokumentenklasse Eingangsrechnungen.

image-1583498485479.png

Mit einem Doppelklick auf einen Eintrag in der Liste öffnet sich der Konfigurationsdialoag für das betreffende Feld.

Beispiel für das Feld Creditor:

image-1583498550390.png

Mit dem+ Symbol in der unteren Leiste können neue Felder angelegt werden.

image-1583498573625.png

Neu angelegte Felder sind im Webclient nach Aktualisierung der Webseite (F5) sofort zu sehen.

Die Reihenfolge der dargestellten Felder im Webclient lässt sich in der Feldliste per Drag & Drop einfach ändern.

 

Lokatoren

Lokatoren

Lokatoren

Lokatoren sind in Squeeze Werkzeuge mit deren Hilfe Textinformationen aus Dokumenten ermittelt werden.

Lokatoren können in Squeeze Feldern zugewiesen werden, in diesem Fall wird das Lokatorergebnis in das jeweilige Dokumentenfeld übernommen.

In Squeeze sind verschiedene Lokatorentypen verfügbar:

Lokatortyp Bedeutung
Regular Expression Lokator für reguläre Ausdrücke
KeyWord Lokator für Schlüsselbegriffe
Invoice Amounts Lokator für Endbeträge und Steuersatz einer Rechnung (Nettobetrag, Bruttobetrag, Steuerbetrag und Steuersatz)
Document Date Lokator für Datumsangaben
Keyword to Value Lokator für Werte (reguläre Ausdrücke) die auf einen Schlüsselbegriff umgesetzt werden
Value next to Keyword Lokator für Werte (reguläre Ausdrücke) die in der Nähe eines bestimmten Schlüsselbegriffes
Search for line items Lokator für die Positionszeilenfindung
Search for DB linked data Lokator für Datenbanksuche (andere Lokatoren können als Source-Lokator angegeben werden)
Barcode Lokator für Barcodeerkennung
Value from Regular Expression Datenbanklokator für reguläre Ausdrücke (regex, result)

Lokatoreigenschaften:

Eigenschaft Bedeutung
Name technischer Lokatorname
Beschreibung Anzeigenamen für den Lokator
Lokator Typ Auswahlfeld für Lokatortypen
Wert Auswahlfeld für Lokatorwerte (Text, Date, Amount)
Seiten Auswahlfeld für welche Seiten des Dokumentes der Lokator ausgeführt werden soll (Jede Seite, Erste Seite, Letzte Seite)
ggf. Quelle Auswahlfeld für Lokatoren, deren Ergebnismenge für diesen Lokator genutzt werden soll
Aktiv Auswahlfeld für die Aktivierung des Lokators (ja, nein)
ignoriere Leerzeichen das Suchmuster des Lokators ignoriert Leerzeichen

Wichtig: Lokatoren können Ihr Suchmuster nur pro Textzeile finden, es gibt keine Möglichkeit mit Zeilenumbrüchen zu arbeiten.

Mit dem Squeeze Invoice Template werden bereits verschiedene Lokatoren ausgeliefert:

image-1583508559607.png

Wichtig: Diese Lokatoren können in jeder anderen Dokumentenklasse genutzt werden.

Für jeden Lokator können entsprechende Ersetzungen konfiguriert werden:

image-1583507987289.png

Beispiele für Ersetzungen im Phone (Telefonnummer) - Lokator:

image-1583508434759.png

Wichtig: Ersetzungen können immer nur für die Ersetzung eines Zeichens durch ein oder kein Zeichen konfiguriert werden.

 

Lokatoren

Testmodus für Lokatoren

Lokatoren können mit Squeeze auf Dokumenten getestet werden. Der Squeeze - Webclient kann dafür in den "Test-Modus" umgeschaltet werden. Einfach hinter die bestehende URL im Browser folgenden Text einfügen: &debug=1.

Diese Einstellung wird für Administratoren im Squeeze-Webclient in der aktuellen Browser-Session gespeichert. Nach der Umstellung auf den Testmodus stehen dem Benutzer während der Validierung von Dokumenten weitere Reiter zur Verfügung:

image-1583511448733.png

Mit einem Klick auf den Reiter Testen öffnet sich der Testmodus.

image-1583511568663.png

In dem grünen Auswahlfenster kann der Lokator den der Benutzer testen möchte ausgewählt werden:

image-1583511775359.png

Nach dem der Lokator ausgewählt wurde, ändert sich die Anzeige. Auf der linken Seite wird der Testmodus für den Lokator dargestellt, auf der rechten Seite erscheint nicht mehr das Bild sondern der Konfigurationsdialog des ausgewählten Lokators.

image-1583512323941.png

Beim Klick auf den Button Testen wird der ausgewählte Lokator ausgeführt. Nach dem die Ausführung des Lokators beendet ist erscheint ein zusätzliches Browserfenster mit Logausgaben. (das Log-Fenster kann einfach geschlossen werden)

Auf der linken Seite werden jetzt die erkannten Werte in einer Liste dargestellt. Auf der rechten Seite ist wieder das Dokument zu sehen. Wenn der Benutzer nun mit der Maus über einen der Werte zeigt, wird auf der rechten Seite die Fundstelle dieses Wertes markiert.

image-1583513547129.png

Der Benutzer kann nun wahlweise den Button Bearbeiten klicken, dann erscheint wieder der Konfigurationsdialog für den Lokator, hier kann die Konfiguration angepasst werden und der Test erneut ausgeführt werden.

Besonders bei der Konfiguration eines Lokators für reguläre Ausdrücke, Schlüsselworte oder auch Positionen ist der Testmodus empfehlenswert.

Darüber hinaus gibt es im Testmodus die Möglichkeit die OCR-Textzeilen und die OCR Worte des Dokumentes anzuzeigen.

image-1583513823594.png

Mit der Maus kann jetzt wieder auf die Textzeilen gezeigt werden, dabei wird die entsprechende OCR-Textzeile auf dem Dokument markiert.

image-1583513969405.png

Nachdem der Benutzer einen neuen Lokator erfolgreich getestet hat, kann über den Reiter Aktionen und den Menüpunkt Ergebnis neu erstellen, das Dokument erneut verarbeitet werden, dabei wird nur die Lokatoren-Konfiguration mit den aktuellen Einstellungen angewendet.

Hinweis: Bei Ergebnis neu erstellen, wird keine neue OCR-Erkennung durchgeführt, es wird lediglich die Lokatoren-Logik auf das OCR-Ergebnis neu angewendet.

 

Lokatoren

Lokator: Regular Expression

Der Lokator Regular Expression findet reguläre Ausdrücke in den OCR-Textzeilen des Dokumentes.

Das Ergebnis dieses Lokators ist das gefundene Suchmuster.

Wie reguläre Ausdrücke funktionieren, ist nicht Bestandteil dieser Dokumentation, dafür gibt es im Internet sehr viele gute Beispiele und Möglichkeiten zum Testen von regulären Ausdrücken, z.B. https://regex101.com/

Wichtig: Es können beliebig viele reguläre Ausdrücke konfiguriert werden, diese werden dann automatisch oder verknüpft gesucht.

Wichtig: reguläre Ausdrücke werden in Squeeze  case insensitive gesucht, das bedeutet, Groß-Klein Schreibung muss nicht extra berücksichtigt werden.

Wichtig: Die regulären Ausdrücke werden in der Reihenfolge in der diese angelegt sind gesucht, das bedeutet für einen regulären Ausdruck der bereits gefunden wurde, kann kein weiterer, in der Liste nachfolgender regulärer Ausdruck gefunden werden.

Klassische Beispiele für den Einsatz von Lokatoren für reguläre Ausdrücke:

Wichtig: für einige dieser regulären Ausdrücke müssen Ersetzungen konfiguriert werden

Beispiel Wert regulärer Ausdruck Leerzeichen ignorieren
IBAN DExx xxxx xxxx xxxx xxxx xx (DE\d{20}) ja
Ust-ID DE xxxxxxxx ((DE)([1-9]\d{8})) ja
Beträge 100,00 oder 1.000,00 ([-\+]?[0-9]{1,3}([ ]?[,\.]?[ ]?[0-9]{3})*[ ]?[,\.][ ]?[0-9]{2}[-\+]?(?![0-9.,])) nein
Datum 01.01.2020 ([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4})|([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{2}) ja
Namen Achim Redmann (Achim Redmann) nein
Telefonnr.

+4940359840001

([+]?[0-9]{8,15}) ja
Emailadresse info@dexpro-solutions.de ([a-zA-Z0-9_\-.]{2,30}@[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3}) nein
URL www.dexpro-solutions.de (www\.[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3}) nein
beispielhafte Einrichtung eines neuen Lokators zur Erkennung einer Bestellnummer anhand eines regulären Ausdrucks

Im folgenden Beispiel soll eine auf dem Dokument befindliche 10-stellige numerische Bestellnummer erkannt werden.

Dazu bietet sich der Lokator für reguläre Ausdrücke sehr gut an.

Im Konfigurationsdialog einer Dokumentenklasse auf den Reiter Lokatoren klicken.

image-1583514796300.png

In der unteren Bildschirmleiste das + Symbol Klicken um einen neuen Lokator anzulegen.

image-1583514870786.png

Im sich daraufhin öffnenden Fenster den technischen Namen und den Anzeige-Namen des neuen Lokators angeben und auf den Button Speichern klicken.

image-1583514960969.png

Der neue Lokator erscheint nun in der Liste der Lokatoren. Auf diesen Eintrag Doppelklicken.

image-1583515061625.png

Im sich daraufhin öffnenden Dialog den Lokator auf Aktiv setzen. Der Lokator-Typ Regular Expression ist bereits vorausgewählt. Die Erkennung der Bestellnummer soll auf jeder Seite durchgeführt werden und der Wert Typ den wir erkennen wollen ist Text.

image-1583515243968.png

Dann klicken wir auf den Reiter Reguläre Ausdrücke um den Reg-Ex für den Lokator zu konfigurieren. Hier wieder das + Symbol klicken um einen neuen regulären Ausdruck zu konfigurieren.

image-1583515494697.png

Der reguläre Ausdruck für eine freistehende 10 stellige Nummer könnte folgend konfiguriert werden: \b([0-9]{10})\b

dann auf Speichern klicken.

image-1583515800602.png

Der neue Reg-Ex steht jetzt in der Liste der regulären Ausdrücke.

image-1583515987181.png

Nachdem der neue Lokator konfiguriert wurde, kann man den Lokator im Testmodus testen. Dazu wird das Dokument mit der Bestellnummer geöffnet und auf den Reiter Testen geklickt. Der neue Lokator kann jetzt in der Liste im Auswahlfenster ausgewählt werden.

image-1583516243074.png

Mit einem Klick auf den Testen Button wird der neue Lokator getestet. Das Ergebnis der Lokatorsuche wird wieder links in der Liste dargestellt, die Fundstelle wird auf dem Dokument markiert.

image-1583516384009.png

Jetzt müsste der Benutzer den neuen Lokator noch dem jeweiligen Dokumenten-Feld für die Bestellnummer zuweisen. Dies ist im Kapitel Dokumentenfelder beschrieben.

Wie die erkannte Bestellnummer gegen entsprechende Stammdaten plausibilisiert werden kann, ist in der Beschreibung für den Lokator Search for DB Link data beschrieben.

 

 

Lokatoren

Lokator: KeyWord

Der Lokator KeyWord findet Schlüsselwörter in den OCR-Textzeilen des Dokumentes.

Das Ergebnis dieses Lokators ist das konfigurierte Schlüsselwort.

Wichtig: die Suche nach Schlüsselwörtern berücksichtigt immer nur ein Schlüsselwort.

Wichtig: Es können beliebig viele Schlüsselwörter konfiguriert werden, diese werden dann automatisch oder verknüpft gesucht.

Wichtig: Die Suche nach Schlüsselwörtern berücksichtigt eine gewisse Unschärfe. Im Detail bedeutet unscharf in diesem Lokator, das ein Zeichen des Schlüsselwortes abweichen kann und dennoch zu einem positiven Suchergebnis führen wird.

Wichtig: Schlüsselwörter werden in Squeeze  case insensitive gesucht, das bedeutet, Groß-Klein Schreibung muss nicht extra berücksichtigt werden.

Die Anlage eines neuen Lokators für die Suche nach einem neuen Schlüsselwort, funktioniert analog zur Anlage eines regulären Ausdrucks, der Lokator Typ für die Schlüsselwortsuche ist KeyWord.

Lokatoren

Lokator: KeyWord to Value

Der Lokator KeyWord to Value findet Schlüsselwörter in den OCR-Textzeilen des Dokumentes.

Der Unterschied zum normalen KeyWord Lokator besteht darin, das dem Schlüsselwort ein weiterer konfigurierbarer Wert zugewiesen werden muss.

Das Ergebnis dieses Lokators ist der konfigurierte Wert der dem Schlüsselwort zugeordnet ist.

Darüber hinaus gelten für die KeyWord to Value Suche alle Merkmale der normalen KeyWord Suche (siehe Lokator: KeyWord)

Ein geeignetes Beispiel für die KeyWord to Value Suche ist z.B. die Rechnungsart.

zugewiesener Wert mögliche Schlüsselwörter
Rechnung Rechnung, Anzahlungsrechnung, Invoice, Faktura, Dauerrechnung etc.
Gutschrift Gutschrift, Debit Note etc.

Anlegen eines KeyWord to Value Lokators:

Das Vorgehen zum Anlegen eines KeyWord to Value Lokators ist analog zum KeyWord Lokator.

Wenn der Lokator Typ KeyWord to Value ausgewählt wird, erscheint im Konfigurationsdialog neben dem Reiter Suchbegriffe für die Schlüsselwörter, ein weiterer Reiter für die Konfiguration der Werte.

image-1583767534301.png

Zuerst konfiguriert man den gewünschten Wert mit einem Klick auf den Reiter Werteliste.

In der unteren Liste wird mit einem Klick auf das + Symbol ein neuer Wert hinzugefügt. Daraufhin öffnet sich ein neues Fenster mit den beiden Feldern Wert und Beschreibung, diese beiden Felder werden im folgenden Beispiel jeweils mit dem Wert Rechnung gefüllt und mit einem Klick auf den Speichern Button bestätigt.

image-1583767888453.png

In der Liste der Werte befinden sich nun der neue Wert und dessen Beschreibung.

image-1583768097400.png

Mit einem Klick auf den Reiter Suchbegriff kann der gewünschte Suchbegriff angelegt werden. dazu wieder das + Symbol klicken.

Daraufhin öffnet sich ein neues Fenster, hier kann der Suchbegriff konfiguriert werden und diesem Suchbegriff kann der gewünschte Wert zu gewiesen werden. 

image-1583768275765.png

Mit einem Klick auf den Speichern Button, wird die Konfiguration für den Suchbegriff zum entsprechenden Wert gespeichert.

Für dieses Beispiel fügen wir einen weiteren Suchbegriff hinzu. Der Suchbegriff Invoice soll zusätzlich dem Wert Rechnung zugewiesen werden.

Mit einem Klick auf das + Symbol können weitere Suchbegriffe zugewiesen werden, im Feld Feld Wert wird der gewünschte Wert ausgewählt.

image-1583768530541.png

Mit dieser Konfiguration werden die beiden Schlüsselwörter Rechnung oder Invoice auf dem Dokument gesucht und das Ergebnis dieses Lokators ist der Wert Rechnung.

Diese Konfiguration kann beliebig erweitert werden. Zum Beispiel kann ein weiterer Wert Gutschrift hinzugefügt werden.

Diesem Wert können wieder beliebig viele Suchbegriffe zugewiesen werden.

Wichtig: Jedem Suchbegriff sollte ein Wert zugewiesen werden, da andernfalls das Lokator-Ergebnis für den Suchbegriff leer bleibt.

 

 

 

Lokatoren

Lokator: Value next to KeyWord

Der Lokator Value next to KeyWord findet Schlüsselwörter und in der Nähe des Schlüsselwortes befindliche Reguläre Ausdrücke.

In der Nähe bedeutet, der Lokator sucht rechts neben dem Schlüsselbegriff und unter dem Schlüsselbegriff nach einem passenden regulären Ausdruck.

Ein klassisches Beispiel für diesen Lokator ist die Suche nach Rechnungsnummern auf einer Rechnung.

In der Konfiguration des Lokators gibt es einen  Reiter für die Konfiguration der gewünschten Schlüsselbegriffe und einen Reiter für die regulären Ausdrücke.

image-1584035734480.png

Die Konfiguration der der regulären Ausdrücke und der Schlüsselbegriffe ist analog zur Konfiguration der Lokatoren für KeyWords und des Lokators für reguläre Ausdrücke.

Lokatoren

Lokator: Invoice Amounts

Der Lokator Invoice Amounts findet die Endbeträge (Nettobetrag, Bruttobetrag und Steuerbetrag) und den Steuersatz einer Rechnung.

Dieser Lokator funktioniert nur in Kombination mit einem Betrags-Lokator der auf Basis regulärer Ausdrücke, numerische Werte mit 2 Nachkommastellen ermittelt. Darüber hinaus werden Stammdateninformationen zum gültigen Steuersatz benötigt.

Die Funktionsweise dieses Lokators kann wie folgt beschrieben werden.

Wichtig: Diese Konfiguration funktioniert nur für einen Steuersatz. Für Rechnungen mit mehreren Steuersätzen wird es in zukünftigen Versionen entsprechende Funktionen geben. Aktuell gibt es für diese Rechnungen die Möglichkeit Endbeträge für mehrere Steuersätze kreditorspezifisch zu trainieren.

Konfiguration des Invoice Amounts Lokators:

Voraussetzung für die Verwendung dieses Lokators ist ein Lokator für die Betragsfindung aufgrund regulärer Ausdrücke. Dieser Lokator wird mit dem Invoice Template ausgeliefert.

weitere Voraussetzungen sind die Stammdatentabellen taxrates und creditors. Beide Stammdatentabellen werden mit dem Invoice Template ausgeliefert.

image-1583773242111.png

Im Feld ggf. Quelle wird der konfigurierte Betragslokator hinterlegt.

Alternative Endbetragsermittllung für Rechnungen:

Da es vorkommen kann das einige Rechnungen die für die Endbetrags-Ermittlung notwendigen Werte (Brutto, Netto und Steuerbetrag) nicht enthalten (z.B. Rechnungen im Baugewerbe), kann für diese Rechnungen alternativ, die Endbetrags-Ermittlung nach dem Prinzip der Keyword-Suche konfiguriert werden.

Für diese Konfiguration sind 3 weitere Keyword-Lokatoren (Nettobetrag, Bruttobetrag und Steuerbetrag) anzulegen. Diese Lokatoren sollten die gewünschten Schlüsselworte für die gesuchten Beträge finden. 

Diese Lokatoren können dann im Reiter Endbeträge entsprechend hinterlegt werden.

image-1583774708763.png

Konfigurierbare Steuersätze je Land

Seit der SQUEEZE Version 1.8.0 existiert eine weitere Möglichkeit zur Konfiguration dieses Lokators. Auf Grund der Mehrwertsteueranpassung zum 01.07.2020 wurde die Möglichkeit geschaffen, die gültigen Mehrwertsteuersätze je Land in der Stammdatentabelle (taxrates) zu hinterlegen.

Hinzu kommt die Möglichkeit, der Betragserkennung mitzugeben, für welches Land gerade eine Betragserkennung durchgeführt werden soll bzw. welche Mehrwertsteuersätze zu nutzen sind. Das Land bzw. die Mehrwertsteuersätze können je Beleg variieren, daher kann unter dem neuen Reiter Einstellungen hinterlegt werden, in welchem Feld (TaxCountryField) das Länderkürzel steht, welches zur Ermittlung der Steuersätze genutzt werden soll.

Sollte kein Land ermittelt worden sein, kann ein Standard Ländercode festgelegt werden (DefaultTaxCountry), welcher verwendet wird, um die Steuersätze zu ermitteln. 
Hier ein Beispiel:

image-1592885178367.png

 

 

Lokatoren

Lokator: Document Date

Der Lokator Document Date findet das erste Datum auf einer Dokumentenseite, von oben beginnend.

Dieser Lokator kann nur mittels eines weiteren Lokators basierend auf der Suche nach regulären Ausdrücken genutzt werden. Für diesen Lokator sollten entsprechende reguläre Ausdrücke konfiguriert sein.

Im Squeeze Invoice-Template wird ein Lokator mit verschiedenen regulären Ausdrücken zur Datums-Suche ausgeliefert.

Dieser Lokator (Dates) wird dann als Quelle für den Beleg-Datums-Lokator genutzt.

Konfiguration des Dates-Lokators:

Allgemeine Eigenschaften:

image-1584036662097.png

reguläre Ausdrücke für den Date-Lokator:

image-1584036796536.png

Konfiguration des Beleg-Datum-Lokators:

Der Datums-Lokator wird als Quelle für den Beleg-Datums Lokator eingetragen.

image-1584036873963.png

Lokatoren

Lokator: Search for DB linked data

Der Lokator Search for DB linked data findet auf Basis weiterer Lokatoren-Ergebnisse, Einträge in Datenbanken.

Ein klassisches Beispiel für die Verwendung dieses Lokators ist die Kreditorsuche bei Eingangsrechnungen.

Mittels entsprechender Lokatoren für die Suche nach IBAN-Nummern, Umsatzsteuer-IDs, Steuernummern, Telefon - und Fax-Nummern, Email-Adressen oder Internet-Adressen wird in einer entsprechenden Datenbank nach passenden Einträgen gesucht und zu diesen Einträgen die Kreditor-Nummer zurückgegeben.

Der Lokator für die Suche nach Kreditoren mittels Datenbanksuche ist Bestandteil des ausgelieferten Invoice Templates.

Konfiguration des DB Link Locators

Die Konfiguration wird analog zu allen anderen Lokatoren durchgeführt. Der Lokator Typ für diesen Lokator ist Search for DB linked data.

image-1584095013318.png

Unter dem Reiter Datenbanksuche wird die Datenbank-Suche konfiguriert:

Diese Konfiguration wird am Beispiel der Kreditor-Suche erläutert.

image-1584095390109.png

Im unteren Tabellen-Bereich der Konfiguration werden die Source-Lokatoren für die Kreditor-Suche konfiguriert.

Source Lokator (Quell-Lokator) DB-Spalte der ausgewählten DB Stop-Kennzeichen
UstId (Lokator für die Ermittlung von Umsatzsteuer-IDs) EUTaxId Nein
IBAN (Lokator für die Ermittlung von IBANs) IBAN Nein
Email (Lokator für die Ermittlung von Emails) Email Nein
URL (Lokator für die Ermittlung von URLs) Webpage Nein
Phone (Lokator für die Ermittlung von Telefonnummern) Phone Nein
Phone (Lokator für die Ermittlung von Telefaxnummern) Fax Nein

Die Such-Ergebnisse der Source-Lokatoren werden in der DB-Spalte der entsprechenden Datenbank gesucht und der Wert der Ergebnis-Spalte zurückgegeben.

Die Reihenfolge wie die Ergebnisse der Source-Lokatoren in der Datenbank gesucht werden, kann in der Liste via Drag & Drop geändert werden. Der oberste Eintrag wird zuerst gesucht, der unterste Eintrag zuletzt.

Für das Stop-Kennzeichen kann entweder ja oder nein ausgewählt werden. Ja bedeutet, wenn nur ein Ergebnis in der Datenbank gefunden wird, wird der Wert der konfigurierten Ergebnis-Spalte zurückgegeben und die Suche beendet. Nein bedeutet, unabhängig ob es Treffer in der Datenbank gibt, es wird immer mit dem nächsten Lokator in der Liste weiter gesucht. 

Für die IBAN bedeutet diese Konfiguration, alle via IBAN-Lokator gefundenen IBANs werden in der Datenbankspalte IBAN gesucht, wenn eine oder mehrere passende IBANs gefunden werden, werden die Kreditor-IDs dieser Zeilen zurückgegeben.

Mit dem + Symbol können weitere Lokatoren die bereits konfiguriert sind, ausgewählt und hinzugefügt werden.

image-1584114112306.png

Eine weitere Verwendungsmöglichkeit dieses Lokators ist die Plausibilisierung entsprechender Lokator-Ergebnisse gegen Datenbankeinträge.

So könnte man zum Beispiel mittels:

folgende beispielhafte Merkmale auf dem Dokument ermitteln:

und diese dann gegen geeignete Datenbankinformationen plausibilisieren.

Dazu wird das Lokator - Ergebnis in der entsprechenden Datenbanktabelle gesucht und diese Datenbankspalte auch als Ergebnis-Spalte konfiguriert. Mittels dieser Konfiguration werden als Ergebnis nur Einträge die auch in der Datenbank gefunden werden zurückgegeben.

Beispiel für Datenbank-Plausibilisierung 

In dem abgebildeten Beispiel, wird die mittels eines regulären Ausdrucks ermittelte Bestellnummer, gegen eine Datenbank mit entsprechenden Bestellnummern plausibilisiert.

Lokator für Erkennung der Bestellnummer (10-stellig numerisch) mittels regulärem Ausdruck:

image-1584115622290.png

Lokator für die Plausibilisierung der erkannten Bestellnummer gegen eine Datenbank:

image-1584115295926.png

Lokatoren

Lokator: Search for line items

Der Lokator Search for line items findet Positionszeilen auf Dokumenten anhand entsprechender Spalten-Überschriften und unter diesen Spalten befindlichen Werten.

Die Suche nach Positionen ist im ausgelieferten Invoice-Template bereits konfiguriert.

Die Positions-Suche in Squeeze benötigt entsprechende Lokatoren mit deren Hilfe die Spaltenüberschriften der Positions-Tabelle gefunden werden.

Konfiguration einer Standard-Positions-Suche für Eingangsrechnungen:

Die Lokatoren für die Suche nach Spaltenüberschriften können als KeyWord to Value konfiguriert werden.

Konfigurations - Beispiel für den Lokator der Spalte Menge:

image-1584118313531.png

image-1584118354639.png

Konfigurations - Beispiel für den Lokator der Spalte Einzelpreis:

image-1584118421973.png

image-1584118443440.png

Konfigurations - Beispiel für den Lokator der Spalte Positionsgesamtpreis:

image-1584118480882.png

image-1584118517068.png

Die konfigurierten Suchbegriffe können je nach Anwendungsfall entsprechend angepasst und/oder erweitert werden.

Diese Lokatoren können in der Konfiguration für das Positions-Tabellenfeld hinterlegt werden.

image-1584118751285.png

image-1584118773429.png

Mit einem Doppelklick auf die Positions-Spalte Quantity (Menge) öffnet sich der Konfigurationsdialog für dieses Spaltenfeld:

In dem Feld Überschriften Lokator wird der entsprechend konfigurierte Lokator für die Erkennung der Mengen-Überschriften hinterlegt.

image-1584118931501.png

Nachdem für alle Spalten der Positions-Tabelle des Positionsfeldes, der entsprechende Überschriften Lokator konfiguriert worden ist, muss auf dem Reiter Allgemein für das Positionsfeld im Feld Lokator noch der Positions-Lokator konfiguriert werden.

image-1584124350130.png

Lokatoren

Lokator: Search for line items

Der Lokator Search for line items findet Positionszeilen auf Dokumenten anhand entsprechender Spalten-Überschriften und unter diesen Spalten befindlichen Werten.

Die Suche nach Positionen ist im ausgelieferten Invoice-Template bereits konfiguriert.

Die Positions-Suche in Squeeze benötigt entsprechende Lokatoren mit deren Hilfe die Spaltenüberschriften der Positions-Tabelle gefunden werden.

Konfiguration einer Standard-Positions-Suche für Eingangsrechnungen:

Die Lokatoren für die Suche nach Spaltenüberschriften können als KeyWord to Value konfiguriert werden.

Konfigurations - Beispiel für den Lokator der Spalte Menge:

image-1584118313531.png

image-1584118354639.png

Konfigurations - Beispiel für den Lokator der Spalte Einzelpreis:

image-1584118421973.png

image-1584118443440.png

Konfigurations - Beispiel für den Lokator der Spalte Positionsgesamtpreis:

image-1584118480882.png

image-1584118517068.png

Die konfigurierten Suchbegriffe können je nach Anwendungsfall entsprechend angepasst und/oder erweitert werden.

Diese Lokatoren können in der Konfiguration für das Positions-Tabellenfeld hinterlegt werden.

image-1584118751285.png

image-1584118773429.png

Mit einem Doppelklick auf die Positions-Spalte Quantity (Menge) öffnet sich der Konfigurationsdialog für dieses Spaltenfeld:

In dem Feld Überschriften Lokator wird der entsprechend konfigurierte Lokator für die Erkennung der Mengen-Überschriften hinterlegt.

image-1584118931501.png

Nachdem für alle Spalten der Positions-Tabelle des Positionsfeldes, der entsprechende Überschriften Lokator konfiguriert worden ist, muss auf dem Reiter Allgemein für das Positionsfeld im Feld Lokator noch der Positions-Lokator konfiguriert werden.

image-1584124350130.png

Stammdaten

Stammdaten

Stammdaten

Stammdaten dienen in Squeeze zur Erkennung und Plausiblisierung von Merkmalen auf den jeweiligen Dokumententypen.

Stammdaten werden in Squeeze in der Datenbank als Tabelle angelegt. Dabei können beliebig viele unterschiedliche Spalten konfiguriert werden.

Es können unbegrenzt viele Stammdatentabellen angelegt werden.

Klassische Beispiele für Stammdatentabellen:

Squeeze kann die auf dem Dokument gefundenen Merkmale in den Stammdaten plausiblisieren und / oder auf zugehörige Werte umsetzen.

Die Stammdaten können auf verschiedene Art und Weise aktualisiert / gepflegt werden:

Stammdaten

Anlegen einer neuen Stammdatentabelle im Webclient

das Anlegen einer neuen Stammdatentabelle in Squeeze muss initial via CSV-Upload aus dem Webclient erfolgen.

image-1583422907324.png

Beim Klick auf den Reiter Stammdaten öffnet sich der Dialog für die Stammdatenkonfiguration.

Folgende Stammdatentabellen werden aktuell mit dem Invoice Template ausgeliefert.

image-1583423052577.png

Eine neue Stammdatentabelle wird über das + Symbol angelegt.

Im nächsten Dialog wird der technische Name und der Anzeigenamen angegeben.

image-1583423151188.png

 

 

 

Stammdaten

Konfiguration und Initialisieren einer neuen Stammdatentabelle via CSV-Upload

Im Webclient wird die Konfiguration der Spalten für diese Stammdatentabelle durchgeführt.

Stammdateneigenschaften

Mit einem Doppelklick auf den Eintrag in der Liste öffnet sich der Konfigurationsdialog für die Stammdatentabelle.

image-1583423584613.png

Spaltenkonfiguration

Zuerst werden die Spalten konfiguriert. Beim Klick auf den Reiter Spalten öffnet sich der Dialog zum Konfigurieren der Tabellenspalten.

image-1583423674420.png

Mit dem + Symbol können neue Spalten hinzugefügt werden.

image-1583423961246.png

Hier werden folgende Informationen benötigt:

Eigenschaft Beschreibung
Name Technischer Name für der Datenbankspalte
Beschreibung Anzeigenamen für der Datenbankspalte
Quelle externer Spaltenname (z.B. die Spaltenüberschrift in einer CSV-Datei)

Jede Stammdatentabelle in Squeeze benötigt mindestens eine ID-Spalte.

Es können dann beliebig viele eigene Spalten definiert werden.

image-1583427009033.png

Test-Tabelle mit id-Spalte + 2 weitere Spalten:

image-1583427138190.png

Nachdem die Spalten konfiguriert sind, wird eine CSV-Datei benötigt um die Tabelle auf dem Datenbankserver initial zu erstellen.

Die CSV Datei muss die selben Überschriften enthalten, wie in der Spaltenkonfiguration unter Quelle angegeben worden ist. Die Reihenfolge der Überschriften spielt keine Rolle.

WICHTIG: die Schreibweise der Spaltenüberschriften in der CSV-Datei ist case-sensitive. Das bedeutet Groß-Kleinschreibung ist relevant.

CSV-Datei Beispiel für die obige Tabelle:

image-1583510696508.png

Für die Werte-Zeilen müssen keine ID´s angegeben werden. Die ID Spalte ist eine Auto-Inkrement Spalte und erzeugt eigene fortlaufende ID´s beim Upload.

Nachdem die CSV-Datei erstellt wurde kann die Initialisierung der neuen Stammdatentabelle erfolgen mit einem Klick auf den Reiter Update.

image-1583424647584.png

Im sich daraufhin öffnenden Dialog wird der Pfad zur CSV-Datei angeben, der Dateityp und der verwendete Spaltentrenner.

image-1583424784439.png

Mit einem Klick auf den Update Button wird die neue Stammdatentabelle angelegt und die Werte aus der CSV-Datei (falls angegeben) werden eingetragen.

Die übergeben Werte können mit einem Klick auf den Reiter Daten geprüft werden.

image-1583432087455.png

Nach einem Upload werden die Werte nicht sofort angezeigt, in diesem Fall kann man die Aktualisierung über folgendes Symbol in der Symbolleiste am unteren Bildschirmrand ausführen.

image-1583427622989.png

Daten hinzufügen

Mit dem Webclient können manuell mit dem + Symbol weitere Werte hinzugefügt werden.

image-1583427730417.png

Den neuen Datensatz mit dem Speichern Button bestätigen.

image-1583432151735.png

 

 

 

Stammdaten

Intervall-gesteuerte Aktualisierung der Stammdaten mittels CSV-Upload

Die Daten in Stammdatentabellen können jederzeit via CSV-Upload upgedatet werden.

Im Hintergrund wird dabei eine neue Stammdatentabelle erstellt wodurch während der Aktualisierung die Ursprungstabelle weiterhin zur Verfügung steht.

Zum Ende der Aktualisierung wird die Ursprungstabelle durch die aktualisierte Tabelle ersetzt.

Jobs

Zeitlich gesteuerte Aufgaben

Jobs

Email-Verarbeitung

Um regelmäßig auf neue Emails zu prüfen, muss eine geplante Aufgabe eingerichtet werden.
Unter Windows können dafür die geplanten Tasks genutzt werden.
Unter Linux erfolgt die Einrichtung mit Hilfe von cron Jobs.

Einrichtung unter Windows

Unter Windows kann ein geplanter Task zur Regelmäßigen Prüfung der konfigurierten Postfächer genutzt werden.
Um einen neuen Task einzurichten müssen folgende Schritte durchgeführt werden:

1. Aufgabenplanung öffnen

Es kann eine eigener Unterordner für Squeeze aufgaben erstellt werden, wenn dies gewünscht ist

 

image-1584346136560.png

Auf der rechten Seite kann über den Menüpunkt "Aufgabe erstellen..." die Aufgabe für den Import der Emails angelegt werden.

2. Aufgabe erstellen

image-1584346394020.png

Der Name und die Beschreibung ist natürlich frei wählbar.

Damit die Aufgabe unabhängig von der Anmeldung eines Benutzers ausgeführt wird und auch unabhängig von eventuellen Passwortänderungen ist, hat sich bewährt, das System Konto auszuwählen. 

Die Aufgabe "mit höchsten Privilegien" zu starten hat sich ebenfalls bewährt.

3. Trigger/Zeitpunkt festlegen

image-1584346802279.png

Das Intervall in dem die Emails abgerufen werden sollen ist ebenfalls frei definierbar.
Bewährt hat sich ein Intervall von 5 Minuten im Produktivsystem. Für Testsysteme kann dieser Intervall natürlich auch kleiner gewählt werden, wenn schnell und viel getestet werden soll. 

4. Aktion festlegen

image-1584347128210.png

Als Programm muss die php.exe der Squeeze Installation ausgewählt werden. 
Als Argumente müssen zwei Werte angegeben werden:

Die vollständige Angabe der Argumente lautet also wie folgt:
C:\SQUEEZE\htdocs\jobs\EmailProcessing.php client.squeeze.net

 

 

Jobs

Datenbank Backup und Restore

Backup

Das sichern der SQUEEZE Datenbank(en) ist ein wichtiger Punkt der Administration. Um Sicherzustellen, dass im Fehlerfall nicht alle Daten verloren gehen, muss eine regelmäßiges Backup der Datenbanken durchgeführt werden.

Für MariaDB und MySQL kann folgender Befehl genutzt werden:

D:\SQUEEZE\mariadb\bin\mysqldump.exe --user=root --password="" --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --routines --events --databases "datenbankname" --result-file="D:\Squeeze\Backup\datenbank.sql"

Der Schalter --databases ist nicht nur für die Selektion der Datenbank verantwortlich, sondern steuert ebenfalls, ob ein Create Statement des Schemas in den dump exportiert werden soll. Soll das Create Statement nicht erstellt werden, muss der Schalter
--databases entfernt werden.

Backup aller Datenbanken

Um alle Datenbanken eines Servers zu sichern kann der folgende Befehl genutzt werden

mysqldump --user=root --password="" --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --routines --events --all-databases --result-file="D:\Squeeze\Backup\alle_datenbank.sql"

Entscheidend ist der Schalter --all-databases
Dieser Schalter erfordert keine weiteren Parameter.

Die Aufgabe des Backups sollte zeitlich geplant werden. Dazu kann die Aufgabenplanung des Betriebssystems genutzt werden.
Die Parameter sind natürlich entsprechend der Installation anzupassen.

Restore

Um eine Datenbank aus einer Sicherung wiederherzustellen kann dieser Befehl genutzt werden:

Sollte die Datenbank bereits bestehen, werden hiermit alle vorhandenen Daten mit denen des Backups überschrieben.

D:\SQUEEZE\mariadb\bin\mysql.exe -u root -p "datenbankname" < "D:\Squeeze\Backup\datenbank.sql"

Da jeder Mandant seine eigene Datenbank hat, ist die Aufgabe je Mandant/Datenbank zu planen.

 

Exportschnittstellen

Exportschnittstellen

Otris Documents SOAP

Eine der wohl am häufigsten genutzten Schnittstellen in Verbindung mit Squeeze ist die Otris Documents SOAP Schnittstelle.
Diese Schnittstelle bietet die Möglichkeit bidirektional mit dem Documents System zu interagieren. 

Konfiguration

Um ein Documents System per SOAP anzusprechen und Aktionen auszuführen, muss an der Squeeze Dokumentenklasse ein Export definiert werden:

image-1587535225375.png

image-1587535528053.png

Beim Speichern der Konfiguration wird versucht eine Verbindung zum Server herzustellen. Gelingt dieser Verbindungsaufbau nicht erscheint die Fehlermeldung in einem neuen Dialog, wie hier zu sehen ist:

image-1587535684958.png

Wenn die Verbindung jedoch hergestellt werden konnte, wird die Konfiguration zu den definierten Exportschnittstellen hinzugefügt. 

Fehler wenn keine Internetverbindung besteht

Die mit Documents ausgelieferte WSDL verweist auf ein Schema, welches bei W3C liegt. Sollte keine Internetverbindung bestehen, führt das zu einem Fehler, da das Schema nicht geladen werden kann. Um diesen Fehler zu umgehen und auf eine Interverbindung verzichten zu können, kann folgender Workaround genutzt werden:

Sicherung der WSDL erstellen

Im Soap Server Verzeichnis von Documents sollte eine Sicherung der Originalen WSDL erstellt werden:

image-1617723830297.png

Verweis zum Schema anpassen

in der DOCUMENTS.wsdl muss nun der Verweis so angepasst werden dass auf eine xsd verwiesen wird, die im lokalen netzwerk erreichbar ist. Am einfachsten ist hier, auf den Documents Server selbst zu verweisen (z.B. mittels IP des Documents-Servers)

image-1617723990498.png

Die xop.xsd muss nun noch im public root Verzeichnis des Documents Servers abgelegt werden, damit diese auch für Squeeze erreichbar ist.

Sobald diese Schritte erfolgt sind, sollte der Verbindungsaufbau mit Documents möglich sein.

 

Exportschnittstellen

SharePoint API

Diese Schnittstelle bietet die Möglichkeit bidirektional mit dem SharePoint System zu interagieren. 

Kompatibilität

Konfiguration

Um ein Sharepoint System per REST/OData anzusprechen und Aktionen auszuführen, muss an der Squeeze Dokumentenklasse ein Export definiert werden:

image-1613569319628.png

Authentifizierung

Meist wird als Authentifizierungsart die Benutzerauthentifizierung genutzt:

image-1613569510547.png

Beim Authentication Type ist "Benutzer" auszuwählen und die Felder "Benutzername" sowie "Passwort", eines Benutzers der dem SharePoint System bekannt ist, auszufüllen.

Die Felder "ClientId" sowie "Client Secret" sind nur bei dem Authentication Type "App" relevant.

Entität

Um in das System zu exportieren, muss zunächst die Entität bestimmt werden, in welche exportiert werden soll:

Nachdem dies ausgewählt wurde, kann im Feld "Entity ID" die entsprechende Liste oder Dokumentenbibliothek angegeben werden in der letztendlich der Export stattfindet.
Für Dokumentenbibliotheken muss der technische Name angegeben werden, bei Listen der Anzeigename.

image-1613570041538.png

Dokumentenbibilothek

Für die Dokumentenbibliotheken gibt es noch zwei weitere Einstellungen. 

Export Folder Structure gibt den Pfad in der Dokumentenbibliothek an, in den exportiert werden soll. Dieser kann dynamisch aus Feldwerten der Felder der jeweiligen Dokumentenklasse angegeben werden. Hierzu in dem Feld den Pfad von links nach rechts mit Feldern der Dokumentenklasse auswählen:

image-1613570206614.png

Die letzte Einstellungsmöglichkeit gibt an, ob SQUEEZE den Export-Pfad erstellen soll, falls dieser nicht vorhanden ist.
Ist der Pfad nicht vorhanden und SQUEEZE soll diesen nicht erstellen, wird ein Fehler beim Export eines Vorgangs durch den SharePoint zurückgegeben.

Feldwerte exportieren

Mit den Namen im Zielsystem (externe Feldnamen) können die Spalten eines Listeneintrages bzw. weitere Spalten/Details eines Eintrags einer Dokumentenbibliothek angegeben werden.

image-1613570520380.png

Diese können in der Dokumentenklasse bei den Feldern angegeben werden.

Positionen exportieren

Jedes "Table"-Feld (in dem Beispiel die "LineItems") kann als JSON exportiert werden, wenn ein Zielname definiert wurde.
Dabei muss das Zielfeld mehrzeilig sein.

Reservierte Zielnamen

Der reservierte Zielname "ContentTypeID" gibt das SQUEEZE Feld an, welches den Inhaltstyp des exportierten Vorgangs angibt. Hier reicht es, den Namen anzugeben, SQUEEZE holt sich die ID selbst vom SharePoint. 
Hierbei handelt es sich um die globalen Inhaltstypen (Root) des SharePoints.

 

Benutzer und Rollen

Benutzer und Rollen

Rollenfilter & Feldbedingungen

Rollenfilter

Rollenfilter (im Folgenden kurz "Filter") gehören zum Autorisierungskonzept von SQUEEZE und unterstützen bei feldbasierter Authorisierung von Dokumenten.

Mittels Filtern ist es möglich für unterschiedliche Benutzergruppen andere Dokumente (auch innerhalb einer Dokumentenklasse) zu berechtigen.


Konfiguration

Jeder Rolle können beliebig viele Filter hinzugefügt werden.

Ein Filter steht im Bezug zu einer Dokumentenklasse und berechtigt den Zugriff (lesend & schreibend) auf alle Dokumente dieser Klasse.

Auswertung

Rollenfilter werden mit einem logischen Oder ausgewertet. D. h., wenn einer Rolle mehrere Filter zu der selben Dokumentenklasse zugeordnet sind, dann reicht bereits eine positive Auswertung des ersten Filters (und seiner Feldbedingungen) aus, um Zugriff auf das Dokument zu erhalten.

Dieses Verhalten gilt auch dann, wenn ein Benutzer Mitglied mehrerer Rollen mit wiederum diversen Filtern ist.

Zusammengefasst: Ein Benutzer erhält Zugriff auf ein Dokument, sobald mindestens eine seiner Rollen über einen Rollenfilter den Zugriff gewährt.

Feldbedingungen

Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können Rollenfilter um Feldbedingungen ergänzt werden. Diese erlauben die Filterung von Dokumenten auf Basis ihrer Feldwerte.

Konfiguration

An einem Filter können beliebig viele Feldbedingungen definiert werden. Eine Bedingung ist zusammengesetzt aus:

Aktuell können nicht alle konfigurierbaren Filter korrekt ausgewertet werden.

Die Filterung auf ein Textfeld mit einem "Größer als" Komparator (bspw. "Lieferantenname größer als 20") würde zu einem Suchfehler führen.

Die Konfiguration solcher Filter ist zwar (noch) möglich, sollte aber vermieden werden.

SQUEEZE 1 unterstützt mehr Komparatoren als SQUEEZE 2. Sollten Sie einen Komparatoren nutzen, der nicht mehr unterstützt wird, kontaktieren Sie bitte den Support, wenn Sie migrieren möchten.

Auswertung

Feldbedingungen werden anders als Rollenfilter mit einem logischen Und verknüpft ausgewertet.

Es müssen also alle Bedingungen erfüllt sein, damit ein Rollenfilter den Zugriff auf ein Dokument gewährt.

Zusammenspiel mehrerer Rollenfilter

Wenn für einen Benutzer mehrere Rollenfilter (mit wiederum diversen Feldbedingungen) ausgewertet werden, dann spielen Rollenfilter ohne Feldbedingungen keine Rolle mehr und werden ignoriert.

Ein Beispiel:

Zusammenspiel mit vererbten Rollen

Ist ein Nutzer Mitglied mehrerer Rollen (durch explizite Zuordnung oder Rollen-Vererbung), so werden Rollenfilter und Feldbedingungen dieser Rollen bei der Auswertung berücksichtigt.

Benutzer und Rollen

Rollen

Rollen

Rollen können genutzt werden, um den Dokumentenzugriff zu verwalten und die Verwendung von Funktionen wie Benutzerverwaltung zu authorisieren.

Das zugrundeliegende Authorisierungskonzept ist RBAC.

Konfiguration

Es können beliebig viele Rollen angelegt werden. Jede Rolle verfügt über einen Namen und eine Beschreibung.

Außerdem muss jeder Rolle eine Eltern-Rolle zugeordnet werden. Durch diese Zuordnung entsteht eine Rollenhierarchie, welche bspw. genutzt werden kann, um Organisationsstrukturen abzubilden.

Benutzerzuordnung & Vererbung

Ein Benutzer kann zu beliebig vielen Rollen hinzugefügt werden.

Der zugeordnete Benutzer ist implizit Mitglied aller Sub-Rollen der zugeordneten Rolle.

Diese Vererbung forciert, dass Berechtigungen von Sub-Rollen auf die Eltern-Rolle übertragen werden. Mehr dazu im Abschnitt Rollenfilter & Feldbasierte Berechtigung

SQUEEZE Admin FAQ

SQUEEZE Admin FAQ

Wie können alle Dokumente gelöscht werden?

Während einer Testphase kann es nötig sein alle Dokumente eines Systems löschen zu wollen/müssen. 
Für diese Anforderung gibt es ab der Version 1.8.0 eine API Funktion:

image-1591683988871.png

Diese Funktion kann nur von Benutzer der Gruppe root durchgeführt werden.
Des Weiteren wird ein Passwort benötigt, welches beim Support angefragt werden kann.

SQUEEZE Admin FAQ

Aufgabe: Periodischer Worker Neustart

Für einen periodischen Neustart des Workers benötigen wir folgendes Script, welches als ".bat" gespeichert wird.

@echo off
 set DIENSTNAME1="05_SQUEEZE_Worker"
 net stop %DIENSTNAME1% 2>nul
 if errorlevel 2 (
   echo Dienst ist bereits gestoppt . . . Starte %DIENSTNAME1%
   net start %DIENSTNAME1%
 )
 net start %DIENSTNAME1%

1. Aufgabe erstellen

 

worker-restart-aufgabe-erstellen.png

 

5l4worker-restart-sys&prio.png

Der Name und die Beschreibung ist natürlich frei wählbar.

Damit die Aufgabe unabhängig von der Anmeldung eines Benutzers ausgeführt wird und auch unabhängig von eventuellen Passwortänderungen ist, hat sich bewährt, das System Konto auszuwählen. 

Die Aufgabe "mit höchsten Privilegien" zu starten hat sich ebenfalls bewährt.

2. Trigger/Zeitpunkt festlegen

worker-restart-Neuer-Trigger.png

Das Intervall in dem der Worker neu gestartet werden soll ist frei definierbar.

3. Aktion festlegen

worker-restart-aktion.png

Als Programm wird die Oben erstellte ".bat" (worker restart.bat) ausgewählt. 

 

 

SQUEEZE Admin FAQ

ElasticSearch Speicher erweitern

Windows

Unter Windows kann eine kleine GUI Anwendung genutzt werden, um die Parameter des ElasticSearch Dienstes anpassen zu können:

C:\SQUEEZE\elasticsearch\bin\elasticsearch-service.bat manager 03_SQUEEZE_SearchEngine

image-1612455016437.png

 

SQUEEZE Admin FAQ

SOAP Server Funktion nutzen ohne Internetverbindung

Fehlerbild / Cause

Funktioniert die Übergabe an SQUEEZE über den SOAP Server nicht? (Session Timeouts / Parsing Schema Fehler)

Hat der SQUEEZE Server keine Internetverbindung?

Kann der SQUEEZE Server die importierten Schemas aus der DOCUMENTS.wsdl aufrufen?
(.../SQUEEZE/htdocs/public/api/DOCUMENTS.wsdl)

Lösung

In der DOCUMENTS.wsdl muss das zu importierende Schema (aktuell: http://www.w3.org/2004/08/xop/include) auf dem Server abgelegt und mittels XML-Tag Attribut "schemaLocation" darauf verwiesen werden.

Dabei ist zu beachten, dass eine Webadresse / IP angegeben werden muss, KEIN Dateipfad.

<import namespace="http://www.w3.org/2004/08/xop/include" schemaLocation="http://<SQUEEZE_SERVER_ADDRESS>/api/xop.xsd"/>

In diesem Beispiel wurde die XOP (xsd File) im SOAP Server Verzeichnis abgelegt.

Wenn der DOCUMENTS Server dieses Schema liefert (bei SQZ Export Konfiguration otris SOAP) dann sollte auch die DOCUMENTS.wsdl vom DOCUMENTS Server überprüft werden unter (...\Documents5\soapproxy\DOCUMENTS.wsdl).