wfm.Export
Dieser Job exportiert Organisationsstruktur, Workflow-Projekte und/oder Workflows.
Die erzeugte Datei ist die Eingabedatei von wfm.Import — beide Jobs bilden zusammen den Transport einer Organisation von einem System auf ein anderes.
1. Eingabeparameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
STRING |
Ja |
ID der Organisation, aus der exportiert werden soll |
|
INT |
Ja |
Flag: gibt an, ob auch Organisationsdaten exportiert werden sollen (1 = Ja, 0 = Nein) |
|
BASE64 |
Ja |
Struktur gibt an, welche Projekte und Workflowmodelle exportiert werden sollen (XML-Format, siehe Hinweis) |
|
INT |
Ja |
Flag: gibt an, ob Reportkonfigurationen der Organisation exportiert werden sollen |
|
STRING |
Ja |
Kommaseparierte Liste der zu exportierenden Reportkonfigurations-IDs. Ist |
|
INT |
Ja |
Flag: gibt an, ob Lauflistenvorlagen der Organisation exportiert werden sollen |
|
STRING |
Ja |
Kommaseparierte ID-Liste der zu exportierenden Lauflistenvorlagen. Ist |
3. Ausgabedateien
| Name | Beschreibung |
|---|---|
Exportdatei |
Name und Pfad der Exportdatei. Der Job liefert genau eine Datei mit der Endung |
4. Hinweis
Aufbau von WFProjectTree:
<WFProjectTree>
<WorkflowProject Id="" CompleteExport="0">
<WorkflowProject Id="" CompleteExport="0">
<WorkflowProject Id="" CompleteExport="0">
<Workflow Id=""/>
<Workflow Id=""/>
</WorkflowProject>
</WorkflowProject>
<WorkflowProject Id="" CompleteExport="1"/>
<WorkflowProject Id="" CompleteExport="1">
<Workflow Id=""/>
<Workflow Id=""/>
</WorkflowProject>
</WorkflowProject>
</WFProjectTree>
Genauere Beschreibung von WFProjectTree:
-
WorkflowProject: Struktur (ggf. geschachtelt), die angibt, welches Workflowprojekt (wobei dieses auch eine Workflowfamilie sein darf) exportiert werden soll-
Id(STRING): ID des Workflowprojekts -
CompleteExport(INT): Gibt an, ob alle Projekte und Workflows unterhalb des Projekts exportiert werden.1= vollständig, die Unterstruktur muss dann nicht angegeben werden.0= nur das, was durch verschachtelteWorkflowProject- undWorkflow-Elemente benannt ist.Das Attribut ist auf jedem <WorkflowProject>anzugeben. Fehlt es, wird unterhalb dieses Knotens nichts exportiert — der Job meldet dennoch Erfolg (0) und liefert eine Datei, in der die Inhalte schlicht fehlen. Gemessen an enaio®-Server 12.0 (EngineVersion 1200).
-
-
Workflow: Struktur, die angibt, welcher Workflow exportiert werden soll-
Id(STRING): ID des Workflows
-
5. Beispiele
5.1. Ganze Organisation in einem Aufruf
Die Wurzelprojekt-ID stammt aus wfm.GetProjectList (das Projekt
mit Type = 1). Dazu OrgDoExport = 1.
<WFProjectTree>
<WorkflowProject Id="6F814430EE6840FE8B06D3A0387AD0FD" CompleteExport="1"/>
</WFProjectTree>
5.2. Nur die Organisationsstruktur
OrgDoExport = 1 mit leerem Baum. Ergebnis ist eine Datei ohne <WorkflowProject>.
<WFProjectTree/>
5.3. Ein einzelner Zweig
Vorfahren mit CompleteExport = 0, das gewünschte Blatt mit 1, dazu OrgDoExport = 0, damit
die Organisationsstruktur nicht in jede Teildatei kopiert wird.
<WFProjectTree>
<WorkflowProject Id="9F04356F60E6407C9B554AB9F85FDC50" CompleteExport="0">
<WorkflowProject Id="567B05DA2A1E4DEB9FEA6E21AA1310A3" CompleteExport="1"/>
</WorkflowProject>
</WFProjectTree>
| Die Vorfahrenkette muss nicht beim Wurzelprojekt beginnen — der Server löst die Projekte über ihre IDs auf. Im Beispiel fehlt das Wurzelprojekt, der Export gelingt dennoch. |
5.4. Einzelne Workflowmodelle
Das Blatt mit CompleteExport = 0 und den gewünschten Modellen. Die Modell-IDs stammen aus
wfm.GetWorkflowListByFamily oder aus einer vorherigen
Exportdatei.
<WFProjectTree>
<WorkflowProject Id="9F04356F60E6407C9B554AB9F85FDC50" CompleteExport="0">
<WorkflowProject Id="567B05DA2A1E4DEB9FEA6E21AA1310A3" CompleteExport="0">
<Workflow Id="319AAE7820804565B6E3E2588B066309"/>
</WorkflowProject>
</WorkflowProject>
</WFProjectTree>
6. Aufbau der Exportdatei
Der Job liefert genau eine Datei. Sie ist UTF-16 LE mit BOM (FF FE) kodiert und trägt die
XML-Deklaration encoding="UTF-16". Ein XSD dafür gibt es nicht. Die Datei entspricht dem Format,
das wfm.Import wieder entgegennimmt; ältere Fassungen hebt
wfm.ConvertExportFile auf das aktuelle Format.
<WorkflowImport EngineVersion="1200" ExportSubVersion="0" ExportEncoding="1">
<Organisation Id="…" Name="Organisation">
<OrgStructure/> <!-- nur bei OrgDoExport=1 -->
<Eventtypes/>
<WorkflowProject Id="…" Name="…" Type="1" Description="…" CreatorId="…"
CreationTime="…" Priority="" ProcCount="0" VersionCount="0">
<WorkflowProject Id="…" Name="…" Type="2" …> <!-- beliebig tief geschachtelt -->
<WorkflowProject Id="…" Name="…" Type="3" …>
<Workflow Id="…" Name="…" Description="…" State="3" Version="19"
PackageId="…" IconId="…" CreatorId="…" CreationTime="…"/>
</WorkflowProject>
</WorkflowProject>
</WorkflowProject>
</Organisation>
<ClientTypes/>
<ResourceLanguages/>
</WorkflowImport>
Strukturregeln, gemessen an enaio®-Server 12.0 (EngineVersion 1200):
-
<WorkflowProject>ist rekursiv geschachtelt und gibt damit die Projekthierarchie wieder, die wfm.GetProjectList nicht liefert. -
<Workflow>tritt ausschließlich unterhalb vonType=3(Workflowfamilie) auf. Familien haben nie Unterprojekte. Der Baum ist Wurzelprojekt → Projekte → Familie → Modelle. -
Eine Familie kann mehrere Modelle enthalten.
-
Priority,ProcCountundVersionCountstehen nur hier;wfm.GetProjectListliefert sie nicht. -
<OrgStructure>erscheint nur beiOrgDoExport=1.<Eventtypes>,<ClientTypes>und<ResourceLanguages>sind immer enthalten.