Versions Compared

Key

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

...

FreeFlows are used when sequential flowing does not fit the means 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.

...

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 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 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 . When navigating when between SinglePageFlows by using the navigation actions of , the navigation menu the outer flow of the FreeFlow SinglePageFlows is not used as the Runtime jumps between the SinglePageFlows. If logic is required make sure that is it 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 navigable application flow 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 flow can 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 SinglePageFlow in the FreeFlow SinglePageFlows determines the ordering of the navigation menu. In case that a branch of SinglePageFlow SinglePageFlows is behind a condition node and it evaluates to false the whole branch is disabled in the navigation menu, once the condition becomes true the branch is navigable from the navigation menu. 

A free navigable application flow still allows the user to navigate the application 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 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 event the event "PreviousPage", this button does not need to be connected.

...

Validations in a free navigable application 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 applicationflow. This attribute can be used to check if the FreeFlow 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 blocked



Constraints

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

  1. The FreeFlow exposed flow must be an exposed flowof type FreeFlow.
  2. The FreeFlow consists several flows of type SinglePageFlow that 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 first page of a SinglePageFlow will be used to populate the AQ_NavigationMenu container.
  6. The AQ_NavigationMenu container should always modelled inside the pages of the SinglePageFlow, or it will not be displayed.
  7. Condition nodes modelled in a FreeFlow between SinglePageFlows will acts 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 a an EndNode or an non interactive FlowNode for the navigation to work as expected.that leads to an EndNode