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

OrganisationId

STRING

Yes

ID of the organization to export from

OrgDoExport

INT

Yes

Flag: indicates whether organization data should also be exported (1 = Yes, 0 = No)

WFProjectTree

BASE64

Yes

Structure indicates which projects and workflow models should be exported (XML format, see note)

ReportConfigDoExport

INT

Yes

Flag: indicates whether report configurations of the organization should be exported

ReportConfigIds

STRING

Yes

Comma-separated list of report configuration IDs to export. If ReportConfigDoExport = 1 and this list is empty, all configurations of the organization are exported.

AdhocRoutingListTemplateDoExport

INT

Yes

Flag: indicates whether routing list templates of the organization should be exported

AdhocRoutingListTemplateIds

STRING

Yes

Comma-separated ID list of routing list templates to export. If AdhocRoutingListTemplateDoExport = 1 and this list is empty, all routing list templates of the organization are exported.

2. Return Value

(INT): 0 = Job successful, otherwise error code.

3. Output Files

Name Description

Export file

Name and path of the export file. The job returns exactly one file with the extension .exp, named after the pattern <login>_<GUID>.exp. For its structure see the section "Structure of the Export File".

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 nested WorkflowProject and Workflow elements 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 below Type = 3 (workflow family). Families never have sub-projects. The tree is root project → projects → family → models.

  • A family can contain several models.

  • Priority, ProcCount and VersionCount appear only here; wfm.GetProjectList does not return them.

  • <OrgStructure> appears only with OrgDoExport = 1. <Eventtypes>, <ClientTypes> and <ResourceLanguages> are always included.