...
Note |
---|
Aktuell wird die |
...
Status
: Der Status kann folgende Werte beinhalten:OK
: Keine Fehler, die Dokumentgenerierung oder alleCommands
bis zu diesem Punkt liefen erfolgreich durch.Cancelled
: Dieser Status tritt auf, wenn der Benutzer die Dokumentgenerierung abbricht.Error
: Fehler bei der Dokumentgenerierung oder falls ein vorangegangenerCommand
fehlt schlug.
Input
&File
: Wenn primedocs über eine primedocs Connect Datei aufgerufen wird, dann enthält dieses Element den Dateipfad dieser Datei.CreatedOnUtc
: Zeitangabe, wann der Report erstellt wurde.Message
: Beinhaltet Meldungen des Reports.
Dynamische Parameter
Connect Commands können über ihre jeweiligen Attribute bzw. Elementen mit Werten ausgestattet werden, so z.B. kann man den Speicherpfad bei SaveFile
angeben:
Code Block | ||
---|---|---|
| ||
<SaveFile FileName="\\MyServer\share\organisation\...\Letter.docx" ... |
Möchte man allerdings den Pfad oder Dateinamen dynamisch zusammenbauen, kann man über das field-
Attribut auf die Felder der Dokumentgenerierung (“User”, “Forms”, “Field”, “Data” etc.) zugreifen.
Code Block | ||
---|---|---|
| ||
<SaveFile field-FileName="SavePath" ... |
Der Einsatz hier ist nur exemplarisch. Nicht jedes Attribut oder Element unterstützt den Zugriff auf Felder.
Grundsätzlich:
Attribute, welche den Zugriff auf Felder unterstützen sind in dem Stil benannt:
Attribut="statischer Wert"
bzw.field-Attribut="FeldName"
Elemente, welche den Zugriff auf Felder unterstützen sind in diesem Stil benannt:
<Element>statischer Wert</Element>
bzw.<Element field-Content="FeldName" />
Note |
---|
Der Zugriff auf die Felder funktioniert nur im |
Commands
Die folgende Tabelle führt alle verfügbaren Commands auf und gibt an, ob sie nur client-seitig oder server-seitig verfügbar sind sowie, ob sie nur im Erfolgsfall verwendet werden können.
...
Command | Beschreibung | Client | Server | Nur im Erfolgsfall |
---|---|---|---|---|
| Öffnet Office-Dateien mit dem Standardprozess, der in Windows für den Dateityp registriert ist.✓ | ✓ | ||
| Speichert das Dokument am angegebenen Zielort im angegebenen Format.✓ | ✓ | ||
| Ruft eine externe Anwendung auf. Aus Sicherheitsgründen muss der Prozess vorher konfiguriert werden. | ✓ | ||
| Sendet die Datei bzw. den Report an einen HTTP/HTTPS Endpunkt. Aus Sicherheitsgründen muss die Ziel-URL vorher konfiguriert werden. | ✓ |
...
Der SaveFile
-Command
speichert das Dokument am angegebenen Zielort.
ParameterAttribute:
FileName: Absoluter Pfad mit Dateiendung
field-FileName: Alternative zu
FileName
um dynamische Pfade über die Felder zu ermöglichen.Overwrite: True/False; gibt an, ob eine bestehende Datei überschrieben werden soll.
CreateFolder: True/False; gibt an, ob Ordner, die im Filename angegeben sind, erstellt werden sollen.
Elemente:
Document oder Report: Siehe Abschnitt “Zugriff auf das Ergebnis”
Code Block | ||
---|---|---|
| ||
<primedocsConnect> ... <Commands> <OnSuccess> <SaveFile FileName="\\MyServer\share\organisation\...\Letter.docx" Overwrite="true" CreateFolder="true"> <Document /> </SaveFile> </OnSuccess> </Commands> </primedocsConnect> |
...
Der OpenFile
-Command
öffnet Office-Dateien mit dem Standardprozess, der in Windows für den Dateityp registriert ist. Beispielsweise wird die generierte Datei an einem bestimmten Dateiort gespeichert und soll hinterher im Word weiterbearbeitet werden.
ParameterAttribute:
FileName: Absoluter Pfad mit Ziel-Dateiendung
field-FileName: Alternative zu
FileName
um dynamische Pfade über die Felder zu ermöglichen.
Code Block | ||
---|---|---|
| ||
<primedocsConnect> ... <Commands> <OnSuccess> <SaveFile FileName="\\MyServer\share\organization\...\Letter.docx" Overwrite="true" CreateFolder="true"> <Document /> </SaveFile> <OpenFile FileName="\\MyServer\share\organization\...\ShortLetter.docx"/> </OnSuccess> </Commands> </primedocsConnect> |
...
Der Aufruf in der Connect-Datei muss mit dem Namen einer zuvor im Dashboard freigegebenen Applikation übereinstimmen.
ParameterAttribute:
Name: Konfigurierter Prozessname
Elemente:
Arguments: Argumente für den Prozessaufruf
Arguments mit
field-Content
: Alternative zuArguments
. Erlaubt es auf Feldwerte zuzugreifen.
Der Aufruf kann optional Argumente enthalten und sieht folgendermassen aus:
Code Block |
---|
<primedocsConnect>
...
<Commands>
<OnSuccess>
<InvokeProcess Name="OurSystemNotepad">
<Arguments>...</Arguments>
<!-- or -->
<Arguments field-Content="FieldName" />
</InvokeProcess>
</OnSuccess>
</Commands>
</primedocsConnect> |
InvokeUrl (client-only)
Der InvokeUrl
-Command
sendet die Datei bzw. den Report an einen HTTP/HTTPS Endpunkt. Aus Sicherheitsgründen müssen im Dashboard die zulässigen Applikationen zuerst whitelisted werden. Die Konfiguration dafür kann unter Settings → Connect Settings → InvokeUrl - Configuration gefunden werden und sieht ansatzweise wie folgt aus:
Code Block |
---|
<CommandConfig>
<Url startsWith="https://example1.com" />
<Url startsWith="https://example2.com/subfolder" />
</CommandConfig> |
Grundsätzlicher Aufbau:
Im InvokeUrl
können HTTP-Requests als Schritte (Step
) definiert werden.
Ein Step
besteht aus einem Request
bzw. MultipartFormDataRequest
und optional einer Response
.
Der Aufbau ist ähnlich dem HttpDataProvider, allerdings kann über den MultipartFormDataRequest
das Document
bzw. der Report
an einen Endpunkt gesendet werden.
Der Command
arbeitet alle Step
-Elemente in der definierten Reihenfolge ab. Ein Step
hat keine weiteren Attribute.
Request-Element:
Attribute:
Method: Angabe der HTTP Methode (
POST
,GET
, etc.)
Elemente:
Url: Angabe der Ziel URL, welche aus Sicherheitsgründen im Dashboard konfiguriert werden muss.
Url mit
field-Content
: Alternative zuUrl
. Erlaubt es auf Feldwerte zuzugreifen.Body: Angabe des HTTP Bodies.
Body mit
field-Content
: Alternative zuBody
. Erlaubt es auf Feldwerte zuzugreifen.Header: Liste von HTTP Headern aus
Key
undValue
bzw.field-Value
MultipartFormDataRequest-Element:
Elemente:
Url: Angabe der Ziel URL, welche aus Sicherheitsgründen im Dashboard konfiguriert werden muss.
Url mit
field-Content
: Alternative zuUrl
. Erlaubt es auf Feldwerte zuzugreifen.Header: Liste von HTTP Headern aus
Key
undValue
bzw.field-Value
FormData: Liste von FormData Elementen aus
Key
undValue
bzw.field-Value
File: Übergabe der eigentlichen Datei als
multipart/form-data
Request.Attribute:
Name: Optionaler Name - abhängig vom Serverendpunkt. Die binären Daten werden als
multipart/form-data
unter diesem Namen in den Request serialisiert.FileName: Optionaler Dateiname.
field-FileName: Alternative zu
FileName
um dynamische Namen über die Felder zu ermöglichen.
Elemente:
Document oder Report: Siehe Abschnitt “Zugriff auf das Ergebnis”
Response-Element:
Elemente:
Property: Abrufen bestimmter Daten aus dem Ergebnis des HTTP Requests.
Attribute:
Name: Name der Eigenschaft. Über den
{PropertyName}
Syntax kann man in einem darauffolgenden Request auf diesen Wert zugreifen.JsonPath: Über den JsonPath wird der Wert der Eigenschaft ermittelt. Hierbei muss die HTTP Antwort ein valides JSON sein.
XPath: Über den XPath wird der Wert der Eigenschaft ermittelt. Hierbei muss die HTTP Antwort ein valides XML sein.
Beispiel:
Code Block |
---|
<primedocsConnect> ... <Commands> <OnSuccess> <InvokeUrl> <Step> <Request Method="Post"> <Header Name="FieldHeader" field-Value="Forms.TestFoobar" /> <Url field-Content="Forms.Url" /> <Body field-Content="Forms.Body" /> </Request> <Response> <Property Name="AccessToken" JsonPath="$.AccessToken" /> </Response> </Step> <Step> <MultipartFormDataRequest> <File Name="Foobar" field-FileName="Forms.FileName"> <Document Conversion="PDF" /> </File> <Url field-Content="Forms.DataUrl" /> <Header Name="AccessToken" Value="{AccessToken}" /> <Header Name="AnotherHeader" field-Value="Forms.Header" /> <FormData Name="SomethingOne" field-Value="Forms.FormData" /> <FormData Name="SomethingTwo" Value="SomeValue2" /> </MultipartFormDataRequest> </Step> </InvokeUrl> </OnSuccess> </Commands> </primedocsConnect> |