Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleImportant

This Flowtype is only intended for:

a. Non-DCM applications

This Flowtype is not intended for:

a. DCM case modelling architecture including DCM Dashboards

b. External flow applications

All other older structures (in page modelling) are not supported.

As we intend to make this feature FreeFlow a native component, also design time, at that moment in time it will become become impossible to model thisFreeFlow in combination with the non-intented components. Therefor we strongly advise to not model it in this way if you wish to remain using only out of the box features.


What is it?

FreeFlows are used when sequential flowing does not suffice to navigate through your application. Using the FreeFlows the user is able to navigate via a menu to any chosen page that is modelled in a sequential flow, when using this way of flowing the validations are executed on every page but they are not blocking when navigation between pages, and only become blocked when end of the FreeFlow is reached.

What is needed for a FreeFlow application

A FreeFlow consist of combining several elements to create a free navigable application.

Element typeType nameExplanation
FlowTypeFreeFlowThe main flow which to detect if an application should to be using the free navigable strategy
FlowType

SinglePageFlow

Sub flows of the FreeFlow to which the user can navigated between. Each SinglePageFlow will become a menu item.
ContainerType

AQ_NavigationMenu

The menu container which displays menu-items for with the name using the page display title of the first page of in the SinglePageFlow
ContentStyle

NavigationMenu

Default contentstyle of the AQ_NavigationMenu container 


How to use it

Flow Structure

A free navigable application always starts with an exposed flow of the type "FreeFlow", this is mandatory for the Runtime to detect whether the free navigation strategy or the default sequential strategy is used. Inside the FreeFlow you are free to model any nested flow structure, the exposed flow is not necessarily the free navigable application itself but enables to free navigation strategy. 

Inside the FreeFlow itself, or one of its sub flows, a connected group of SinglePageFlows can be modelled to create a free navigable flow. These SinglePageFlows act as the entry points of navigation actions. It is advised to not have any logic flow actions in between the SinglePageFlows other than condition nodes.

When navigating between SinglePageFlows by using the navigation actions, the flow a non-SinglePageFlow that connects the SinglePageFlows is used. If flow actions are necessary (not using pages), such a construct can be used. However when the user uses the menu to navigate, the Runtime jumps between the SinglePageFlows. If logic is required from SinglePageFlow to SinglePageflow and the intermediate flow(s) will not be executed. If certain flow actions are mandatory, make sure that it they either resides reside in the SinglePageFlow (as it they will be executed every time the flow is visited) or or before first SinglePageFlow and after the last SinglePageFlow. 

Navigation

The navigation menu of a free navigable flow is build built by using the name display title of the first page page in a SinglePageFlow. For the navigation menu to be displayed, the pages of a SinglePageFlow should contain a AQ_NavigationMenu container. Navigating in a free navigable flow can be achieved via two ways:

  1. Using the sequentially modelled next button to navigate to the next SinglePageFlow
  2. Using the menu items in navigation menu to switch to an other SinglePageFlow

The order of the SinglePageFlows determines the ordering of the navigation menu. In case that a branch of SinglePageFlows is behind a condition node and it evaluates to false the whole branch is still displayed but disabled in the navigation menu, once the condition becomes true the branch is navigable from the navigation menu. 

A free navigable flow still allows the user to navigate the flow sequentially from SinglePageFlow to SinglePageFlow. To achieve this each first page of the SinglePageFlow must contain a button with either no event attached to it, or and an event with the name "NextPage". This button event should connect to the EndNode of the SinglePageFlow or a non-interactive FlowNode which leads to the EndNode. In order to navigate to the previously visited page a button can be placed on the page with the event "PreviousPage", this button does not need to be connected.

Validations

Validations in a free navigable flow are non blocking when navigating between SinglePageFlows, even when a "Validate and continue" event type is present on the next button. The AQ_NavigationMenu container is able to set an Attribute which contains the validation status of all pages in a free navigable flow. This attribute can be used to check if the free navigable flow has been completed correctly without pending validation errors. 

Info
titleBlocking errors

Model breaking errors like invalid inputs e.q. filling a String value into a Number field are this still blocked. 

Read-only fields

In a free navigable flow, validations on read-only fields are also validated. This is different behavior towards a standard sequential flow. 


Constraints

The new navigation concept is introduced as Runtime concept, that is triggered by a specific model structure and naming convention.

  1. The exposed flow must be of type FreeFlow.
  2. The SinglePageFlows should be directly connected to each other inside a free navigable flow.
  3. The FreeFlow can contain other flow types before entering of the first SinglePageFlow, and after the last SinglePageFlow but not in between SinglePageFlows.
  4. All validations on pages modelled in SinglePageFlows become non-blocking validation errors.
  5. The name display title of the first page of a SinglePageFlow will be used to populate the AQ_NavigationMenu container.
  6. The AQ_NavigationMenu container should always be modelled in the first page of the SinglePageFlow, or it will not be displayed.
  7. Condition nodes modelled in between SinglePageFlows will acts act as preconditions for buttons that make up the AQ_NavigationMenu container.
  8. The SinglePageFlow's first page default (empty) or "NextPage" button event must be connected to an EndNode or an non interactive FlowNode that leads to an EndNode 

Accelerator

An example project for this feature can be cound in the Accelerator section.