Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions content/altinn-studio/concepts/process/_index.nb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Prosess
linktitle: Prosess
description: Altinn apps har en forretningsprosess som er definert i filen process.bpmn.
tags: [prosess, oppgave, process, bpmn, tasks]
weight: 50
aliases:
- /nb/altinn-studio/guides/process/
---


Det må defineres minimum én oppgave i denne prosessen, og nyopprettede apps kommer med en "data"-oppgave som standard.
Det er en oppgave hvor man skal samle inn data, enten via skjema i appen eller via API-kall.

Mer om prosessen i [referansedokumentasjonen](/nb/altinn-studio/reference/process).

## Prosessoppgave (task)
Det er mulig å opprette sine egne prosessoppgaver, men det er sannsynlig at det kommer relativt store breaking changes på interfacet i neste major versjon (9.0).
Prosessoppgavene som følger med som standard, implementerer interfacet `IProcessTask`, og i prinsippet kan man lage egne implementasjoner av dette.
Det anbefales at man kontakter oss dersom dette anses som aktuelt.

## Systemoppgave (service task)
{{% insert "content/altinn-studio/guides/development/service-tasks/intro.nb.md" %}}

[Slik gjør du det](/nb/altinn-studio/guides/development/service-tasks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Hvordan konfigurere systemoppgaver i din Altinn-app
linktitle: Systemoppgaver
description: Nedenfor finner du veiledninger for systemoppgaver
tags: [systemoppgave, service task]
weight: 50
---

## Standard

Det følger med noen standard systemoppgaver:

[Generere PDF](/nb/altinn-studio/guides/development/service-tasks/pdf)

[eFormidling](/nb/altinn-studio/guides/development/service-tasks/eformidling)

## Egendefinert
Det er mulig å lage egne systemoppgaver og inkludere dem i prosessflyten.

[Slik gjør du det](/nb/altinn-studio/guides/development/service-tasks/custom)
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Egendefinert
tags: [altinn-apps, process, bpmn, task, service task, systemoppgave]
weight: 10
alias:
---
Comment on lines +1 to +6
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Front-matter key typo breaks Hugo aliases

The front-matter uses alias: instead of the expected aliases: array. Hugo will silently ignore this, so canonical/old URLs won’t redirect.

-alias: 
+aliases:
+# legg inn eventuelle gamle URL-stier her, f.eks.
+# - /nb/altinn-studio/guides/development/service-tasks/custom/
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: Egendefinert
tags: [altinn-apps, process, bpmn, task, service task, systemoppgave]
weight: 10
alias:
---
---
title: Egendefinert
tags: [altinn-apps, process, bpmn, task, service task, systemoppgave]
weight: 10
aliases:
# legg inn eventuelle gamle URL-stier her, f.eks.
# - /nb/altinn-studio/guides/development/service-tasks/custom/
---
🤖 Prompt for AI Agents
In content/altinn-studio/guides/development/service-tasks/custom/_index.nb.md at
lines 1 to 6, the front-matter key is incorrectly set as alias: instead of
aliases:. Change the key from alias: to aliases: and make sure it is an array,
even if it contains a single value, to ensure Hugo processes the aliases
correctly for URL redirection.


En egendefinert systemoppgave krever:
- En C#-implementasjon av interfacet `IServiceTask`
- Et nytt steg i prosessen
- Tilgangsstyring

### Implementasjon i C#

```csharp
using System.Threading.Tasks;
using Altinn.App.Core.Internal.Process.ProcessTasks.ServiceTasks;
using Altinn.App.Core.Models;
using Altinn.App.Models.model;
using Altinn.Platform.Storage.Interface.Models;

namespace Altinn.App.Code;

public class ExampleServiceTask : IServiceTask
{
public string Type => "exampleServiceTask";

public async Task<ServiceTaskResult> Execute(ServiceTaskContext context)
{
Instance instance = context.InstanceDataMutator.Instance;
DataElement dataElement = instance.Data.Find(x => x.DataType == "model");

var formData = (model) await context.InstanceDataMutator.GetFormData(new DataElementIdentifier(dataElement));

if (formData.property1 != "true")
return new ServiceTaskFailedResult();

return new ServiceTaskSuccessResult();
}
}
```

### Legg til en serviceTask-node i BPMN-prosessen.
Verdien i taskType må være like Type-property på C#-implementasjonen.

```xml
<bpmn:serviceTask id="ExampleServiceTask" name="Hilsen">
<bpmn:extensionElements>
<altinn:taskExtension>
<altinn:taskType>exampleServiceTask</altinn:taskType>
</altinn:taskExtension>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1yq6g64</bpmn:incoming>
<bpmn:outgoing>Flow_1xowpt0</bpmn:outgoing>
</bpmn:serviceTask>
```

### Tilgangsstyring
Systemoppgaver kjører med rettighetene til den brukeren som driver prosessen videre (process next). Standard systemoppgaver autoriseres som `write`-operasjoner. For at brukeren skal ha rettigheter til å kjøre en egendefinert systemoppgave må `Type` fra implementasjonen legges inn som en action i policy.xml.

Legg den på samme sted som andre actions den relevante brukeren skal ha tilgang til.
```
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">exampleServiceTask</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false" />
</xacml:Match>
</xacml:AllOf>
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: eFormidling
tags: [altinn-apps, process, bpmn, task, service task, eformidling, systemoppgave]
weight: 10
---

En systemoppgave for å sende instansdata via eFormilding følger med appen som standard, og kan legges til som et steg i prosessen for å tas i bruk.

{{<notice warning>}}
Tidligere lå ikke denne funksjonaliteten i en systemoppgave, men var bakt inn i den grenerelle koden for å endre prosesssteg. Dersom appen din ble satt opp før versjon 8.7, så bør du deaktivere funksjonalitenen som kjøres utenfor prosessdefinisjonen.
{{</notice>}}

Slik legger du til eFormidling i prosessen:
```xml
<bpmn:serviceTask id="Task_4" name="eFormidling">
<bpmn:extensionElements>
<altinn:taskExtension>
<altinn:taskType>eFormidling</altinn:taskType>
</altinn:taskExtension>
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_5assd2s</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_2asasd1</bpmn:outgoing>
</bpmn:serviceTask>
```

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions content/altinn-studio/guides/development/service-tasks/intro.nb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
hidden: true
---

{{%notice info%}}
Systemoppgaver krever minst versjon 8.7.0 av Altinn NuGet-pakkene.
{{%/notice%}}

En systemoppgave er en prosessoppgave som kjører automatisk på serveren. Prosessen går som hovedregel videre til neste steg når den har kjørt ferdig, men dette kan systemoppgaven definere selv. Eksempler på standard systemoppgaver PDF-generering og eFormidling.

Tjenesteeiere kan implementere sine egne systemoppgaver og legge de som steg i appens prosess.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: PDF
tags: [altinn-apps, process, bpmn, task, service task, pdf, systemoppgave]
weight: 10
---

Generering av PDF følger med appen som en standard systemoppgave som kan legges til som et steg i prosessen.

{{<notice warning>}}
Tidligere lå ikke denne funksjonaliteten i en systemoppgave, men var bakt inn i den grenerelle koden for å endre prosesssteg. Dersom appen din ble satt opp før versjon 8.7, så bør du deaktivere funksjonalitenen som kjøres utenfor prosessdefinisjonen.

Det gjør du ved å slå av "enablePdfGeneration" på alle datatyper.
{{</notice>}}


Slik legger du til PDF-generering i prosessen:
```xml
<bpmn:serviceTask id="Task_3" name="PDF">
<bpmn:extensionElements>
<altinn:taskExtension>
<altinn:taskType>pdf</altinn:taskType>
<altinn:pdfConfig>
<altinn:filename>pdfFileNameTextResourceKey</altinn:filename>
</altinn:pdfConfig>
</altinn:taskExtension>
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_0c458hu</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_5assd2s</bpmn:outgoing>
</bpmn:serviceTask>
```

Innholdet i PDF-en definerer du ved å opprette et layout-set for systemoppgaven, på samme måte som for andre prosessoppgaver.
```json
{
"$schema": "https://altinncdn.no/toolkits/altinn-app-frontend/4/schemas/json/layout/layout.schema.v1.json",
"data": {
"layout": [
{
"id": "SummaryTask1",
"type": "Summary2",
"target": {
"type": "layoutSet",
"taskId": "Task_1"
}
},
{
"id": "SummaryTask2",
"type": "Summary2",
"target": {
"type": "layoutSet",
"taskId": "Task_2"
}
}
]
}
}
```
4 changes: 2 additions & 2 deletions content/altinn-studio/reference/process/_index.en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Process handling
description: The Application template supports defining a business process for the digital service.
title: Process
description: The application has a process that can be modified according to needs
tags: [altinn-apps, process, bpmn]
weight: 60
aliases:
Expand Down
4 changes: 2 additions & 2 deletions content/altinn-studio/reference/process/_index.nb.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Prosess handling
description: Applikasjons templaten støtter å definere en foretnings prosess for digitale tjenester
title: Prosess
description: Applikasjonen har en prosess som kan tilpasses etter behov
tags: [altinn-apps, process, bpmn]
weight: 60
---
Expand Down
4 changes: 2 additions & 2 deletions content/altinn-studio/reference/process/tasks/_index.nb.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Prosess oppgaver
description: Definere prosess oppgaver
title: Prosessoppgaver
description: Definere prosessoppgaver
tags: [altinn-apps, process, bpmn, task]
weight: 10
---
Expand Down