Last modified: Mar 19, 2024

BPMN

Process tasks

Task types Data Task A data task is where the user/system accessing the digital service through UI or API can read, write and modify data related to a digital service. A data task requires that all data for a given process task is valid and that the user/system has added all the necessary data. The data validation is part of the standard logic in the template. Application developers can add custom validation for each data element and task. »

Flowcontrol

Exclusive Gateways Exclusive gateways allow a different path in the process based on direct user input, data, or other aspects available from code. Gateways controlling flow with expressions Prerequisites Your application uses version 8.0.0 or newer of the Altinn nugets. Application with a process containing a exclusive gateway Controlling flow out of a gateway based on data provided by the user using expressions It is possible to control what flow is chosen out of a gateway based on data that was provided by a user in a previous task using the same expression language used to hide/show elements in the UI. »

Actions

Actions are used to define what a user can do in a task. Actions are defined in the process file (BPMN) and have authorization rules attached to them defined in the policy file (XACML) to controll who can execute them. We have two types of actions: Server actions Arbitrary code that can be executed on the server as part of the process. These actions are typically used to help the user fill out the form by prefilling data, perform calculations, call external api’s etc. »

Process actions

In version 8 of the app nugets actions in tasks were introduced. This makes it possible for developers to associate ActionButtons in the UI with UserActions in the backend. It is possible to authorize each action in a task separately in the policy file. Actions with special altinn logic connected to them write Default action that is performed when a data or feedback task is submitted. This is also the permission a user needs to update data in the application. »

Process handling

The template follows the BPMN 2.0 standard. Supported process elements Process tasks tasks that require users or systems to perform actions before the process continues Flow control controls navigation through a process with gateways Process Examples A process with data task A process with data and confirmation tasks A process with data, confirmation, and feedback task A process with data and confirmations and optional confirmation A process with data and confirmation and optional confirmation with options to go back to the data task Process configuration In Altinn Studio, the App developer can configure the process. »

Exclusive gateways

Prerequisites Your application uses version 7.1.0 or newer of the Altinn nugets. Application with a process containing a exclusive gateway Example process with exclusive gateways <?xml version="1.0" encoding="UTF-8"?> <bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:altinn="http://altinn.no" id="Altinn_SingleDataTask_Process_Definition" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="10.2.0"> <bpmn:process id="SingleDataTask" isExecutable="false"> <bpmn:startEvent id="StartEvent_1"> <bpmn:outgoing>Flow_s_t1</bpmn:outgoing> </bpmn:startEvent> <bpmn:sequenceFlow id="Flow_s_t1" sourceRef="StartEvent_1" targetRef="Task_1" /> <bpmn:task id="Task_1" name="Utfylling" altinn:tasktype="data"> <bpmn:incoming>Flow_s_t1</bpmn:incoming> <bpmn:outgoing>Flow_t1_g1</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_t1_g1" sourceRef="Task_1" targetRef="Gateway_1" /> <bpmn:exclusiveGateway id="Gateway_1"> <bpmn:incoming>Flow_t1_g1</bpmn:incoming> <bpmn:outgoing>Flow_g1_g2</bpmn:outgoing> <bpmn:outgoing>Flow_g1_t2</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_g1_g2" sourceRef="Gateway_1" targetRef="Gateway_2" /> <bpmn:sequenceFlow id="Flow_g1_t2" sourceRef="Gateway_1" targetRef="Task_2" /> <bpmn:task id="Task_2" name="Bekreftelse" altinn:tasktype="confirmation"> <bpmn:incoming>Flow_g1_t2</bpmn:incoming> <bpmn:outgoing>Flow_t2_g2</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_t2_g2" sourceRef="Task_2" targetRef="Gateway_2" /> <bpmn:exclusiveGateway id="Gateway_2"> <bpmn:incoming>Flow_g1_g2</bpmn:incoming> <bpmn:incoming>Flow_t2_g2</bpmn:incoming> <bpmn:outgoing>Flow_g2_end</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_g2_end" sourceRef="Gateway_2" targetRef="EndEvent_1" /> <bpmn:endEvent id="EndEvent_1"> <bpmn:incoming>Flow_g2_end</bpmn:incoming> </bpmn:endEvent> </bpmn:process> <! »

Business Process Processing Capabilities

A application deployed to Altinn Apps will typical have a business process that users and systems need to follow. Apps created in Altinn Studio uses BPMN 2.0 standard to describe the business process and the app will have functionality to support different types of tasks in the process. The process is defined by the application developer in Altinn Studio. When a new app is created it a basic process is created. »

Signing task

⚠️ Signing task require version 8.0.0 or newer of app-libs Setting up a signing task in the process file requires a bit more work than a regular data, confirm or feedback task. This page will walk you through what you need to configure and how that is connected to other parts of the configuration. Defining and configuring a signing task A signing task in its simples format looks something like this: »