Skip to content
flowon.com

Deploy & ALM

Export a project

Export a Logic Fabric project as a package, optionally with its Dataverse solution and reference data, ready for source control and deployment.

export takes a Logic Fabric project out of an environment (usually development) as files you can commit and deploy. It always writes the project’s package (.flop). On request it also writes the project’s Dataverse solution (managed, unmanaged or both) and a data file with reference records.

  1. Find the exact project name:

    Terminal window
    flowon-dynamics projects -c "$DEV_CONNECTION"
  2. Export the package and the managed solution:

    Terminal window
    flowon-dynamics export \
    -c "$DEV_CONNECTION" \
    --project-name "Contoso Service" \
    --solution-managed \
    --output-directory ./artifacts
  3. Commit the files in ./artifacts (or publish them as a build artifact).

Option Alias Required What it does
--connectionstring -c Yes The environment to export from.
--project-name -p Yes The project to export.
--output-directory -o Yes Where the files are written. Created if it doesn’t exist; files with the same names are replaced.
--solution-managed -sm No Also export the project’s solution as managed.
--solution-unmanaged -su No Also export the project’s solution as unmanaged. Not possible when the solution is managed in this environment.
--data-spec-file-path -ds No A data specification listing reference records to export with the project.
--log-level -l No none (default), info or verbose.
File When Notes
<project name>.flop Always Spaces in the project name become underscores: Contoso Service → Contoso_Service.flop.
<solution>_managed.zip With --solution-managed Named after the solution’s unique name.
<solution>_unmanaged.zip With --solution-unmanaged
data.xml With --data-spec-file-path The exported records. See Business data.

The package contains the project’s logic blocks, logic flows, recipes, events and event handlers, schedules, business processes, APIs and their versions, configuration values, service connections and localized resources, together with the data map files for its environment-specific values. Extract those with generate-mappings.

  • The CLI checks first that the environment is reachable, the project exists, the data specification file exists and, for --solution-unmanaged, that the solution isn’t managed in this environment. If any check fails, nothing is exported.
  • The solutions are exported before the package. If a solution can’t be exported, the command stops: “Could not export project ‘…’ because its managed solution ‘…’ could not be exported.”
  • On success it prints, for example: Exported project 'Contoso Service' to './artifacts/Contoso_Service.flop' in 38.4 seconds.

Example: nightly export for source control

Section titled “Example: nightly export for source control”

Export everything a release needs, including reference data:

Terminal window
flowon-dynamics export \
-c "$DEV_CONNECTION" \
-p "Contoso Service" \
-sm -su \
-ds ./specs/reference-data.xml \
-o ./artifacts

Result:

artifacts/
├── Contoso_Service.flop
├── contososervice_managed.zip
├── contososervice_unmanaged.zip
└── data.xml

Commit the unmanaged solution to track customization changes, and deploy the managed one.