:
Last modified: Mar 19, 2024

Process

Process Editor

This tool is under development, and functionality will be somewhat limited during the development period. Standard or custom process Control access to steps and actions Dynamic expressions to control process flow Based on the BPMN standard »

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. »

Module 5

In this module you are adding a process step in the application. Topics covered in this module: Process Confirmation step Authorization rules Validation Replace standard texts Tasks Vis/skjul innhold Expand process with a confirmation step An Altinn App has a process flow that describes the different steps in the flow. The standard flow for a newly created application consists of one task; the fill out step. Your task is to expand the standard process flow with a confirmation step as illustrated below. »

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. »

BPMN

BPMN is a standard for business process modeling that provides a graphical notation for specifying business processes in a Business Process Diagram, based on a flowcharting technique very similar to activity diagrams from Unified Modeling Language (UML). BPMN 2.0 has a standardized XML format for exchanging BPMN 2.0 processes between different parties and software. BPMN 2.0 supports defining collaboartion between two or more collaborators. BPMN 2.0 XML Extensibility In the formal specifications chapter 8. »

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> <! »

App Process

Process API Apps created in Altinn Studio have a seperate Process API that exposes functionality to clients to controll the process. See github for source code. Instance API Process Service The process service is where the business logic for BPMN processing is located. It is responsible for verifying state, and changes of state See github for source code. BPMN Reader BPMN reader is the component that parses BPMN process in apps. »