wfm.Export
This job exports organization structure, workflow projects and/or workflows.
The file produced is the input file of wfm.Import — together the two jobs transport an organization from one system to another.
1. Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
|
STRING |
Yes |
ID of the organization to export from |
|
INT |
Yes |
Flag: indicates whether organization data should also be exported (1 = Yes, 0 = No) |
|
BASE64 |
Yes |
Structure indicates which projects and workflow models should be exported (XML format, see note) |
|
INT |
Yes |
Flag: indicates whether report configurations of the organization should be exported |
|
STRING |
Yes |
Comma-separated list of report configuration IDs to export. If |
|
INT |
Yes |
Flag: indicates whether routing list templates of the organization should be exported |
|
STRING |
Yes |
Comma-separated ID list of routing list templates to export. If |
3. Output Files
| Name | Description |
|---|---|
Export file |
Name and path of the export file. The job returns exactly one file with the extension |
4. Note
Structure of 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>
Detailed description of WFProjectTree:
-
WorkflowProject: Structure (possibly nested) indicating which workflow project (which may also be a workflow family) should be exported-
Id(STRING): ID of the workflow project -
CompleteExport(INT): Whether all projects and workflows below the project are exported.1= complete, the sub-structure then need not be specified.0= only what the nestedWorkflowProjectandWorkflowelements name.The attribute must be present on every <WorkflowProject>. Without it, nothing below that node is exported — the job still reports success (0) and returns a file that is simply missing the content. Measured against enaio® server 12.0 (EngineVersion 1200).
-
-
Workflow: Structure indicating which workflow should be exported-
Id(STRING): ID of the workflow
-
5. Examples
5.1. Entire organization in a single call
The root project ID comes from wfm.GetProjectList (the project
with Type = 1), together with OrgDoExport = 1.
<WFProjectTree>
<WorkflowProject Id="6F814430EE6840FE8B06D3A0387AD0FD" CompleteExport="1"/>
</WFProjectTree>
5.2. Organization structure only
OrgDoExport = 1 with an empty tree. The result is a file without any <WorkflowProject>.
<WFProjectTree/>
5.3. A single branch
Ancestors with CompleteExport = 0, the desired leaf with 1, together with OrgDoExport = 0
so that the organization structure is not copied into every partial file.
<WFProjectTree>
<WorkflowProject Id="9F04356F60E6407C9B554AB9F85FDC50" CompleteExport="0">
<WorkflowProject Id="567B05DA2A1E4DEB9FEA6E21AA1310A3" CompleteExport="1"/>
</WorkflowProject>
</WFProjectTree>
| The ancestor chain need not start at the root project — the server resolves the projects by their IDs. The example omits the root project and the export still succeeds. |
5.4. Individual workflow models
The leaf with CompleteExport = 0 and the desired models. The model IDs come from
wfm.GetWorkflowListByFamily or from a previous export
file.
<WFProjectTree>
<WorkflowProject Id="9F04356F60E6407C9B554AB9F85FDC50" CompleteExport="0">
<WorkflowProject Id="567B05DA2A1E4DEB9FEA6E21AA1310A3" CompleteExport="0">
<Workflow Id="319AAE7820804565B6E3E2588B066309"/>
</WorkflowProject>
</WorkflowProject>
</WFProjectTree>
6. Structure of the Export File
The job returns exactly one file. It is encoded as UTF-16 LE with BOM (FF FE) and carries the XML
declaration encoding="UTF-16". There is no XSD for it. The file matches the format that
wfm.Import accepts back; older versions are lifted to the current format
by wfm.ConvertExportFile.
<WorkflowImport EngineVersion="1200" ExportSubVersion="0" ExportEncoding="1">
<Organisation Id="…" Name="Organisation">
<OrgStructure/> <!-- only with OrgDoExport=1 -->
<Eventtypes/>
<WorkflowProject Id="…" Name="…" Type="1" Description="…" CreatorId="…"
CreationTime="…" Priority="" ProcCount="0" VersionCount="0">
<WorkflowProject Id="…" Name="…" Type="2" …> <!-- nested to any depth -->
<WorkflowProject Id="…" Name="…" Type="3" …>
<Workflow Id="…" Name="…" Description="…" State="3" Version="19"
PackageId="…" IconId="…" CreatorId="…" CreationTime="…"/>
</WorkflowProject>
</WorkflowProject>
</WorkflowProject>
</Organisation>
<ClientTypes/>
<ResourceLanguages/>
</WorkflowImport>
Structure rules, measured against enaio® server 12.0 (EngineVersion 1200):
-
<WorkflowProject>is nested recursively and therefore reproduces the project hierarchy that wfm.GetProjectList does not return. -
<Workflow>occurs exclusively belowType=3(workflow family). Families never have sub-projects. The tree is root project → projects → family → models. -
A family can contain several models.
-
Priority,ProcCountandVersionCountappear only here;wfm.GetProjectListdoes not return them. -
<OrgStructure>appears only withOrgDoExport=1.<Eventtypes>,<ClientTypes>and<ResourceLanguages>are always included.