VERSION 10 DOCUMENTATION IS IN PROGRESS. PLEASE VIEW V9 ARTICLES WHILE V10 ARTICLES ARE BEING PUBLISHED.

File Handling

Prev Next

File Handling

Decisions controls newly created files from the beginning of their lifecycle; a file is moved between directories as its state changes, rather than being duplicated in multiple locations. The json.info file will also be updated as the file state changes to reflect new entity associations. The entity associations will not be overwritten; they will be updated or added to.

Temp Files

There are several locations within Decisions where Temporary Files are created. Previously, these files were duplicated any time any of the following actions were executed. These files are reused or rewritten if they have been deleted.

  • Any time a File is added to a Form via a File Upload Control.
  • Any time a document is uploaded.
  • Any time a File is defined as a Constant in a Flow.
  • Whenever a Flow Step using a File Constant is clicked, the Step Properties are displayed.
  • Any time an Icon or Image is used in the Folder look and feel
  • Any time an Icon or Image is used on a Step
  • Any time an Icon or Image is used on any Image Form Control (Image Controls, Button Controls, etc.)

These files will be created with <CleanUpDate> in the json.info file for one day. If they are accessed within that window, the <CleanUpDate> will be updated.

The FileStorageCleanupJob will delete these files if it runs after the <CleanUpDate>. 

If the File is attempted to be accessed again after being deleted, it will be rewritten.

Files Associated with Flows

Any time a file becomes part of Flow State Data, it is considered to be associated with that Flow. This means the file in question must remain alongside the Flow for the duration of the Flow's lifecycle. There are several places in Decisions where a File will become associated with a Flow.

  • Any time a File is added to a Form via a File Upload Control and then subsequently used in the Flow.
  • Any time a Step with a File Constant is defined and used in a Flow.
  • Any time a File is used in a Flow in ANY way.

If these files were previously Temporary Files, the Temporary File will get moved into the appropriate directory under FlowData, its json.info file will have a new <EntityAssociation> added, and its <CleanUpDate> will be set to null.

The json.info file will also contain the date and time at which the file was associated with the entity in the <AssociatedDate> field.

As mentioned previously, the FileStorageCleanupJob will examine these json.info files to see if the Flow has been completed before acting on the file. If all Flows associated with this file have been completed, the file will be moved into the appropriate archive directory.

Files Associated with Assignments

Any time a file becomes part of a Form Assignment, it is considered to be associated with that Assignment in addition to the Flow it’s already been associated with. This means that the file in question must live alongside the Flow and Assignment for the duration of both the Flow's and Assignment's life cycles. There are several places in Decisions where a File will become associated with an Assignment.

  • Any time a File is added to an Assigned Form via a File Upload Control.
  • Any time a Step with a File Constant is defined and used on an Assigned Form in a Flow.
  • Any time a File is used in an Assigned Form in a Flow.

If these files were previously Temporary Files, the Temporary File will get moved into the appropriate directory under FlowData, its json.info file will have a new <EntityAssociation> added, and its <CleanUpDate> will be set to null.

Files Associated with Entities

Entities (such as Data Structures and Flow Execution Extensions) can include properties of type File Reference. When an Entity record is created or updated as part of a Flow, and a File Reference value is saved on that record, the referenced file becomes associated with the Entity.

Note: In this section, FlowData refers to the on-disk FileStorage directory (for example, <FileStorageLocation>\<InstanceName>\FlowData\?\?), not Flow input/output data in the Flow Designer.

For the FlowData directory layout and indexed path examples, refer to File Storage Structure.

If these files were previously Temporary Files, the Temporary File will get moved into the appropriate directory under FlowData, its json.info file will have a new <EntityAssociation> added, and its <CleanUpDate> will be set to null.

The json.info file will also contain the date and time at which the file was associated with the entity in the <AssociatedDate> field.

The FileStorageCleanupJob uses the json.info file to determine whether a file is eligible to be archived:

  • All Flows associated with the file must be completed.
  • All Entities associated with the file must be deleted.

If either condition is not met (for example, a Flow is completed but the related Entity still exists), the file remains in FlowData. When a file is archived, it is moved to the appropriate directory under \archive, and the <PathBeforeArchive> field is set in the json.info file.

Files in the Persistent Directory

All files under the persistent directory are treated as persistent and are not processed for cleanup or archiving. The File Storage Cleanup Job and Archive Entity Job ignore all files under the persistent directory.

As of 9.20, file metadata is stored in a JSON-based info file named <FileId>-json.info, and this format is expected for files stored under \persistent as well.


Feature Changes

DescriptionVersionRelease DateDeveloper Task
The format of info files has been changed to json.info to optimize File Storage processes.9.20February 2026[DT-045494]

For further information on Administration, visit the Decisions Forum.