Forms
HomeIntegrityControlSolutionsManagement Center
3.1.1 Forms
3.1.1 Forms
  • The service
    • Overview
      • Forms and IAM
      • Related products to Forms
    • About this release
      • Release notes
      • Breaking changes
    • Key components
      • Flow
        • Authenication & authorisation
      • Step
        • Layout
      • Control
        • Basic controls
          • Input
            • Properties
          • Markdown
            • Properties
          • ValuePicker
            • Properties
        • Advanced controls
          • ActiveDirectoryGroupEditGroupMember
            • Properties
          • ActiveDirectoryUserEditGroupMember
            • Properties
          • ActiveDirectorySingleSelect
            • Properties
          • Attestor
            • Properties
          • EntraGroupEditGroupMember
            • Properties
          • EntraGroupSelect
            • Properties
          • EntraUserEditGroupMember
            • Properties
          • EntraUserSelect
            • Properties
          • Selector
            • Properties
          • TextArea
            • Properties
    • Installation
      • Container
      • Linux
      • Windows
  • Modules
    • Forms
      • Properties
    • Pipes
      • Properties
      • Form valves
        • WorkOrderCreate
    • Other modules
  • ATTESTATION
    • Setup
  • User interface (UI)
    • Overview
Powered by GitBook
On this page
  • Setting up a flow
  • Before step 1
Export as PDF
  1. The service
  2. Key components

Flow

See a Flow as an app. It defines things like number of steps, path of access and if it is public or protected by authentication. A Flows aims to guide end-users performing a well defined IAM task.

Setting up a flow

The Flow is defined by a JSON file. Name of the file can be anything, but flow.json is a recommended name. Format of the data inside must be either JSON or JSONC. The flow.json file will be picked up, loaded and exposed by the Forms module.

Name
Description
Default
Mandatory

Last part of the URL how to access the flow. Must be unique within the forms module.

N/A

If flow can be accessed without any authentication (true/false).

false

Array of named roles user must have in order to access the flow, "one of"

Empty array: []

Should progress bar be visible (true/false).

true

Should user menu be visible (true/false).

true

Additional logging options. Note. This can be added to forms module and will then be available in all flows.

Empty array []

Steps to include for the flow. Recommendation is using @include directive for better overview.

Empty array []

Pipe executed before first step.

N/A

Pipe to execute when last step is complete.

N/A

Step used after last regular step is executed with success. Used for user notification etc. Do not out any logic here.

N/A

Step used after last regular step is executed with with failure. Used for user notification etc. Do not out any logic here.

N/A

Should next button be enabled (true/false).

true

Text on "Next" button

Next

Should save button be enabled (true/false).

true

Text on "Save" button

Save

Should restart button be enabled (true/false).

true

Text on "Restart" button

Restart

{
    "name": "demo",
    "public": false,
    "require_roles": [
        "role00"
    ],
    "enable_progressbar": false,
    "show_user_menu": true,
    "verbose_logs": [
        "flow",
        "session"
    ],
    "buttons": {
        "next_button": {
            "enabled": true,
            "text": "flow00.next_button"
        },
        "save_button": {
            "enabled": true,
            "text": "flow00.create_button"
        },
        "restart_button": {
            "enabled": true,
            "text": "flow00.restart_button"
        }
    },
    "steps": "@include:steps/*.json",
    "pre_pipe": "forms.flow00.pre_pipe",
    "pipe": "forms.flow00.finalize",
    "incomplete": "@include:incomplete.json",
    "summary": "@include:steps/summary.json"
}

Before step 1

Sometimes it is necessary to perform some kind of logic before first step is rendered. Typically used for validation and or collecting data reqired in step 1.

For case like this use pre_pipe.

In order to consume data in subsequent steps, make sure the pipe returns one item. Data in this item will be accessible using {{flow.xxx}}

PreviousKey componentsNextAuthenication & authorisation
name
public
require_roles
enable_progressbar
show_user_menu
verbose_logs
"flow",
"session"
steps
pre_pipe
pipe    
summary
incomplete
buttons.
next_button
.enabled
buttons.
next_button.
text
buttons.
save_button.
enabled
buttons.
save_button.
text
buttons.
restart_button.
enabled
buttons.
restart_button.
text