Nach der eigentlichen Dokumentgenerierung können Commands
(Befehle) aufgerufen werden. Gewisse Commands
können nur im Erfolgsfall (OnSuccess) verwendet werden.
“Breaking Change”
In der Version 4.0.30043.0
wurden diverse Änderungen vorgenommen, u.A. wurden Attributnamen geändert oder Konfigurationen erweitert/abgewandelt. Prüfen Sie im Fehlerfall, ob die Konfiguration mit der aktuellen Version übereinstimmt.
Zugriff auf das Ergebnis
Es gibt zwei Arten von Ergebnissen einer Dokumentgenerierung:
<Document />
: DiesesDocument
-Element ist das eigentliche Ergebnis nach der Dokumentgenerierung, welches das Word, PowerPoint, Excel oder auch die externe Datei beinhaltet.
Dieses Element ist nur im Erfolgsfall, d.h. imOnSuccess
verfügbar!<Report />
: DerReport
ist eine Abbild des Zustands der Dokumentgenerierung bzw. der Zustand der Abarbeitung derCommands
.
Bei einem Abbruch der Generierung oder in einem Fehlerfall, kann derReport
genutzt werden um die Fehlerinformation an das aufrufende System weiterzugeben.
Commands
müssen das Ergebnis explizit angeben, d.h. entweder muss Document
oder Report
konfiguriert sein.
Dokument
Das Document
enthält das eigentliche Resultat der Dokumentgenerierung und kann nur im OnSuccess
-Fall genutzt werden.
Konvertierung zu PDF
Um das Dokument in ein PDF umzuwandeln, gibt es ein extra Attribut:
<Document Conversion="..." />
Aktuell wird die Conversion
nur für Word-Vorlagen unterstützt!
Ein Dokument kann entweder Microsoft Office konvertiert werden:
<Document Conversion="PdfViaOffice" />
… oder über den in primedocs integrierten PDF Konverter:
<Document Conversion="Pdf" />
Report
Der Report
ist insbesondere für Fehler oder manuelle Abbrüche der Generierung geeignet.
Allerdings steht der Report
in allen Fällen (OnSuccess
, OnError
, OnCancel
, OnExit
) zur Verfügung.
Wichtig: Initial erhält der Report den Status der Dokumentgenerierung. Danach wird jeder definierte Command
nach der Reihe abgearbeitet und jeder Command
beeinflusst daraufhin den Report.
Der Report
selbst ist eine XML-Datei, welche folgende Struktur aufweisst:
<primedocsConnectReport> <Status>Error</Status> <Input> <File>C:\Temp\ConnectFile.pdck</File> </Input> <CreatedOnUtc>...</CreatedOnUtc> <Message><![CDATA[Something failed due to .... Overview ======== --> [exception #1] System.ExampleException1: An error occurred while ... --> [exception #2] System.ExampleException2: Unable to ...]]> </Message> </primedocsConnectReport>
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.
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.
Übersicht
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. | ✓ |
Beschreibungen
SaveFile (client-only)
Der SaveFile
-Command
speichert das Dokument am angegebenen Zielort.
Parameter:
FileName: Absoluter Pfad mit Dateiendung
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.
<primedocsConnect> ... <Commands> <OnSuccess> <SaveFile FileName="\\MyServer\share\organisation\...\Letter.docx" Overwrite="true" CreateFolder="true"> <Document /> </SaveFile> </OnSuccess> </Commands> </primedocsConnect>
OpenFile (client-only)
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.
Parameter:
FileName: Absoluter Pfad mit Ziel-Dateiendung
<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>
InvokeProcess (client-only)
Der InvokeProcess
-Command
ruft eine externe Anwendung auf. Aus Sicherheitsgründen müssen im Dashboard die zulässigen Applikationen zuerst whitelisted werden. Die Konfiguration dafür kann unter Settings → Connect Settings → InvokeProcess - Configuration gefunden werden und sieht ansatzweise wie folgt aus:
<CommandConfig> <Process name="OurSystemNotepad" executablePath="%systemroot%/notepad.exe" /> <Process name="..." executablePath="..." /> </CommandConfig>
Der Aufruf in der Connect-Datei muss mit dem Namen einer zuvor im Dashboard freigegebenen Applikation übereinstimmen.
Parameter:
Name: Konfigurierter Prozessname
Arguments: Argumente für den Prozessaufruf
Der Aufruf kann optional Argumente enthalten und sieht folgendermassen aus:
<primedocsConnect> ... <Commands> <OnSuccess> <InvokeProcess Name="OurSystemNotepad" /> </OnSuccess> </Commands> </primedocsConnect>