Versions Compared

Key

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

...

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

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

SinglePageFlow

Sub flows of the FreeFlow to which the user can navigated between
ContainerType

AQ_NavigationMenu

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

NavigationMenu

Default contentstyle of the AQ_NavigationMenu container 


How to use a FreeFlow

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 should be used or the default sequential strategy is used. Inside the FreeFlow one or multiple SinglePageFlows should be modelled, these flows will acts as the entry point of the navigation actions. It is advised to not have any logic in between the SinglePageFlows other than condition nodes, when navigating when between SinglePageFlows using the navigation actions of the navigation menu the outer flow of the FreeFlow is not used as the Runtime jumps between the SinglePageFlows. If logic is required make sure that is either resides in the SinglePageFlow (as it will be executed every time the flow is visited) or before first SinglePageFlow and after the last SinglePageFlow.

Navigation

The navigation menu of a free navigation navigable application is build by using first name of the 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 can achieved via two ways:

...

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

(NextPage PreviousPage) button still required?

A free navigable application still allows the user to navigate the application 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 event with the name "NextPage". This button event should connect the to EndNode of the SinglePageFlow. In order to navigate to the previously visited page a button can be placed on the page with event "PreviousPage", this button does not need to be connected.

Validations

Validations in a free navigable application 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 application. This attribute can be used to check if the FreeFlow has been completed correctly without pending validation errors. FreeFlows are used when the sequential flow does not fit the means to navigate through your application. Using the FreeFlows you are able to create a flow for your application where the user can freely navigate between pages without triggering the any blocking validation warnings.  This can be achieved by modelling a FreeFlow as an entry point of your application where you desire free navigation, it works in conjunction with the flow type SinglePageFlow, which is always a subflow of the FreeFlow. By modelling SinglePageFlows after each other and configuring a AQ_NavigationMenu container on the first page of each SinglePageFlow the FreeFlow is able to populate the AQ_NavigationMenu container with menu items. The menu items contain the name of the first page that resides in SinglePageFlow.


Constraints

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

...