# Flow development and distribution strategy

## Managing flow applications between different IFS instances

Generally customers IFS Cloud environments (at least when Cloud is IFS managed) may consist of up to four IFS named instances in addition to PROD environment.&#x20;

* **DEV** - core customization or custom projection development
* **CFG** - customer test/development environment
* **TEST** - for customer specific needs (optional)&#x20;
* **UAT** - environment for user acceptance testing

Other environments may also exists dependent on customer requirements.

{% hint style="info" %}
Compared to CFG, TEST and UAT environments, the DEV environment is refreshed frequently. Consequently test data has to be manually recreated after each refresh. Therefore Flow development should (?) be done against CFG environment.&#x20;
{% endhint %}

Each IFS instance requires its own individual OData configuration in the OData Connector Service and for each flow that specific configuration needs to be selected in the machine steps. Since each IFS cloud and Flow server instance needs it own configuration it's recommended to invest some extra time in the environments architecture planning. Below are a few questions that should be answered to give guidance on your architecture setup. &#x20;

{% hint style="info" %}
The way flows are managed in multi IFS Cloud environments will of change dramatically with Flow Connect.&#x20;
{% endhint %}

{% hint style="info" %}
**In the beginning of the project describe and define flow development architecture:**&#x20;

* **how many IFS instances will customer have?**
* **will there be any customizations (core, custom projections) done in the project?**
* **which IFS instances will used in customer testing (of flows)?**
* **how many OData Connector Service instances are needed?**
* **how many Flow servers are needed?**
* **flow distribution strategy between different environments (export/import, subscription)**
* **connector configuration naming from the beginning, changing them later causes unnecessary rework in flows**
  {% endhint %}

## Pre Flow Connect development / deployment example

Based on the answers to previously stated questions; plan and describe the flow development architecture! Below picture is **not** an recommendation but is one possible option.&#x20;

<figure><img src="/files/Js5PVvWMRwLqbXyGxycg" alt=""><figcaption></figcaption></figure>

## Flow import errors

This chapter lists some common errors occurring when importing flows.&#x20;

### Projection has not been registered

<figure><img src="/files/G3CsW4LVQGZTaoai0heX" alt=""><figcaption><p>Missing TimeRegistrationEmployeeHandling projection</p></figcaption></figure>

**Reason:** projection is missing from OData Connector Services

**Solution**: register projection in OData Connector Services.

{% content-ref url="/pages/yFMKK8cTg5vD26AIIgkJ" %}
[Broken mention](broken://pages/yFMKK8cTg5vD26AIIgkJ)
{% endcontent-ref %}

### Operation expected property

<figure><img src="/files/aKoob0j0z2Zc2x0F8l4A" alt=""><figcaption></figcaption></figure>

**Reason**: projection in IFS has been updated (with custom attributes like in example)

**Solution**: update projection in OData Connector Services.

{% content-ref url="/pages/5QVcNoJQSNMTHQk0vu0d" %}
[Projection administration](/flow-ifs-cloud-development-guidelines/flow-development-with-odata/configuration/projection-administration.md)
{% endcontent-ref %}

### Expand has new attributes

<figure><img src="/files/R6vxmDU0IrxjpQ1UHGXG" alt=""><figcaption></figcaption></figure>

**Reason**: reference entity with new attributes (bug?)

**Solution**: rebuild the step

### Object reference not set

<figure><img src="/files/fpqhQfkIX3LwffwQzM7U" alt=""><figcaption></figcaption></figure>

**Reason**: ?

**Solution**: Fix erronous step in flow.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.novacura.com/flow-ifs-cloud-development-guidelines/flow-development-with-odata/flow-development-and-distribution-strategy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
