Hva er nytt?
Oversikt over endringer som ble introdusert i versjon 4.
4.34.1 (06.04.2022) - Støtte for forsendelsestype på eFormidling forsendelse
Denne releasen muliggjør spesifisering av forsendelsestype.
Utvid eFormidling
-seksjonen i applicationmetadata.json med den nye egenskapen dpfShipmentType
som vist nedenfor.
"eFormidling": {
...
"dpfShipmentType": "altinn3.skjema"
}
4.33.0 (15.03.2022) - Støtte for å slå av PDF generering for skjema
- Denne releasen gjør det mulig å slå av PDF generering for enkeltskjema i en applikasjon.
Dette gjøres ved å sette flag i application metadata på en gitt datatype. Standard er true
Eksempel.
{
"id": "melding",
"allowedContentTypes": [ "application/xml" ],
"maxCount": 1,
"appLogic": {
"autoCreate": false,
"ClassRef": "App.IntegrationTestsRef.Data.apps.dibk.nabovarsel.Melding"
},
"taskId": "Task_1",
"enablePdfCreation" : false
}
4.32.0 (14.03.2022) - Person oppslagstjeneste
Register applikasjonen i platform har blitt oppdatert med et nytt endepunkt som kan brukes til å verifisere et personnummer. Denne versjonen av NuGet pakkene til en app har fått implementert en oppslagstjeneste som kan brukes til å gjøre oppslag mot dette nye endepunktet i Register.
4.31.1 (10.03.2022) - Fikset bug relatert til prefill og berriket instance events med personnumer
- Denne releasen løser en bug der prefill av samme verdi til mer enn ett felt kaster en duplicate key exception.
- Personnummer legges nå til i platformUser objektet for instance events.
4.30.0 (07.03.2022) - Støtte for readiness og livenessprober
Det er nå lagt til et endepunkt for helsesjekk i applikasjonen. Dette benyttes blant annet av Kubernetes til å vite når en applikasjonsinstans er klar til å settes inn i last.
For alle applikasjon opprettet før 16.03.2022 må det gjøres manuelle endringer for å aktivere readiness og liveness probene.
I
App/Startup.cs
Legg til linjen
using Altinn.App.Core.Health;
blant de andre using-referansene øverst i filen.I metoden
ConfigureServices
legger du til linjenservices.AddHealthChecks().AddCheck<HealthCheck>("default_health_check");
I metoden
Configure
legger du til linjenapp.UseHealthChecks("/health");
I
deployment/Chart.yaml
skal referansen til Studio helm charten oppdateres til versjon2.1.0
Endelig resultat bør likne på dette:
apiVersion: v1 description: A Helm chart for Kubernetes name: deployment version: 1.1.0 dependencies: - name: deployment repository: https://charts.altinn.studio/ version: 2.1.0
I
deployment/values.yaml
legger du tilreadiness: enabled: true liveness: enabled: true
MERK antall innrykk er viktig i filen. readiness
og liveness
skal stå på nivået under deployment
og på samme nivå som volumeMounts
og volumes
4.27.0 (23.02.2022) - Sikre kodelister
Lagt til støtte for sikre kodelister Rettet url og parameter logik i GetInstanceEvents Endret redirect url fra string til base64 encoded string
4.26.0 (2022-02-10) - Forbedringer knyttet til PDF og tekstressurser
Nyinnførte tekstressurs appName
benyttes som tittel på PDF.
Lokal kopi av tekstressurser benyttes i PDF i stedet for tekstressurser fra Platform Storage.
4.25.0 (2022-01-24) - Dynamiske konfigurasjonsverdier for frontend
Det er blitt laget en ny seksjon kalt FrontEndSettings
for bruk i appsetting.{miljø}.json
filer. Dette eksponeres til frontendapplikasjonen som applicationSettings
og er en dynamisk liste med verdier. I praksis betyr dette at FrontEndSettings
kan utvides med innslag uten at man må gjøre kodeendringer i backend. Dette gjør det mulig for backend å tilby miljøspesifikke verdier til frontend.
4.24.0 (2020-01-21)
Støtte for språk og query parametre inn til dynamiske kodelister. Ny måte å implementere dynamiske kodelister ved hjelp av IAppOptionsProvider. Se dokumentasjon
4.23.0 (2022-01-15) - Støtte for BPMN Gateways
Restrukturering av prosessmotor og støtte for BPMN gateways.
4.22.0 (2022-01-07) - Included access token generation for eFormidling integration point
Integrasjonspunktet som benyttes for å sende instansdata via eFormidling krever nå et gyldig tilgangstoken. Applikasjonstemplaten er nå oppdatert til å fylle alle krav for integrasjonspunktet.
4.21.0 (2021-12-01) - Støtte for lagring av brukernavn for instanseier
Dersom en selvidentifisert bruker instansierer en instans vil dere brukernavn lagres i metadataen for instanseier.
4.20.0 (2021-11-18) - Støtte for egendefinert redirect URL når man avslutter appen
Lagt til støtte for ett spesifikt query parameter (returnUrl) for å videresende brukeren til den spesifiserte URLen når brukeren avslutter appen ved å trykke på avslutt-knappen i Altinn 3 appen. Les mer om dette her
Relatert til 7183
4.19.0 (2021-11-15) - Added support for instantiation based of a copy of an archived instance
Lagt til støtte for å instansiere en applikasjon basert på en arkivert instans. Det nye endepunktet er dokumentert her. Merk at støtte for kopiering av instans i meldingsboksen og konfigurasjon av funksjonaliteten via Altinn Studio enda er under utvikling.
Relatert til 6695
4.18.0 (2021-11-10) - Støtte for OIDC konfigurasjon i App
Lagt til støtte for å konfigurere opp en spesifikk OIDC provider for en app.
Relatert til 7173
4.17.2 (2021-10-27) - Lagt inn API for prefill i form av nøkkel-verdi par ved instansiering
Det er nå mulig å angi prefill i form av nøkkel-verdi par ved instansiering av en app. Støtten for dette er innført i et nytt API endepunkt.
Det er også mulig å bruke prefill verdiene i app spesifikk kode. Dette vil kreve at app’en implementerer siste versjon av App.cs
. Legg til følgende metode:
public override async Task RunDataCreation(Instance instance, object data, Dictionary<string, string> prefill)
{
await _instantiationHandler.DataCreation(instance, data, prefill);
}
I tillegg må InstansiationHandler.cs
oppdateres med methoden:
public async Task DataCreation(Instance instance, object data, Dictionary<string, string> prefill)
{
await Task.CompletedTask;
}
4.16.0 (2021-10-07) - Nytt app API for tagging av data elementer
Det er blitt laget støtte for å lagre tags (stikkord) på et data element. I den sammenheng er det laget API endepunkter for å liste tags, legge til en tag, og sletting av tag.
Denne endringer tilhører saken 6861 på github.
Det er mer informasjon om endringen under app API dokumentasjon.
4.15.2 (2021-10-04) - Nytt endepunkt for å hente ut aktive instanser
Altinn Apps eksponerer nå et endepunkt for å hente ut aktive instanser for en gitt avgiver. Det nye endepunktet er tilgjengelig på {org}.apps.altinn.no/{org}/{app}/instances/{instanceOwnerPartyId}/active.
Denne endringen tilhører issue 6767.
4.14.1 (2021-09-22) - Fikset en bug som medførte 500 error hvis instance ikke finnes
Det var en bug i koden som medførte 500 error hvis man spurte etter en ikke eksisterende instance. Dette er nå blitt fikset på en måten som gjør at API isteden nå svarer med 403. Open API spesifikasjon for aktuelt endepunkt har blitt oppdatert med mulige status koder.
4.14.0 (2021-09-13) - Delvis støtte for navnerom(namespace) i XML
Koden som deserialiserer XML inn i objekter har blitt oppdatert til å håndtere navneromsdeklarering i rotelementet til et XML-dokument.
Eksempel:
<Skjema xmlns="urn:no:altinn:skjema:v1">
<Navn>Altinn</Navn>
</Skjema>
Deserialisering skjer når et eksternt system bruker et app API endepunkt til å sende inn et nytt skjema, overskrive et eksisterende skjema, og når en app henter et skjema dokument fra “blob-storage”.
Endringen blir ikke automatisk tatt i bruk i alle apps som tar i burk denne versjonen av NuGet pakkene. For at endringen skal fungere må C# klassen som representerer modellen/skjema bli oppdatert. Klassen må bli dekorert med et XmlRootAttribute
hvor det er angitt et navnerom.
Eksempel:
[XmlRoot(ElementName = "Skjema", Namespace = "urn:no:altinn:skjema:v1")]
public class Skjema {
[MaxLength(100)]
[XmlElement("Navn")]
public string Navn { get; set; }
}
Denne endringen må foreløpig bli utført manuelt i både gamle og nye modeller. Modeleditoren i altinn.studio har ikke blitt oppdatert til å gjøre det automatisk.
4.13.0 (2021-09-03) - Hendelse for endring av substatus
Det å endre substatus på en instanse trigger nå en event av typen app.instance.substatus.changed
. Dette kan eksterne systemer abonnere på via Events tjenesten.
Dette løser sak #6691
4.12.0 (2021-08-27) - Identitetsdata inkludert i request telemetri
Logging av requests til Application Insights nå inkluderer et lite set med identifiserende data for å mer effektivt kunne spore kilden til uvanlige requester. Følgende data punkter blir registrert:
- partyId
- authentication level
- userId
- organisationNumber
Dette løser sak #5983
4.11.1 (2021-08-26) - Hindre caching av data for apps uten “state”
Det er lagt inn kode som gir hint til nettleser om å ikke cache data som blir brukt i apps uten state.
Dette løser #6532
4.11.0 (2021-08-03) - Support for disabling reportee selection in Altinn Portal
Apps now support adding query parameter DontChooseReportee=true
to disable the reportee selection when an unauthorized user accesses an app.
The result being that the user will represent themselves and be routed directly to the application after login.
This release solves issue #6573.
4.10.2 (2021-07-15) - Text resources are loaded locally
- The app will now load texts from the locally stored text resource files (config/texts/*) instead of retrieving them from Storage. Texts are still uploaded to Storage during deploy. The change is to remove unnecessary calls to Storage and to avoid an issue with caching that prevented new texts from being used immediately. #6466, #6415
- Fixed a bug where a filename with space in it could lead to a crash. #6421
- New apps created after the v2021.29 release will provide security headers like X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, and Referer-Policy. To activate this in existing apps follow these steps:
- Open the
App/Startup.cs
file. - At the top of the file add the namespace reference:
using Altinn.App.Api.Middleware;
- Find the
Configure
method and add the statement:app.UseDefaultSecurityHeaders();
Add it right before existingapp.Use*
statements. E.g. beforeapp.UseRouting();
- Open the
4.9.2 (2021-07-08) - Fixed messages from multipart request validation
Validation messages from multipart request validation was misleading. This release solved issue #6418.
4.9.1 (2021-07-02) - Bugfix for errors in multipart validation
Fixed a bug that caused validation messages to show C# type of DataType rather than DataTypeId. Issue #6418
4.9.0 (2021-06-29) - Support for marking a single field validation error as fixed
It is now possible to mark a previous validation error as fixed by using the prefix *FIXED*
in front of the original error.
documentation on how to implement the functionality (in Norwegian )
4.8.0 (2021-06-22) - Application version number available in AppSettings
During app deployment an environment variable with the app version number/name is added to the app runtime environment. This version information can now be retrieved in any controller or service through the AppSettings configuration object. Just add a dependency on AppSettings
into the class and access the new property called AppVersion
.
4.7.1 (2021-06-15) - Adjustments to response headers
Some of the controllers exposed by the applications have been modified to not allow caching and/or storage of their responces in the client.
4.7.0 (2021-06-08)
Altinn Apps now authorize access for statless apps.
Altinn Apps now have two new application events where application developers can add data processing logic. calculation, population, and more.
In this update the RunCalculate application event is made obsolete/deprecated. It’s recommended that Apps are updated to use RunProcessDataWrite and RunProcessDataRead instead. Calls to the RunCalculate method will be removed in a future update.
The process to update is
- Add the DataProcessing folder and DataProcessingHandler class from our app template to your app.
- Update App.cs. Add a class field for DataProcessingHandler and copy new methods ( RunProcessDataRead and RunProcessDataWrite) from App.cs
- Move logic from calculation handler to DataProcessinghandler
- Remove RunCalculation method from App.cs
- Remove CalculationHandler when code has been moved to DataProcessingHandler.
- Compile and test your app.
See details about data processing here
4.6.2 (2021-06-01) - Duplicate keys in options causing crash
This release has a fix for a crash related to PDF rendering when an app has options with duplicate entries. #5887
4.6.1. (2021-05-21) Changed alternative subject
Altinn Apps now uses org instead of organization as subject when publishing events.
4.6.0 (2021-05-11) - Apps now support data fields
Altinn Apps now support data fields.
Data fields allows for adding data values, from either form fields or a custom source, to the instance object.
Form data can be added by configuring data fields in applicationmetadata.json
while custom sources require coding.
Documentation on how to add data values to an instance can be found here.
4.5.2 (2021-05-04) - Endpoints for stateless data elements exposed through app. Bug stopping local testing fixed
Altinn Apps now expose endpoints for creating, prefilling and running calculations on stateless data elements. A stateless data element entails there is no link to an instance or instance owner, and the data is simply presented to the end user, but not persisted in any database.
In addition, a bug breaking apps running with localtest intoduced in 4.4.1 has been fixed.
Information on the new endpoints can be found in the swagger exposed by each application https://{org}.apps.altinn.no/{org}{app}/swagger
4.4.1 (2021-04-30) - Ask user to upgrade security level
An app would show the “unknown error” message if a user were trying to access an instance with a security level that was too low for the instance. This has been fixed. The user is now sent to authentication with the option to pick an authentication method that provides a higher security level. The fix targets the GET instance endpoint specifically.
4.4.0(2021-04-27) - Performance fix
Improved performance.
4.3.0 (2021-04-28) - Apps now support presentation fields
Altinn Apps now support presentation fields.
By specifying presentation fields in applicationmetadata.json
, speficied data values from the form data
will be stored on the instance in order to show them along with the app title in the Altinn messagebox.
Further documentation on how to configure presentation fields is found here.
This change is related to this epic.
4.2.0 (2021-04-19) - Possible to integrate an app with eFormidling
Altinn Apps now support integration with eFormidling. Documentation on how to set up an application to use eFormidling will be published once an integration point for eFormidling is set up in Altinn Platform.
4.1.0 (2021-04-07) - Add new property with updated data to response for PUT to DataController
During PUT of data to DataController ({org}/{app}/instances/{instanceOwnerPartyId:int}/{instanceGuid:guid}/data
), any calculations that are
defined by the apps are run, and data is potentially updated before being saved.
Previously, the response returned only the metadata for the updated data element, and a GET to fetch the updated data was necessary.
In this version, a dictionary of all the fields that have updated data from calculations is returned as a new parameter
in the API response (in addition to the data element metadata), so that clients do not need to perform the additional GET request in order
to get the updated data.
This change is related to this issue.
4.0.3 (2021-03-23) - Fixed a bug reading filename from Content-Disposition
- The specification for Content-Disposition specify that
filename
should be in quotes. This was not supported by the app backend API, causing requests following the specification to fail. This has been fixed. - Added support for
filename*
(FilenameStar). If Content-Disposition contain bothfilename
andfilename*
, the value defined byfilename*
will be used.
4.0.1 (2021-03-15) - Upgraded application to .Net 5 and grouped references of Altinn App and Altinn Platform services in Startup.cs
Altinn.App.* librarires target .Net 5 now, which requires that the application does the same. In addition we have created two methods for referencing all app and platform sevices in Startup.cs
See breaking changes for how to update you app to be compatible with this version.