Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Command

Beschreibung

Client

Server

OpenFile

Öffnet Office-Dateien mit dem Standardprozess, der in Windows für den Dateityp registriert ist.

SaveFile

Speichert das Dokument am angegebenen Zielort im angegebenen Format.

InvokeProcess

Ruft eine externe Anwendung auf. Aus Sicherheitsgründen muss der Prozess vorher konfiguriert werden.

InvokeUrl

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.

...

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.

...

Der Aufruf in der Connect-Datei muss mit dem Namen einer zuvor im Dashboard freigegebenen Applikation übereinstimmen.

ParameterAttribute:

  • Name: Konfigurierter Prozessname

...

  • Arguments: Argumente für den Prozessaufruf

  • Arguments mit field-Content: Alternative zu Arguments mit statischem Wert. Erlaubt es auf Feldwerte zuzugreifen.

...

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 zu Url. Erlaubt es auf Feldwerte zuzugreifen.

    • Body: Angabe des HTTP Bodies.

    • Body mit field-Content: Alternative zu Body. Erlaubt es auf Feldwerte zuzugreifen.

    • Header: Liste von HTTP Headern aus Key und Value 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 zu Url. Erlaubt es auf Feldwerte zuzugreifen.

    • Header: Liste von HTTP Headern aus Key und Value bzw. field-Value

    • FormData: Liste von FormData Elementen aus Key und Value 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>