Consideration
When running a workspace through FME Flow using the Data Download service, some output files may be missing from the resulting .zip file. However, running the same workspace through the Job Submitter service produces all expected outputs.
This behavior is commonly seen when dataset paths use a combination of the FME_SHAREDRESOURCE_DATA parameter and attribute values.
Why This Happens
This behavior is related to how FME Flow resolves dataset paths differently between services and how FME Form handles published parameters. The Data Download service validates and stages output files differently from Job Submitter, which can result in files being excluded if paths are not resolved correctly.
When FME_SHAREDRESOURCE_DATA is set in FME Form, and the workspace is published, it can override or alter how paths are interpreted in FME Flow. Dataset paths that combine FME_SHAREDRESOURCE_DATA with attribute values (e.g., @Value attributes) can result in inconsistent or invalid output paths during Data Download packaging.
In some cases, this results in:
- Files not being included in the .zip output
- Unexpected folder structures (such as an extra FME_SHAREDRESOURCE_DATA directory)
- The issue is particularly noticeable with writers that include attribute-based naming, such as:
$(FME_SHAREDRESOURCE_DATA)\Matt$(UserTitle) (@Value(Paper Format)).pdf
Additionally, when FME_SHAREDRESOURCE_DATA is not set in FME Form, outputs are written more consistently, though folder naming may still not match expectations. Path formatting issues (for example, including or excluding a colon in Windows paths) do not affect this behavior.
How to Resolve It
To ensure all files are correctly written and included in the Data Download .zip output:
Option 1: Avoid Mixing Parameters and Attributes in Paths (Recommended)
Do not combine FME_SHAREDRESOURCE_DATA with attribute values in dataset paths.
Avoid paths like: $(FME_SHAREDRESOURCE_DATA)\filename (@Value(attribute)).txt
Instead, use one of the following approaches:
1. Use only FME_SHAREDRESOURCE_DATA without attribute-based naming
2. Use attribute-based naming without FME_SHAREDRESOURCE_DATA
3. Construct output paths using published parameters or workspace logic that resolves cleanly at runtime
Option 2: Do Not Set FME_SHAREDRESOURCE_DATA in FME Form
When publishing the workspace, leave the FME_SHAREDRESOURCE_DATA parameter unset in FME Form. This allows FME Flow to resolve the path at runtime, avoiding conflicts introduced during publishing.
Option 3: Simplify Writer Dataset Paths
When configuring the writer, ensure all dataset paths conform to the following:
- Resolve to a valid, fully qualified location at runtime (i.e., not a UNC path)
- Do not rely on mixed evaluation (parameter + attribute) within the same string
- Produce consistent folder structures across services
Additional Notes
- The Job Submitter service may still produce correct outputs even when paths are not fully valid, which can make this issue harder to detect.
- The Data Download service is stricter because it requires outputs to be packaged into a .zip file, which exposes path-resolution issues.
- Even when files are written successfully, incorrect path handling may result in missing outputs in the .zip or unexpected directory structures