Versions Compared

Key

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

...

Normal flow navigation is meant to guide the user through a form or an application along a predefined route. However, when no such predefined path route exists, they system should support the user in navigating the application, by keeping track of the path they have travelled and current status in of the application as well. To help achive this we have know now introduced the FreeFlow navigation.

By applying specific construcs of Flowsflows, pages and containers the FreeFlow mechanisme can be applied using the building blocks we all already know. An adaptation in the validation engine of the Blueriq Runtime helps the user to navigate freely, while being attented to validation messages on pages, that can be solved along the way whenever the user want wants to or is able to. After which the whole flow can be completed.

Three parts of Blueriq are used to implement the FreeFlow navigation:

  1. There are two specific flowtypes that have to be used required to use this type of navigation and change to use behaviour of the validation engine differently
  2. We created a new navigation menu which is a specific container implementation, that works in conjunction with the new flow types and the validation engine
  3. The
  4. while in these type flows.
  5. A container type to use as the navigation menu,
  6. An event named 'previous' to support flowing back to the last visited menu item

To not interrupt the user's flow, when using the free flow mechanism, the validation engine handles all validation rules as non-blocking

...

. An additional change in the validation engine when using free flow is the validation of read-only fields. The usecase for such a validation is for  read-only

...

attributes that represent a conclusion based on multiple inputs. For instance a user can make deposits from multiple accounts, but the sum of the deposits must be 10.000 euro's or more to proceed. In that case a validation on the read-only filed 'sum of the deposits' could be used.

The required flow and containertypes The new flow typs and the new containertype can be found in the Blueriq Basic Modelling Library. The validation has been changed but only internally, so no specific installment of configuration has to done whether you want to use the FreeFlow or not.'previous' event can be defined in the model to support the automatic flow back. The changed behaviour in the validation engine is triggered when the applicaiton enters the flow of type FreeFlow, it's behaviour changes back to 'normal' navigation when that flow is finished. 

The basic construct in which FreeFlow should be modelled is as depicted in the figure below.

Because of the 'previous' event, which will route the user back to the last visited page, the return route is not modelled when using free flow naviation. Instead the return button on the page get's a Validate and Continue event named Previous. In free flow we can use the validate and continue event type while navigating the menu items since the validations will not hinder the user's flow but will only assist in keeping track of the pages the user has visited, but that contain invalid or incomplete information.

Each free flow menu item will correspond to a flow of type SinglePageFlow. This suggests that the single page flow can only contain a single page, which is not entirely true. We do expect the single page flow to have one 'landing' page for the menu item. From that landing page users can navigate to other pages in the single page flow, but they can not navigate to other menu items while doing that. So in the model the menu should be disabled. A typical usecase for this type of navigation is when the menu landing page contains an instance list and new instances will be added on a separate page. In this case the menu can temporarily be disabled when the user fills out the information in the instance and retuns to the menu landing page to continue the free flow.

How it used to be before FreeFlow

...

  • when the user might not be experienced in the topic at hand in the form and wants or needs to be able to fill in all information known to him as it arises
  • when there are a fixed number of high level topics that can be addressed by the user in any order. The navigation menu only allows for one levels of topics, sublevels or are not possiblesupported.
  • when validations should not limit the user in getting the known information into the form

...