Structure Projects

This is the fourth topic of the Use Projects guide.

A project in OL Connect Automate is essentially just a folder that contains your flow files and any supporting resources you want to keep under version control. Projects allow you to organize and manage not only flows, but also arbitrary files such as OL Connect templates, data mapping configurations, job presets, and sample data.

A well-structured project might look like this:

Copy
projects/
└── my-first-project/
    ├── .gitignore
    ├── flows.json
    ├── flows_cred.json
    ├── package.json
    ├── README.md
    └── resources/
        ├── Letter.OL-template
        ├── Letter-XML.OL-datamapper
        ├── GroupBy-CustomerID.OL-jobpreset
        ├── GenericPDF-Separations.OL-jobpreset
        └── sample data/
            ├── 3-records.xml
            ├── 10-records.xml
            ├── 10-records-errors.xml
            ├── 100-records.xml
            ├── 1k-records.xml
            └── ...

As projects grow or include multiple document types, it’s often helpful to group related resources into subfolders within the project’s resources directory.

This structure keeps templates, data mappings, and sample data organized by document type, making larger projects easier to navigate and maintain.

Copy
projects/
└── my-first-project/
    ├── .gitignore
    ├── flows.json
    ├── flows_cred.json
    ├── package.json
    ├── README.md
    └── resources/
        ├── letters/
        │   ├── Letter.OL-template
        │   ├── Letter-XML.OL-datamapper
        │   └── sample data/
        │       ├── 3-records.xml
        │       └── 10-records.xml
        ├── invoices/
        │   ├── Invoice.OL-template
        │   ├── Invoice-XML.OL-datamapper
        │   └── sample data/
        │       ├── 3-records.xml
        │       └── 10-records.xml
        └── presets/
            ├── GroupBy-CustomerID.OL-jobpreset
            └── GenericPDF-Separations.OL-jobpreset

Deploying OL Connect resources

When updating OL Connect resources, you need to make sure the latest version is uploaded to the OL Connect Server. This can be handled through a Startup flow as explained in the Deploying OL Connect resources section.

Workspace or Output locations

The project folder should primarily contain version-controlled resources, such as the flow files, OL Connect templates, and sample data.

For files that are generated or consumed at runtime, for example, hot folders, input data, or output documents, it’s best practice to store them outside the project folder.

Your project may resided in the following location:

C:\ProgramData\Objectif Lune\OL Connect Automate\projects\my-first-project

Where the workspace is located in:

C:\workspace\my-first-project

In this setup, the project folder (my-first-project) holds your versioned assets, while the workspace folder stores dynamic data such as incoming jobs, temporary files, or generated outputs.

To make your project portable across systems, define Environment Variables for both locations and reference those variables in your flows instead of using hard-coded file paths.

This approach allows you to relocate or share the project without needing to modify path settings in your flow for different environments.

For more information, see Use environment variables in flows.