Exportschnittstellen
Dokumentation von Exportschnittstellen.
- Otris Documents SOAP
- SharePoint API
- Navision Soap
- Freeze EAS Export
- Pull Export
- SharePoint Graph API
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:
Über "Neuer Eintrag" kann ein Export angelegt werden.
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:
Wenn die Verbindung jedoch hergestellt werden konnte, wird die Konfiguration zu den definierten Exportschnittstellen hinzugefügt.
Typische Fehler
Dokumente können nicht exportiert werden und bleiben liegen
In älteren Versionen dieser Schnittstelle wurden beliebige viele Dokumente gleichzeitig exportiert. Der Soap Server von DOCUMENTs ist allerdings nicht in der Lage damit umzugehen. Daher ist die Anzahl gleichzeitiger Exporte dieses Schnittstellentypens auf 1 limitiert.
Bei dieser Schnittstelle ist die Anzahl gleichzeitiger Exporte auf 1 beschränkt, um Fehler zu vermeiden.
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:
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)
Die xop.xsd
muss nun noch im public root Verzeichnis des Documents Servers abgelegt werden, damit diese auch für Squeeze erreichbar ist.
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:
Authentifizierung
Bei der Authentifizierung kann zwischen drei verschiedenen Mechanismen gewählt werden:
- User - Anmeldung am SharePoint mit Benutzer
- App
- NTLM
Authentifizierung als User
Um eine Benutzter-basierte Authentifizierung zu nutzen, ist im Feld Authentication Type
der Wert User
auszuwählen. Anschließend muss in die Felder Username
sowie Password
ein Benutzer, der dem SharePoint System bekannt ist, hinterlegt werden.
Authentifizierung als App
Um eine App-basierte Authentifizierung zu nutzen, ist im Feld Authentication Type
der Wert App
auszuwählen. Anschließend muss in die Felder Client Id
sowie Client Secret
eine Registrierte App Kennung hinterlegt werden, die dem SharePoint System bekannt ist.
Entität
Um in das System zu exportieren, muss zunächst die Entität bestimmt werden, in welche exportiert werden soll:
- Dokumentenbibliothek
- Liste
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.
Dokumentenbibliothek
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:
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.
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
Hierbei handelt es sich um die globalen Inhaltstypen (Root) des SharePoints.
Navision Soap
Bei dieser Schnittstelle ist die Anzahl gleichzeitiger Exporte auf 1 beschränkt, um Fehler zu vermeiden.
Freeze EAS Export
Diese Schnittstelle bietet die Möglichkeit in einen Freeze EAS Store zu exportieren.
Achtung: Diese Dokumentation bezieht sich auf eine bisher nicht veröffentlichte Version!
Kompatibilität
- Squeeze ab 2.4.1
- Dexpro Platform-Integration
- Hinweis: Aktuell steht sowohl die Platform als auch Freeze nur in der Cloud zur Verfügung
Setup
Allgemein ist es erstmal notwendig, eine funktionierende Integration in die Dexpro Platform zu haben. Am einfachsten kann man das über die Systemchecks sehen:
Für die Freeze EAS-Integration muss man zusätzlich in der Mandantenkonfiguration die BasisURL von Freeze eintragen:
...
"dexp": {
...
"freeze": {
"baseUrl": "https://public-02.freeze.one/apis/freeze/"
},
...
},
...
Wenn man erneut die Systemchecks durchführt, sollte die Freeze Integration angezeigt werden, gefolgt von der Liste der registrierten Stores:
Konfiguration
Die Konfiguration erfolgt wie bei jedem Export an der Dokumentenklasse:
Ob ein Feld exportiert wird hängt davon ab ob dessen Eigenschaft "Name (Zielsystem)" gesetzt ist. Falls ja, wird es unter diesem Namen an den Archiv-Record angehängt.
Pull Export
Der Pull Export ist ein Hilfsmittel, das für die Integration von Squeeze in anderen Anwendungen gedacht ist.
Dieser Export ist asynchon aus Sicht von Squeeze und ermöglicht, dass Integratoren Dokumente abholen, anstelle sie von Squeeze gesendet bekommen. Daher die Benennung "Pull Export" (im Kontrast zu "Push Export").
Das Prinzip hierbei ist:
- Ein Dokument wird in Squeeze validiert. Es liegt jetzt im Export-Schritt, wartend auf die Abholung von außen.
- Die Integration holt das Dokument ab.
- Die Integration markiert das Dokument als exportiert.
- Das Dokument wird jetzt in den nächsten Verarbeitungsschritt verschoben (Archiv, o. Ä.)
Falls Sie als Integrator Dokumente von Squeeze nach der Validierung aktiv abholen wollen, sprechen Sie Ihren Ansprechpartner für den Squeeze-Betrieb an.
SharePoint Graph API
Mit dieser Schnittstelle kann die offizielle SharePoint Graph API von Microsoft integriert werden, um mit einem SharePoint Verzeichnis zu kommunizieren.
Dafür ist eine registrierte Microsoft Azure Applikation notwendig.
Integrierte Services der Graph API
- Dokumente in ein zuvor definiertes SharePoint Verzeichnis hochladen
Zugangsberechtigungen in Microsoft Azure
Die zu verwendende Applikation benötigt die API Zugangsrechte "Sites.ReadWrite.All", um Dokumente hochzuladen.
Konfiguration
Um diese Schnittstelle zu verwenden und Aktionen auszuführen, muss an der Squeeze Dokumentenklasse eine Export-Schnittstelle definiert werden.
Authentifizierung
Abbildung - Export Interface SharePoint GraphAPI (WIP)
Feld Beschreibung
Für das Export Interface kann ein Name angegeben werden, im Feld Beschreibung.
Feld Host
In diesem Feld wird die Adresse zur SharePoint Seite hinterlegt. Diese hat folgendes Muster: <TENANT>.sharepoint.com/sites/<NAME>
.
Feld Tenant Id
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Die Tenant Id wird auf der Seite auch "Directory (tenant) ID".
Feld Client Id
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Hier wird sie auch unter dem Begriff "Application (client) ID" geführt.
Feld Client Secret
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Das Client Secret wird innerhalb der registrierten App hinterlegt. Das dafür nötige Menü finden Sie in, in der ausgewählten App, unter dem Menü "Certificates & secrets".
Für das Erstellen eines Secrets müssen sie lediglich eine aussagekräftige Beschreibung angeben, und den Zeitraum, in welchem das Secret valide ist.
Das Client Secret wird bei Microsoft unter "Secret Value" geführt. Diese Information wird nur einmalig angezeigt, aus diesem Grund sollte es in einer sicheren Umgebung gespeichert werden.
Verwechseln Sie das Client Secret nicht mit "Secret Value".
Feld Entity
Über die Entity wird der Service ausgewählt, welchen Sie verwenden möchten:
Feld Export Folder Structure
Dateien werden alle in das Home Verzeichnis des SharePoint Verzeichnisses hochgeladen.
Um zu spezifizieren, in welche Verzeichnis Struktur ein Dokument abgelegt werden soll, können in dieser Auswahlliste mehrere Felder ausgewählt werden.
Die Felder werden durch ihre in SQUEEZE erkannten Daten ersetzt. So könnte beispielsweise die Auswahl des Feldes "IBAN" dazu führen, dass ein Dokument in das Verzeichnis der erkannten IBAN abgelegt wird (nicht in einem Verzeichnis mit dem Namen "IBAN").
Feld Drive
Wenn der Host, die Tenant ID, die Client ID und das Client Secret angegeben sind, wird überprüft ob die Daten korrekt sind und eine Verbindung mit der Graph API erfolgreich zustande kommt.
In diesem Fall wird im Feld Drive eine Liste von möglichen Verzeichnissen aufgeführt, welches als Home Verzeichnis des SharePoints dienen soll, das Sie auswählen müssen.
Feld Create Folder Structure
Um die Funktion zu verwenden, dass ein Pfad Verzeichnis erstellt werden soll, auch wenn es nicht existiert, muss der Feldwert "Ja" sein. Sollte das Verzeichnis bereits existieren wird kein neues Verzeichnis erstellt.
Der Pfad für das Verzeichnis wird durch das Feld Export Folder Structure bestimmt.
Sollte der Feldwert "Nein" lauten, dann wird geprüft ob der Verzeichnis Pfad existiert. Wenn dies der Fall ist, dann werden die verarbeiteten Dokumente hochgeladen.
Existiert das Verzeichnis jedoch nicht, dann wird das Dokument nicht hochgeladen und ein Fehler wird ausgegeben, bei der Validierung.
Dadurch soll vermieden werden, das unerwartete Verzeichnisse erstellt und Dokumente ggf. verschwinden.
Beispiel
Abbildung - Beispiel ausgefülltes Formular für Export Interface (WIP)
Wenn wir eine neue Applikation in Microsoft Azure erstellt haben, rufen wir diese auf und erhalten folgende Ansicht.
Abbildung - Registrierte Microsoft Applikation "Neue SharePoint Applikation"
Auf dieser Abbildung ist zu sehen was die Client ID ist, sowie wo die Tenant ID zu finden ist.
Bei Auswahl des Menüs "Certificates & secrets" existiert ein kleiner Button mit dem Namen "New client secrets". Nachdem die nötigen Daten angegeben wurden erhalten wir einen neuen Eintrag:
Feldwerte / Metadaten exportieren
Um Feldwerte als Metadaten zu exportieren, beim Upload, müssen diese in der Dokumentenklasse angegeben werden.
Dafür muss das nötige Feld ausgewählt werden, und der entsprechende Wert muss im Feld "Name (Zielsystem)" eingetragen werden.
Abbildung - Kopfdaten-Felder der Dokumentenklasse